Файл с макросом

Программирование для CATIA.

Файл с макросом

Сообщение Chip » 04 июн 2013 20:35

В сборке имеется деталь(и), вставленная из каталога и содержащая макрос. Как найти макросу свою деталь в сборке, что бы с ней работать? Или как вернуть имя файла?
На VB ничего не нашел :-( нид хелп...
Chip
Новичок
Новичок
 
Сообщения: 4
Зарегистрирован: 21 апр 2010 18:25

Re: Файл с макросом

Сообщение Wireless_Fidelity » 04 июн 2013 23:11

Здравствуйте.

А как макрос будет запускаться? Если ручками, то, по всей видимости, пользователь либо выделит его в дереве и выберет Edit-Object-Run в меню приложения, либо запустит ту же команду изконтекстного меню. Так или иначе, объет макроса на момент его запуска будет находиться в выделении (Selection), оттуда его и можно попытаться получить.
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Файл с макросом

Сообщение Wireless_Fidelity » 05 июн 2013 10:04

Рабочая иллюстрация:

Код: Выделить всё
Dim containerPart as Part
if (TypeName(CATIA.ActiveDocument) = "PartDocument") then
    Set containerPart = CATIA.ActiveDocument.Part
else
    Dim oSel as Selection
    Set oSel = CATIA.ActiveDocument.Selection

    Set containerPart = oSel.Item(1).LeafProduct.ReferenceProduct.Parent.Part
end if

MsgBox "PartNumber: " + containerPart.Name

End Sub

' You can add procedures or functions here (with Sub...End Sub or Function...End Function structures)
' and call them from your main)
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Файл с макросом

Сообщение Chip » 05 июн 2013 18:30

Добрый вечер!

Запуск макросов в деталях будет автоматизирован. Задача пользователя загрузить в сборку требуемые детали и нажать кнопку на панели инструментов, кот. запускает VBA-макрос. VBA-макрос ищет в деталях сборки определенный булев параметр и если такой присутствует, то изменяет его значение. На изменение параметра в детали имеется реакция, кот. и запускает макрос, хранящийся в файле. Как-то так :-)
Chip
Новичок
Новичок
 
Сообщения: 4
Зарегистрирован: 21 апр 2010 18:25

Re: Файл с макросом

Сообщение Wireless_Fidelity » 05 июн 2013 19:37

Ну вот тогда пусть реакция запускает макрос с аргументом. В качестве аргумента может выступать сам макрос. Далее юзаем код выше с той лишь разницей, что аргумент нужно будет добавить в Selection, дабы иметь возможность воспользоваться удобным свойством LeafProduct.
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11


Вернуться в CAA-RADE

Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot и гости: 1