PyKompasMacro

Автор Slaviation, 20.04.18, 09:14:28

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

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

Slaviation

25.02.20, 06:28:05 #60 Последнее редактирование: 25.02.20, 07:17:52 от Slaviation
Добрый день. Нет не может :(
Задача определения макросом редактируемого ( или перемещаемого / поворачиваемого ) объекта не решена. Макрос мы записываем при одном контексте, а запустить его на выполнение можем при совершенно другом.
Пока есть несколько неуклюже работающий вариант в 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 - Объект отредактирован.

Slaviation

Спасибо, это понятно. Вопрос был про другое. Если запускать макрос на выполнение в другом документе, не в том в котором оно был записан, как в макросе, во время его выполнения, определить объект, над которым нужно произвести операцию?

Если про 3D и другом файле можно по индексу в дереве построения брать, если такой там есть и соответствует параметрам, но ворочать и двигать в сборке может быть проблематично, т.к. детали могут быть зафиксированы, наложены сопряжения, таким макросом в реальной сборке можно больше дров наломать.
Судя по вопросу, нужна просто анимация процесса сборки, хотя могу и ошибаться.

pampam

Да, я понял, что не совсем корректно выразился.
По факту нужно вставлять деталь в сборку в конкретное место под конкретным углом. После вставления двигать и крутить не нужно.
Интересует, записывает ли приложение координаты и углы (например, Эйлера), которые вписываются с клавиатуры в соответствующие графы до вставки?

pampam

Попробовал, записал - цифры есть. Теперь надо разобраться с матрицей 4х4. Спасибо.

Вират Лакх

При попытке записать макрос создания отчета на компас 16.1 версия рекордера 1.4.28.57 от 08.04.2020 на каждом шаге выдает ошибку - см. картинку.

Slaviation

11.04.20, 10:11:29 #67 Последнее редактирование: 11.04.20, 13:37:52 от Slaviation
Добрый день.
Подскажите, пожалуйста, в 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
Запуск команды Отрезок или её остановка.

Slaviation

Добрый день.
Из описания на https://slaviationsoft.blogspot.com
PyKompasMacro распространяется бесплатно, не требует, чтобы на компьютере был установлен Python и работает с КОМПАС-3D, начиная с версии 17

antiflamberg

Доброго времени суток!
Не могли бы обновить ссылку на гугл драйв на утилиту? спасибо! Очень хочется воспользоваться.

Slaviation

Добрый день.
PyKompasMacro доступен по ссылке
https://slaviationsoft.blogspot.com/
Ссылка не работает?

antiflamberg

https://drive.google.com/uc?export=download&id=1nccnJvhxgU2V8t9rFfaecKAt6LyubFfA

пишет 404 ошибку. (NOT FOUND ERROR 404)
пробовал с разных компьютеров и даже с телефона.

VLaD-Sh

Странная какая-то у вас ссылка. Вроде автор дает другую https://dl.orangedox.com/PyKompasMacro122140

antiflamberg

Цитата: VLaD-Sh от 08.01.21, 06:37:47Странная какая-то у вас ссылка. Вроде автор дает другую https://dl.orangedox.com/PyKompasMacro122140
Все верно, а с неё на гугл.драйв перенаправляет. У всех качается? Могу попросить на почту отправить? antiflamberg@gmail.com
Спасибо!

Slaviation

Добрый день.
Ссылку поправил.

Алексей Дубовицкий

Цитата: Slaviation от 11.01.21, 13:51:05Ссылку поправил.
Всё равно "Not Found".

Slaviation

Коллеги, добрый день.
Обнаружил, что PyKompasMacro, собранный с помощью PyInstaller, с некоторых пор стал определяться несколькими антивирусами, как потенциально опасный. Информации по этой проблеме набралось уже достаточно (набрать в поисковике PyInstaller virus), но ее решения пока не нашел. Думаю именно это повлияло на то, что перестала работать ссылка скачивания PyKompasMacro на GDrive.

antiflamberg

Цитата: Slaviation от 18.01.21, 07:20:11Коллеги, добрый день.
Обнаружил, что PyKompasMacro, собранный с помощью PyInstaller, с некоторых пор стал определяться несколькими антивирусами, как потенциально опасный. Информации по этой проблеме набралось уже достаточно (набрать в поисковике PyInstaller virus), но ее решения пока не нашел. Думаю именно это повлияло на то, что перестала работать ссылка скачивания PyKompasMacro на GDrive.
С яндекса прекрасно скачалось. Спасибо большое!