Уважаемые коллеги, хочу предложить Вашему вниманию приложение PyKompasMacro для КОМПАС-3D x64.
Приложение написано на Python, бесплатное, но попросит получения регистрационного ключа, доступно по ссылке https://slaviationsoft.blogspot.ru
Краткая аннотация:
PyKompasMacro - это приложение для записи и выполнения макросов в КОМПАС-3D x64.
Макросы – это сценарии, описывающие последовательность действий пользователя по созданию объектов в КОМПАС-3D. Во время записи макроса сценарий запоминается в файл с расширением .pyw в виде кода на языке программирования Python. При выполнении макроса, содержащийся в нем код воспроизводит запомненный сценарий.
Для выполнение макросов в PyKompasMacro не требуется, чтобы на компьютере был установлен Python.
PyKompasMacro будет полезен как для автоматизации работы пользователя в КОМПАС-3D так и для изучения интерфейсов прикладного программирования (API) КОМПАС-3D.
А возможности записи программного кода, такие же как и у библиотеки Компас-Макро или более расширенный функционал?
Ключ отправил.
ЦитироватьА возможности записи программного кода, такие же как и у библиотеки Компас-Макро или более расширенный функционал?
1. В макросах PyKompasMacro приоритет использования API7 , в Компас-Макро - API5.
2. В PyKompasMacro пока нет создания макросов для 3D.
Первое впечатление, понравилось, что на иконке приложения видно запись. Как было реализовано в 16 версии. В 17й при переключении на команды не понятно было идет запись или нет. И в коде раскомментированно, что к чему относится. Отрезок, окружность.
Для х32 будет версия?
КОМПАС-Макро тоже Ваше творение?
ЦитироватьДля х32 будет версия?
Пока не знаю, но попробую.
ЦитироватьКОМПАС-Макро тоже Ваше творение?
В прошлом поучаствовал.
Ключ получен, установлен.
При запуске PyKompasMacro.exe получаем: :(
W7SP1-64, К15.2-64
Попробуйте запустить kompas.exe с ключом -register.
Пишет:
"Ошибка регистрации.
Обратитесь к администратору."
ЦитироватьПишет:
"Ошибка регистрации.
Обратитесь к администратору."
Если позволяют права, выполните запуск kompas.exe -register от имени администратора.
Админ запускал под своими правами kompas.exe -register.
Регистрация прошла успешно.
Но всё равно получаем:
"Failed to execute script PyKompasMacro"
Админ обратил внимание на PyKompasMacro.exe.manifest
<assemblyIdentity name="PyKompasMacro" processorArchitecture="amd64" type="win32" version="1.0.0.0"/>
win32 - это так и должно быть?
Цитироватьwin32 - это так и должно быть?
Честно говоря - не знаю. :shu:
Выложил на сайте версию 1.1.05 с показом traceback. Пришлите появившийся текст сообщения .
После успешной регистрации библиотека выдаёт: :(
или надо после работы версии 1.1.05 с показом traceback?
Ок, давайте перенесем поиск проблемы в личку. Я подготовлю перечень уточняющих вопросов.
После запуска PyKompasMacro версии 1.1.05 должно появиться сообщение с кучей текста, оно меня и интересует.
Скорее всего import win32com.client нужно в сборке py добавить
Цитата: Slaviation от 23.04.18, 14:40:29
....
Выложил на сайте версию 1.1.05 с показом traceback. Пришлите появившийся текст сообщения .
:(
У меня нормально сейчас скачалось. Похоже, блокировки РКН и Slaviation рикошетом зацепили...
ЦитироватьДля х32 будет версия?
Коллеги, добрый день. Хочу уточнить, что PyKompasMacro - это приложение для Windows x64, работает с КОМПАС-3D обеих разрядностей, начиная 15-ой версии.
Коллеги, добрый день.
Добавил в PyKompasMacro некоторую поддержку редактирования объектов.
Цитировать1.1.3.11 от 13.07.2018
В макросе могут запоминаться действия пользователя по редактированию графических объектов.
Перед запуском такого макроса на выполнение необходимо селектировать в чертеже или фрагменте те графические объекты, которые требуется отредактировать.
Использование режима редактирования графических объектов можно отключить в настроечном параметре [COMMON] / EditMode файла PyKompasMacro.ini.
Пользовательский сценарий пока не идеален: перед запуском макроса, содержащего код редактирования объектов, нужно эти объекты в документе самому селектировать. Буду рад вашим предложениям по улучшению этого сценария.
Коллеги, добрый день.
PyKompasMacro 1.2.4.14 от 06.09.2018
Добавлена поддержка создания операций и поверхностей выдавливания и вращения в документах КОМПАС-Деталь.
Программа не записывает создание ссылок в текстах?
Сегодня - завтра будут готовы
А что на счёт версии х32, стоит ли надеяться и ждать?
ЦитироватьА что на счёт версии х32, стоит ли надеяться и ждать?
Если имеется ввиду работоспособность PyKompasMacro с КОМПАС-3D x32 то не нужно ждать:
http://forum.ascon.ru/index.php/topic,31309.msg250889.html#msg250889
Цитата: Slaviation от 25.09.18, 13:54:27
Если имеется ввиду работоспособность PyKompasMacro с КОМПАС-3D x32 то не нужно ждать:
Нет, речь о х32 операционной системе.
Коллеги, добрый день.
PyKompasMacro 1.2.5.15 от 09.10.2018.
Создание исполнений модели.
Изменение свойств модели.
Изменение свойств документа.
Изменение в сборке свойств компонента первого уровня.
Создание фасок и скруглений в документах КОМПАС-Деталь.
Создание операций и поверхностей по траектории и по сечениям в документах КОМПАС-Деталь.
Создание параметров вставки ссылки в текст в документах КОМПАС-Чертеж и КОМПАС-Фрагмент.
Отключен режим редактирования графических объектов в настроечном параметре [COMMON] / EditMode файла PyKompasMacro.ini.
Коллеги, добрый день.
PyKompasMacro 1.2.6.16 от 16.10.2018
Добавлена установка параметров цвета создаваемых модельных объектов.
PyKompasMacro 1.2.6.16 от 16.10.2018. Регистер сделал, не помогло.
Предыдущие версии работали.
upd. Установка обратно 15-й версии - та же ошибка. Наверно какие-то внешние причины.
Добрый день.
ЦитироватьPyKompasMacro 1.2.6.16 от 16.10.2018. Регистер сделал, не помогло.
Предыдущие версии работали.
upd. Установка обратно 15-й версии - та же ошибка. Наверно какие-то внешние причины.
Какая версия КОМПАС была перед тем как обратно установили версию 15?
Выполняли ли запуск КОМПАС с ключом register после того, как обратно установили версию 15?
Была и оставалась 16.1.18x64. Еще раз переставил 15-ю, ввел ключ на всякий случай, еще раз регистер компасу - всё равно ошибка.
Попробовал исправить в версии 1.2.6.17. Выложил.
Картинка немного изменилась.
Посмотрите, пожалуйста, есть ли у Вас такой файл:
<Каталог установки Python>\Lib\site-packages\win32com\gen_py\2CAF168C-7961-4B90-9DA2-701419BEEFE3x0x1x0.py.
Если есть - удалите из каталога gen_py все файлы и попробуйте опять запустить pyKompasMacro.
Если ошибка не пропала, посмотрите - если ли в указанном файле (он опять должен появиться при запуске pyKompasMacro) следующие записи:
ksOperationCut =2 # from enum ksOperationResultEnum
ksOperationIntersect =3 # from enum ksOperationResultEnum
ksOperationNewBody =1 # from enum ksOperationResultEnum
ksOperationUnion =0 # from enum ksOperationResultEnum
Тут C:\Python26\Lib\site-packages\win32com\gen_py\ был такой 2CAF168C-7961-4B90-9DA2-701419BEEFE3x0x1x0.py файл. После очистки каталога вообще ничего не появилось при запуске PyKompasMacro. Все администраторские права тут есть. Программу с правами админа запускал - без результата.
Тогда запустите тест вложения. После этого файл в gen_py 2CAF168C-7961-4B90-9DA2-701419BEEFE3x0x1x0.py должен железно появиться.
Ну и дайте его поглядеть.
Железно появился. См. вложение. Указанные команды я там не нашел.
А вы можете рассказать теорию создания этих файлов. Это же мы так к компасу подключаемся.
Как получаются эти строки из файла test. И вообще, что откуда и куда? ) Для общего развития так сказать.
Я предположил, что источник ошибки - установленный Python 2.6.
Для запуска pyKompasMacro установленный Python вообще не нужен. Но если Python установлен, то возможен какой-то конфликт.
Выполняя строчку в тесте
kompas6_constants_3d = gencache.EnsureModule("{2CAF168C-7961-4B90-9DA2-701419BEEFE3}", 0, 1, 0).constants
ваш Python генерирует из библиотеки типов с указанным GUID модуль 2CAF168C-7961-4B90-9DA2-701419BEEFE3x0x1x0.py в каталоге gen_py.
Вот я и хотел узнать сгенерирует ли Python 2.6 этот модуль с константами
ksOperationCut =2 # from enum ksOperationResultEnum
ksOperationIntersect =3 # from enum ksOperationResultEnum
ksOperationNewBody =1 # from enum ksOperationResultEnum
ksOperationUnion =0 # from enum ksOperationResultEnum
ksAxisOrientation =0 # from enum ksOrientationTypeEnum
Сгенерировал, но без констант, что странно. Ведь в КОМПАС-16 уже есть многотельность и есть возможность назначать результат формообразующих операций (объединение, пересечение, новое тело и т. п.).
А есть ли эти константы в файле SDK КОМПАС <Каталог установки КОМПАС>\SDK\Include\LDefin3D.pas ?
ksAxisOrientation = $00000000; - только она нашлась в SDK\Include\LDefin3D.pas
ksOperation никакого нет. Типа в API не реализовано? А если не реализовано, то и доступа не будет в самом компасе?
Меня интересует сама эта генерация. Как сформировались эти строки в файле test? где и какие библиотеки типов и GUID берутся?
ЦитироватьМеня интересует сама эта генерация. Как сформировались эти строки в файле test? где и какие библиотеки типов и GUID берутся?
Когда устанавливается КОМПАС-3D, его инсталлятор регистрирует в системе набор библиотек типов (файлы *.tlb в каталоге BIN КОМПАС).
Каждая библиотека типов имеет уникальный идентификатор GUID. Его можно посмотреть прямо в библиотеке типов к примеру утилитой OleView.exe
Функция Python gencache.EnsureModule умеет из зарегистрированной в системе библиотеки типов по заданному GUID сформировать модуль описания библиотеки типов <GUID>.py
Как-то так ...
Спасибо. С первыми строчками в общих чертах ясно. После того, как эти файлы создались, можно же наверно по-другому записать, типа как-то так? kompas6_constants = этот_созданный_файл.constants
А как эта строка получилась?
kompas_object = kompas6_api5_module.KompasObject(Dispatch("Kompas.Application.5")._oleobj_.QueryInterface(kompas6_api5_module.KompasObject.CLSID, pythoncom.IID_IDispatch))
Dispatch("Kompas.Application.5") - ?
_oleobj_ - ?
kompas6_api5_module.KompasObject.CLSID - ?
и т.д.
в PyKompasMacro введете try для отсутствующих констант?
Это место можно писать намного короче: kompas_api_object = Dispatch("Kompas.Application.5")
А мудреная запись с QueryInterface лишь для того, чтобы дополнительно проверить получение именно интерфейса KompasObject.из модуля kompas6_api5_module.
Таким способом можно получить ЛЮБОЙ интерфейс, описанный в модуле kompas6_api5_module напрямую, а не добираясь до него через лабиринт, берущий начало от головного интерфейса.
Цитата: Slaviation от 23.10.18, 12:32:13
Таким способом можно получить ЛЮБОЙ интерфейс, описанный в модуле kompas6_api5_module напрямую, а не добираясь до него через лабиринт, берущий начало от головного интерфейса.
А как работать в Python c экспортными функциями, которые описаны в SDK?
Прошу прощения за вопросы не в тему, но, думаю, многим будет полезно знать эту кухню.
Еще немного мастер-класса, если можно:
1) Так что насчет уже созданных файлов вида 2CAF168C-7961-4B90-9DA2-701419BEEFE3x0x1x0.py? Можно как-то готовые использовать?
2) Что вообще такое Dispatch?
3) Откуда я узнаю, что надо написать строку "Kompas.Application.5", "Kompas.Application.7" или "Materials.BOSimpleProvider"?
4) Вот это выдает замудренная строка, и оно работает.
<win32com.gen_py.0422828C-F174-495E-AC5D-D31014DBBE87x0x1x0.KompasObject instance at 0x44646792>
А вот kompas_api_object = Dispatch("Kompas.Application.5") выдает
<COMObject Kompas.Application.5>
и оно не работает, например, не канает kompas_object.ActiveDocument3D()
5) Не понял про получение любого интерфейса. Каким таким? Например, тот же ActiveDocument3D как напрямую получить?
1.
gencache.EnsureModule не создает модуль <guid>.py попусту, при каждом вызове, а лишь если его еще нет или он есть, но уже не соответствует зарегистрированной с этим guid библиотеке типов, т. е. не актуальный (к примеру разработчики добавили новые интерфейсы или изменили существующие).
2.
Функция win32com. Тут документация в помощь.
3.
http://rsdn.org/article/com/COMvs.xml
4.
Тоже работает, если вызов ActiveDocument3D сделать как свойство, без скобок.
kompas_object = Dispatch("Kompas.Application.5")
ks_document_3d = kompas_object.ActiveDocument3D
print(ks_document_3d.fileName)
5.
ЦитироватьТаким способом можно получить ЛЮБОЙ интерфейс, описанный в модуле kompas6_api5_module напрямую, а не добираясь до него через лабиринт, берущий начало от головного интерфейса.
Коллеги, тут я сам набредил, этот перл прошу не принимать во внимание :)
Ответ на вопрос зачем делать такой мудреный способ получения kompas_object с использованием QueryInterface, похоже в п.4.
ЦитироватьА как работать в Python c экспортными функциями, которые описаны в SDK?
Не знаю возможно ли это в принципе.
Цитата: Slaviation от 24.10.18, 07:08:19
4. Тоже работает, если вызов ActiveDocument3D сделать как свойство, без скобок.
kompas_object = Dispatch("Kompas.Application.5")
ks_document_3d = kompas_object.ActiveDocument3D
print(ks_document_3d.fileName)
Ну и, надеюсь, последняя пара вопросов.
I) Без скобок - как свойство, а со скобками - как что?
II) Можно ли попроще (чем та замудреная запись) трансформировать kompas_object = Dispatch("Kompas.Application.5") в "нормальный" kompas_object, чтобы ActiveDocument3D не как свойство осталась работать со скобками?
p.s.
ЦитироватьА мудреная запись с QueryInterface лишь для того, чтобы дополнительно проверить получение именно интерфейса KompasObject из модуля kompas6_api5_module.
А разве может попасться какой-то левый?
ЦитироватьБез скобок - как свойство, а со скобками - как что?
Метод, принимающий список аргументов, даже если их нет.
ЦитироватьМожно ли попроще
Не знаю :(
Теперь я знаю, как проще записать подключение к компасу из питона:
from win32com.client import gencache, Dispatch
KompasAPI5 = gencache.EnsureModule('{0422828C-F174-495E-AC5D-D31014DBBE87}', 0, 1, 0)
KompasAPI7 = gencache.EnsureModule('{69AC2981-37C0-4379-84FD-5DD2F3C0A520}', 0, 1, 0)
KompasConst = gencache.EnsureModule('{75C9F5D0-B5B8-4526-8681-9903C567D2ED}', 0, 1, 0).constants
KompasConst3D = gencache.EnsureModule('{2CAF168C-7961-4B90-9DA2-701419BEEFE3}', 0, 1, 0).constants
KompasObject = Dispatch('Kompas.Application.5', None, KompasAPI5.KompasObject.CLSID)
Application = Dispatch('Kompas.Application.7') # или KompasObject.ksGetApplication7()
Можно заменить KompasAPI5.KompasObject.CLSID на '{E36BC97C-39D6-4402-9C25-C7008A217E02}', чтобы не зависеть от KompasAPI5
Коллеги, добрый день.
Прошу пользователей КОМПАС-3D V15.x поделиться файлами SDK\Include\ksConstants.h и ksConstants3D или LDefin2D.pas и LDefin3D.pas.
Спасибо.
Файлы во вложении.
Коллеги, добрый день.
Вопрос в топике https://forum.ascon.ru/index.php/topic,32155.0.html сподвиг добавить в очередную версию PyKompasMacro следующее:
1.2.17.34 от 05.03.2019
Создание технических требований в чертежах КОМПАС-3D.
1.2.16.33 от 05.03.2019
Добавлена поддержка создания форматированного текста в ячейках основной надписи. Для этого в файле conf / PyKompasMacro.ini нужно установить параметр FormattedTextInStamp = 1.
скажите, а умеет ли pyKompasmacro записывать сплайн-кривые?
Цитироватьскажите, а умеет ли pyKompasmacro записывать сплайн-кривые?
Может.
1.2.20.38 от 18.04.2019
Создание массивов компонентов в документах КОМПАС-Сборка.
1.2.21.40 от 22.05.2019
Сохранение документов в формате pdf.
Как запустить макрос если его добавить в пользовательскую панель инструментов(тут на форуме програма) Подскажите как запустить макрос без вашей проги. Спс
1.2.22.42 от 19.07.2019
Добавлена возможность перетаскивания панели PyKompasMacro при нажатой правой клавише мыши.
1.4.27.54 от 15.01.2020
Добавлено сохранение позиции и прозрачность панели PyKompasMacro.
В описаниях версий нашёл, что программа умеет:
"Добавление в КОМПАС-Сборку компонентов, локальных деталей, деталей-заготовок."
Может ли программа перемещать и поворачивать Компас-Детали в КОМПАС-Сборке?
Добрый день. Нет не может :(
Задача определения макросом редактируемого ( или перемещаемого / поворачиваемого ) объекта не решена. Макрос мы записываем при одном контексте, а запустить его на выполнение можем при совершенно другом.
Пока есть несколько неуклюже работающий вариант в 2D, который позволяет записать макрос редактирования объектов. Перед запуском такого макроса пользователь должен сам селектировать те объекты, которые макрос определит через менеджер селектированных объектов.
Если есть идеи как еще в макросе, ВО ВРЕМЯ ЕГО ВЫПОЛНЕНИЯ, можно определить редактируемый объект - буду рад подсказке :)
Через события КОМПАС-3D можно определить, для 2D - IObject2DNotify:
BeginCopy - Начало копирования объекта;
BeginDelete - Начало удаления объекта;
BeginDestroyObject - Начало разрушения объекта;
BeginMove - Начало сдвига объекта;
BeginProcess - Начало редактирования\создания объекта;
BeginPropertyChanged - Начало изменения свойств объекта;
BeginRotate - Начало поворота объекта;
BeginScale - Начало масштабирования объекта;
BeginSymmetry - Начало симметричного преобразования объекта;
BeginTransform - Начало трансформации объекта;
ChangeActive - Переключение активности объекта (вид, слой);
Copy - Завершение копирования объекта;
CreateObject - Объект создан;
Delete - Завершение удаления объекта;
DestroyObject - Завершение удаления объекта;
EndProcess - Завершение редактирования/создания объекта;
Move - Завершение сдвига объекта;
PropertyChanged - Изменения свойств объекта;
Rotate - Завершение поворота объекта;
Scale - Завершение масштабирования объекта;
Symmetry - Завершение симметричного преобразования объекта;
Transform - Завершение трансформации объекта;
UpdateObject - Объект отредактирован.
Спасибо, это понятно. Вопрос был про другое. Если запускать макрос на выполнение в другом документе, не в том в котором оно был записан, как в макросе, во время его выполнения, определить объект, над которым нужно произвести операцию?
Если про 3D и другом файле можно по индексу в дереве построения брать, если такой там есть и соответствует параметрам, но ворочать и двигать в сборке может быть проблематично, т.к. детали могут быть зафиксированы, наложены сопряжения, таким макросом в реальной сборке можно больше дров наломать.
Судя по вопросу, нужна просто анимация процесса сборки, хотя могу и ошибаться.
Да, я понял, что не совсем корректно выразился.
По факту нужно вставлять деталь в сборку в конкретное место под конкретным углом. После вставления двигать и крутить не нужно.
Интересует, записывает ли приложение координаты и углы (например, Эйлера), которые вписываются с клавиатуры в соответствующие графы до вставки?
Попробовал, записал - цифры есть. Теперь надо разобраться с матрицей 4х4. Спасибо.
При попытке записать макрос создания отчета на компас 16.1 версия рекордера 1.4.28.57 от 08.04.2020 на каждом шаге выдает ошибку - см. картинку.
Добрый день.
Подскажите, пожалуйста, в 16.1-ом КОМПАС есть команда "Добавить деталь-заготовку"?
При работе с версиями КОМПАС до 17-ой возможны такого рода сообщения. Из вашего видно, что в КОМПАС API не нашлась константа prAddBilletFromFile, которая определяет процесс вставки детали-заготовки.
И еще: возможности записи макросов создания отчетов в PyKompasMacro еще нет. :)
Да, константа не нашлась, но есть:
IBilletObsolete, IBilletsObsoletes
ksObj3dTypeEnum - Типы объектов документа-модели:
o3d_Billet 571 Операция 'деталь заготовка'
KompasAPIObjectTypeEnum - Типы объектов КОМПАС API:
ksObjectBilletObsolete 11234 Деталь заготовка и Зеркальная деталь
ksObjectBilletsObsoletes 11235 Коллекция деталей заготовок и зеркальных деталей
Компас 16.1 + PyKompasMacro 1.4.28.59 от 30.04.2020
Запуск команды Отрезок или её остановка.
Добрый день.
Из описания на https://slaviationsoft.blogspot.com
PyKompasMacro распространяется бесплатно, не требует, чтобы на компьютере был установлен Python и работает с КОМПАС-3D, начиная с версии 17
Доброго времени суток!
Не могли бы обновить ссылку на гугл драйв на утилиту? спасибо! Очень хочется воспользоваться.
Добрый день.
PyKompasMacro доступен по ссылке
https://slaviationsoft.blogspot.com/
Ссылка не работает?
https://drive.google.com/uc?export=download&id=1nccnJvhxgU2V8t9rFfaecKAt6LyubFfA
пишет 404 ошибку. (NOT FOUND ERROR 404)
пробовал с разных компьютеров и даже с телефона.
Странная какая-то у вас ссылка. Вроде автор дает другую https://dl.orangedox.com/PyKompasMacro122140
Цитата: VLaD-Sh от 08.01.21, 06:37:47Странная какая-то у вас ссылка. Вроде автор дает другую https://dl.orangedox.com/PyKompasMacro122140
Все верно, а с неё на гугл.драйв перенаправляет. У всех качается? Могу попросить на почту отправить? antiflamberg@gmail.com
Спасибо!
Добрый день.
Ссылку поправил.
Коллеги, добрый день.
Обнаружил, что PyKompasMacro, собранный с помощью PyInstaller, с некоторых пор стал определяться несколькими антивирусами, как потенциально опасный. Информации по этой проблеме набралось уже достаточно (набрать в поисковике PyInstaller virus), но ее решения пока не нашел. Думаю именно это повлияло на то, что перестала работать ссылка скачивания PyKompasMacro на GDrive.
Цитата: Slaviation от 18.01.21, 07:20:11Коллеги, добрый день.
Обнаружил, что PyKompasMacro, собранный с помощью PyInstaller, с некоторых пор стал определяться несколькими антивирусами, как потенциально опасный. Информации по этой проблеме набралось уже достаточно (набрать в поисковике PyInstaller virus), но ее решения пока не нашел. Думаю именно это повлияло на то, что перестала работать ссылка скачивания PyKompasMacro на GDrive.
С яндекса прекрасно скачалось. Спасибо большое!
Добрый день.
В PyKompasMacro появилась команда "Сохранить как макрос". Если запустить ее на активном документе, то можно получить макрос его создания.
На Win 7.1x64
При получении ключа.png
Добрый день.
Да, есть такая проблема.
https://www.python.org/downloads/release/python-390/
Installer news
This is the first version of Python to default to the 64-bit installer on Windows. The installer now also actively disallows installation on Windows 7. Python 3.9 is incompatible with this unsupported version of Windows.
Новости установщика
Это первая версия Python, для которой по умолчанию используется 64-разрядный установщик в Windows. Установщик теперь также активно запрещает установку в Windows 7. Python 3.9 несовместим с этой неподдерживаемой версией Windows.
Вот! Вот! - Увы!
Возникла проблема при запуске PyKompasMacro после установки. Выдаёт ошибку что Компас 3D неустановлен или не активирован, рекомендацию из окна выполнил и ничего не изменилось. Как можно решить проблему, может ли это быть связанно что установлены две разные версии компаса?
Вылетает следующая ошибка:
Возможно не установлен КОМПАС-ЗD x64.
Если КОМПАС-ЗD x64 установлен, то возможно не.
зарегистрирован.
Зарегистрируйте КОМПАС-ЗD, запустив от имени.
администратора из подкаталога Вип каталога установки.
КОМПАС-ЗD файл kompas.exe с ключом register.
Traceback (most recent call last):
File "PyKompasMacro.pyw', line 20,in <module>
File "<frozen importiib._bootstrap>", line 1027, in
_find_and_load
File "<frozen importlib._bootstrap>", line 1006, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in
_load_unlocked
File "Pylnstallen\loader\pyimod02_importers.py', line 499, in
exec module
File "recorder\useful_features.py', line 5, in <module>
File "<frozen importlib._bootstrap>", line 1027, in
_find_and_load
File "<frozen importlib._bootstrap>", line 1006, in
_find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in
_load_unlocked
File "Pylnstallen\loader\pyimod02_importers.py', line 499, in
exec module
File "kompas\kompas_constants.py', line 148, in <module>
AttributeError: type object 'constants' has no attribute
'vt_Remote2D'
Добрый день.
Может. Возможно, что староватая версия КОМПАС-3D SDK которого еще не имеет контанты vt_Remote2D.
Добавил файлы ksConstants3D, LDefin2D.pas и LDefin3D.pas и заработала. Спасибо
Добрый день.
1.7.53.108 от 14.03.2023
Для команды «Сохранить как макрос» добавлена возможность сохранения в макрос группы выделенных объектов чертежей и фрагментов.
https://slaviationsoft.blogspot.com
Цитата: Slaviation от 07.03.23, 20:41:10Добрый день.
Может. Возможно, что староватая версия КОМПАС-3D SDK которого еще не имеет контанты vt_Remote2D.
Здравствуйте! возникла такая же проблема с запуском. где и как можно посмотреть на наличие константы vt_Remote2D? питон на комп не установлен
Добрый день.
Решил скачать PyKompasMacro.
а на сайте мне говорят, что файлы удалены, т.к. истёк срок хранения.
ужОс!
как быть, куда бежать?
Добрый день, коллеги.
ЦитироватьДобрый день.
Решил скачать PyKompasMacro.
а на сайте мне говорят, что файлы удалены, т.к. истёк срок хранения.
ужОс!
как быть, куда бежать?
Да, такое иногда случается. Буду периодически обновлять ссылки для скачивания.
Slaviation подскажите пожалуйста
возможно ли в Вашем дебагере подключить функционал захватывающий работу с переменными (внешними и локальными)(для сущностей, эскизы, тела и т.д.)
в файле PyKompasMacro.ini
выставил
; Режим редактирования графических объектов
; Позволяет записывать в макрос последовательность действий пользователя редактирования графических объектов, созданных в текущем сеансе записи макроса.
EditMode=1
; Режим создания форматированного текста : 0 - создание неформатированного, 1 - создание форматированного текста
FormattedTextMode = 0
;Режим создания графических объектов с параметрическими ограничениями: 0 - создание параметрических ограничений не записывается в макрос, 1 - записывается в макрос
;ParametricConstraintMode = 0
ParametricConstraintMode = 1
но работа с переменными не цепляется....
и второй вопрос - есть ли какие либо дополнительные настройки/рекомендации чтобы маркрорекордер записывал максимальное количество пользовательских действий/событий (создания/редактирования) в интерфейсе компас 22/API7?
Спасибо за отличный софт!
Цитата: Slaviation от 10.06.24, 07:11:16Добрый день, коллеги.Да, такое иногда случается. Буду периодически обновлять ссылки для скачивания.
может на яндекс или гугл диск выложить? там не удаляются.
Для 23 версии компаса будет?
Можно ли сделать Portable версию?
Добрый день.
Они не дают выкладывать, модуль не проходит проверку на их антивирусах.
Под КОМПАС-3D версии 23 вроде работает.
Не знаю, надо пробовать.
кстати, 'сгорела' тачка - отдавал в ремонт (починили - железо то же, система таже, компас тот же (или 22 на 23 апгрейдил не помню))
но до ремонта макрорекордер работал (и на 23м хотя регистрация была на 22) - после нет...(регистрационный ключ не установлен или имеет неверное значение) (запросил у вас новый серийник)
просто непонятно (ремонт=замена батарейки на биосе )) ) - даже лицензия на компас не слетела хотя жестко к железу привязана....
у вас видно привязка к железу еще жестче!!!! Круто))))
1.7.58.117 от 14.01.2025
Изменен способ задания эскизов и модельных объектов в создаваемых операциях.
В коде макроса все создаваемые модельные объекты запоминаются в виде model_object_n, где n – порядковый номер созданного модельного объекта в текущей сессии PyKompasMacro.
Таким образом, если для создания операции требуется эскиз или модельный объект, то используются запомненные.
Если требуемых модельных объектов среди запомненных нет, то используется прежний способ их определения (по индексу в коллекциях).
Добрый день!
Хотел воспользоваться данным приложением а он требует ключ и где его взять если в карманах дырки?
ЦитироватьХотел воспользоваться данным приложением а он требует ключ и где его взять если в карманах дырки?
Добрый день.
Просто смело и внимательно отработайте процедуру получения регистрационного ключа (registration.txt в каталоге установки PyKompasMacro).