Описание
Инструмент для создания графиков на чертеже в программе КОМПАС-3D.

Использование
Зависимости
- КОМПАС-3D v21 и выше.
- Python 3.2 и выше.
- NumPy
Опционально: 1. pandas 2. openpyxl
Использование с установкой
- Скачайте последний релиз проекта
artchart-{version}.tar.gzиз репозитория (раздел релизы на gitflic). -
Для установки откройте командную строку в папке загрузки и введите следующую команду:
python -m pip install artchart-{version}.tar.gz - Создайте новую директорию для сохранения скриптов. В этой директории создайте новый файл скрипта, например
test1.py. - Скопируйте в файл
test1.pyкод инициализации API КОМПАС-3D (*). - Скопируйте код из примера (
examples/A00_simple_line.cdm) в конец файлаtest1.py. - Откройте КОМПАС-3D, создайте новый файл чертежа (файл должен быть активным).
- Запустите скрипт
test1.pyлюбым удобным вам способом. *) При запуске, скрипт создаст график на новом виде активного документа-чертежа.
Использование без установки
- Скачайте исходный код проекта из репозитория.
- Создайте новую директорию для сохранения макросов. В этой директории создайте новый файл скрипта, например
test1.py. - Скопируйте в файл
test1.pyкод инициализации API КОМПАС-3D (*). - Скопируйте код из примера (
examples/A00_simple_line.cdm) в конец файлаtest1.py. -
В файле
test1.pyраскомментируйте следующие строчки и добавьте абсолютный путь до кода библиотеки:# import sys # sys.path.append(r"/абслютный/путь/до/artchart/src/")Например:
import sys sys.path.append(r"C:/Users/user/Documents/Dev/artchart/src/") -
Установите библиотеку
pywin32. Для этого в командной строке введите:python -m pip install pywin32 - Откройте КОМПАС-3D, создайте новый файл чертежа (файл должен быть активным).
- Запустите скрипт
test1.pyлюбым удобным вам способом. *) При запуске, скрипт создаст график на новом виде активного документа-чертежа.
Код инициализации API КОМПАС-3D (*)
- Откройте КОМПАС-3D, создайте новый файл чертежа.
- В панели
Приложения->КОМПАС-Макро->Макросы. Далее нажимаемСоздать. - Задайте имя для файла макроса, например
test1.cdm, и нажмите сохранить. Далее откроется встроенная среда разработки PyScripter. -
В среде разработки откроется созданный файл
test1.cdm:import pythoncom from win32com.client import Dispatch, gencache . . . # Какой-то мутный код . . . -
Для работы скрипта необходимо из этого файла скопировать следующие строчки (Инициализация API КОМПАС-3D):
import pythoncom from win32com.client import Dispatch, gencache kompas6_constants = gencache.EnsureModule("{цифры}", 0, 1, 0).constants kompas6_constants_3d = gencache.EnsureModule("{цифры}", 0, 1, 0).constants kompas_api7_module = gencache.EnsureModule("{цифры}", 0, 1, 0) application = kompas_api7_module.IApplication(Dispatch("Kompas.Application.7")._oleobj_.QueryInterface(kompas_api7_module.IApplication.CLSID, pythoncom.IID_IDispatch)) Documents = application.Documents kompas_document = application.ActiveDocument kompas_document_2d = kompas_api7_module.IKompasDocument2D(kompas_document)
Ограничения (To-Do)
- Нет возможности задать координаты для создания вида графика.
- Можно создавать только графики из прямых линий (добавить тип scatter).
- Не поддерживается файл чертежа-фрагмент (.frw).
- Линии могут строится за границей поля.
- Нет возможности автоматически задавать стиль линий графика.
- Нет возможности автоматически создавать подписывать оси и линии.
- Нет возможности подписывать масштаб графика (зачем это вообще в современном мире?).
Протестированно
- КОМПАС-3D Учебная версия 23.0.3.2285 (64-разрядная версия)
-
КОМПАС-3D Учебная версия 23.0.1.2182 (64-разрядная версия) Отображается ошибка далее при открытии PyScripter.
Could not write file "C:\ . . . \remserver.py" and cannot use a remote Python engineПри нажатии
abortвсё работает нормально. -
КОМПАС-3D Учебная версия 21.0.1.1158 (64-разрядная версия) Не работает группировка объектов графика по макроэлементам и слоям.