Создание чертежа с помощью API.

Автор riket, 22.09.19, 20:45:09

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

riket

Приветствую. Удалось успешно запустить компас следующим кодом(нашёл на habr): 

def get_kompas_api7():
    module = gencache.EnsureModule("{69AC2981-37C0-4379-84FD-5DD2F3C0A520}", 0, 1, 0)
    api = module.IKompasAPIObject(
        Dispatch("Kompas.Application.7")._oleobj_.QueryInterface(module.IKompasAPIObject.CLSID,
                                                                 pythoncom.IID_IDispatch))
    const = gencache.EnsureModule("{75C9F5D0-B5B8-4526-8681-9903C567D2ED}", 0, 1, 0).constants
    return module, api, const
module7, api7, const7 = get_kompas_api7()   # Подключаемся к API7
app7 = api7.Application                     # Получаем основной интерфейс
app7.Visible = True                         # Показываем окно пользователю (если скрыто)
app7.HideMessage = const7.ksHideMessageNo   # Отвечаем НЕТ на любые вопросы программы
print(app7.ApplicationName(FullName=True))  # Печатаем название программы

Затем хотел создать пустой чертеж, но тут возникли проблемы, сначала пытался сделать это сам, но затем здесь же, но другой теме нашёл следующий код:

KompasConst = gencache.EnsureModule('{75C9F5D0-B5B8-4526-8681-9903C567D2ED}', 0, 1, 0).constants
KompasObject = Dispatch('Kompas.Application.5', None, '{E36BC97C-39D6-4402-9C25-C7008A217E02}')
ksDocumentParam = KompasObject.GetParamStruct(KompasConst.ko_DocumentParam)
ksDocumentParam.type = 3
ksDocument2D = KompasObject.Document2D()
ksDocument2D.ksCreateDocument(ksDocumentParam)

Однако при запуске выдаёт следующую ошибку:

Traceback (most recent call last):
  File "C:/Users/Yaroslav/Desktop/python/proverka.py", line 23, in <module>
    ksDocument2D = KompasObject.Document2D()
  File "C:\anaconda\lib\site-packages\win32com\client\dynamic.py", line 197, in __call__
    return self._get_good_object_(self._oleobj_.Invoke(*allArgs),self._olerepr_.defaultDispatchName,None)
pywintypes.com_error: (-2147352573, 'Член группы не найден.', None, None)


Кто знает в чём проблема?

p3452

Для освоения простеньких операций есть хороший инструмент - "Приложения -> КОМПАС-Макро"...
Вот, что можно увидеть если
- создать новый чертеж
- начертить прямоугольник
- начертить круг
- начертить отрезок диагональю в прямоугольнике.
+ Благодарностей: 1

pr0100

+ Благодарностей: 1

riket

Цитата: p3452 от 22.09.19, 21:55:13
Для освоения простеньких операций есть хороший инструмент - "Приложения -> КОМПАС-Макро"...

Цитата: pr0100 от 22.09.19, 23:54:12
Посмотрите к примеру эту запись

Спасибо, выручили.