Копирование Part со структурой дерева

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

Копирование Part со структурой дерева

Сообщение Vladimir » 15 мар 2011 17:37

Добрый день.

Есть структура дерева например такая
ProductRoot1
|_Product2
|______|_ Part1

Нужно скопировать Part1 в другой продукт ProductRoot2
со структурой дерева то есть
ProductRoot2
|_Product2
|_____|_ Part1

Вопрос:
Есть ли такая функция? Если нет, как взять обратный путь, то есть от Part1 до ProductRoot1?
Vladimir
Новичок
Новичок
 
Сообщения: 31
Images: 0
Зарегистрирован: 10 фев 2008 15:44
Откуда: TLT

Re: Копирование Part со структурой дерева

Сообщение Wireless_Fidelity » 17 мар 2011 16:46

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

Какая реализация интересует: Automation (VB) или CAA/RADE?
В Automation задачу можно решить копированием детали (part'а) методами объекта класса Selection, причём копировать можно сразу Product2:

Код: Выделить всё
' получение доступа к объекту Selection
Dim objSelection as Selection
Set objSelection = CATIA.ActiveDocument.Selection

' получение корневого продукта
Dim prdRoot as Product
Set prdRoot = CATIA.ActiveDocument.Product

' доступ к изделию по имени
Dim prdProduct2 as Product
Set prdProduct2 = prdRoot.Products.Item("Product2")

' копирование изделия в буфер
objSelection.Clear
objSelection.Add prdProduct2
objSelection.Copy

' получение доступа к продукту, в который необходимо вставить скопированное
Dim prdRoot2 as Product
' Set prdRoot2 = ...   неки образом задаётся объект

' вставка
objSelection.Clear
objSelection.Add prdRoot2
objSeletcion.Paste
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Копирование Part со структурой дерева

Сообщение bit » 17 мар 2011 17:31

Vladimir писал(а):как взять обратный путь, то есть от Part1 до ProductRoot1?


На С++, то можно использовать CATPathElement.
bit
Участник
Участник
 
Сообщения: 166
Images: 3
Зарегистрирован: 24 июл 2008 11:45
Откуда: Минск

Re: Копирование Part со структурой дерева

Сообщение Vladimir » 20 мар 2011 22:24

Спасибо большое, что ответили. Задачу слегка поменяли, нужен был не сам продукт а только путь. В принципе я ее решил в VBA. Сейчас буду думать как это перевести в С++.
Vladimir
Новичок
Новичок
 
Сообщения: 31
Images: 0
Зарегистрирован: 10 фев 2008 15:44
Откуда: TLT


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3