Запуск макроса (форма с утилитами) из компаса

Автор Mary, 29.06.18, 10:26:23

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

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

Mary

День добрый!

Макрос написан, через дебагер запускается без ошибок, отрабатывает. Добавляю  в компас (v16) через сервис/настройка интерфейса -> утилиты. И тут уже не все функции отрабатываются. Открыть в проводнике - такой же эффект - форма запустилась, но не все работает

Пример во вложении
кнопка "выбор элемента"  должен быть графический выбор объекта в сборке (ksRequestInfo3D.GetEntityCollection()), и выдача сообщения с названием детали. не запускается совсем.

Файл *.pyw  - надо во что-то конвертировать? или как тут вообще быть? Отчего может по-разному работать один и тот же код в дебаггере и в компасе?

Mary

Все дело в подключении.

вместо

#iKompasObject = Dispatch('KOMPAS.Application.5')
#iKompasObject = KAPI.KompasObject(iKompasObject)


лучше
module5 =  gencache.EnsureModule("{0422828C-F174-495E-AC5D-D31014DBBE87}", 0, 1, 0)
iKompasObject = module5.KompasObject(Dispatch("Kompas.Application.5")._oleobj_.QueryInterface(module5.KompasObject.CLSID, pythoncom.IID_IDispatch))
iDocument3D = iKompasObject.ActiveDocument3D()
print iDocument3D.fileName

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