Join the forum for Designers!
Your expertise is vital to the community. Join us and contribute your knowledge!
Join the Forum NowShare, learn and grow with the best professionals in the industry.
Добро пожаловать! Это вторая часть данной серии статей в блоге, и здесь я объясню, как работать с содержимым базы данных 3DEXPERIENCE (3DX).
Прежде всего, Dassault не любит использовать слово «файл», когда мы говорим о 3DX. Как вы, наверное, знаете, весь контент 3DX хранится в базе данных, и каждый элемент в этой базе данных теперь называется «объектом PLM». (Имейте в виду, что в конце концов для каждого элемента в БД существует файл, хранящийся где-то на сервере.) Тем не менее, с этого момента мы будем использовать слова «субъект PLM» или «объект PLM» для каждого элемента в этой БД. .
Вероятно, это одно из самых больших различий между V5 и 3DX.
На основе документов и на основе БД
Версия V5 основана на документах. Когда вы видите модель на экране в V5, она представлена двумя объектами — объектом «Документ» и объектом «Окно». Когда вы открываете или сохраняете модель в V5, CATIA либо читает, либо сохраняет файл.
Рисунок 1
То, что вы видите на экране 3DX, также представлено двумя объектами, но теперь это объект «Редактор» и объект «Окно». Объект Window выполняет ту же функцию, что и в V5, — отображает модель на экране. Однако роль объекта Editor — это роль «контроллера» содержимого модели. Т. е. он содержит текущее приложение и список всех команд, которые можно запустить из приложения.
У редактора есть свойство АктивОбъект, то есть объект, который вы видите на экране. Чтобы получить активный объект, вы можете использовать следующие команды в VBA и дальше работать с ним.
01: Dim oActiveObj как AnyObject
02: Установите oActiveObj = CATIA.ActiveEditor.ActiveObject
Объект контента соответствует объекту PLM в БД, который представлен картой метаданных и файлом хранения. Это создает «дополнительный слой» между сеансом 3DX и файлами в БД. Чтобы получить файл, система сначала считывает метаданные, которые сообщают, где именно находится файл.
фигура 2
В 3DX вы не можете просто «открыть» или «сохранить» модель. Вам придется попросить «сервис» 3DX сделать это за вас.
Я буду подробно обсуждать «сервисы» 3DX в третьей части серии, поэтому сейчас мы будем говорить проще.
Поиск и открытие из БД
Чтобы перенести модель в сеанс 3DX, необходимо сначала найти ее (SearchService), а затем открыть (PLMOpenService). Код VBA будет выглядеть примерно так:
' Получаем объект SearchService и создаем поисковый запрос
01: Затемните oSearchService как SearchService
02: Установите oSearchService = CATIA.GetSessionService («Поиск»)
03: Dim oDBSearch как поиск в базе данных
04: Установите oDBSearch = oSearchService.DatabaseSearch
05: oDBSearch.BaseType = «VPMReference» ' ищет физический продукт
06: oDBSearch.AddEasyCriteria «V_Name», «
' Запускаем поиск
07: oSearchService.Search
' Получаем список найденных объектов
08: Dim cPLMEntities как PLMEntities
09: Установите cPLMEntities = oDBSearch.Results
' Получаем сервис PLMOpen и открываем первый найденный объект
10: Dim oPLMOpenService как PLMOpenService
11: Установите oPLMOpenService = CATIA.GetSessionService («PLMOpenService»)
12: Dim oEditor как редактор
13: oPLMOpenService.PLMOpen cPLMEntities.Item(1), oEditor
Сохранение в БД
Чтобы сохранить текущую модель в БД, вам придется использовать команду ПЛМПропагатеСервис. Код VBA будет выглядеть примерно так:
' Получаем объект PropagateService
01: Dim oSaveService как PLMPropagateService
02: Установите oSaveService = CATIA.GetSessionService («PLMPropagateService»)
' Сохранить в БД (сохраняет только содержимое активного редактора!)
03: oSaveService.PLMPropagate
Создание нового контента
Теперь для создания нового контента вам придется использовать еще один Сервис – PLMНовыйСервис.
01: Dim oServ As PLMNewService
02: Установите oServ = CATIA.GetSessionService («PLMNewService»)
03: Dim oEditor как редактор
04: oServ.PLMCreate «<тип_контента>», oEditor
<тип_контента> строка может иметь следующие значения:
- «Рисунок»: Создает рисунок
- «3DШейп»: Создает 3D-форму
- «3DPart»: Создает 3D-деталь
- «VPMReference»: Создает физический продукт
Вот и плохие новости: для создания новой 3D-детали или физического продукта из макроса требуется специальная лицензия VMX или E70. Без лицензии вы можете создать только рисунок или 3D-фигуру. Как правило, большинство компаний не имеют этой лицензии, а это означает: не ждите, что сможете создать новую 3D-деталь или физический продукт с помощью сценариев!
Join the forum for Designers!
Your expertise is vital to the community. Join us and contribute your knowledge!
Join the Forum NowShare, learn and grow with the best professionals in the industry.