Связь между схемой и 3D для труб

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

Связь между схемой и 3D для труб

Сообщение Wireless_Fidelity » 05 апр 2011 10:53

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

В CATIA разводка систем (трубо- воздухопроводы, кабели) производится на основе схемы, созданной в схемном модуле соответствующей дисциплины. В частности, нарисованные на схеме трубы (командой Route line) прокладываются в 3D (командой Route a Run).

Вопрос: как, находясь в документе с 3D моделью разведённой системы, для присутствующих в ней труб (как "голых" Run'ов, так и Run'ов с установленными физическими трубами) определить значок на схеме, для которого эта труба была построена. Подойдут любые решения, от KWE до RADE.

UPD
В приложении находится пример сборки трубопровода (дисциплина Piping), разведённого по схеме.
Вложения
Sample_Piping_Assembly.zip
(173.19 КБ) Скачиваний: 547
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Связь между схемой и 3D для труб

Сообщение Artem » 07 апр 2011 15:33

Насколько я понял выложен конечный вариант когда деталь(EQ-001) уже "подгядели" из схемы, а первоначально ее в сборке нет? одни раны и схема с компонентом?
Последний раз редактировалось Artem 07 апр 2011 16:54, всего редактировалось 1 раз.
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: Связь между схемой и 3D для труб

Сообщение Artem » 07 апр 2011 16:46

Если ситуация как я написал выше (данные снимать сендмессаджем/комом)
1)Pipes_CNEXT - получаешь входные данные -пусть це будет выделенная труба BENDABLE-PIPE-BW-2in.CATPart
2)Шлешь alt+enter снимаешь с окна данные Piping/parent piping name(U1-P101-2in-CS150R-FG)
3)активируешь/окрываешь схему
4) делаешь список продуктов(например через selection1.Search "CATAsmSearch.Product,all").Можешь фильтрануть его по "PipeFunction"(Part Number/Ins.Name)
-находишь среди него по Piping/parent piping name(U1-P101-2in-CS150R-FG) искомую.
5)выделяешь ее и либо шлешь c:Related Objects либо через CATIA.StartCommand активируешь дерево парент/чилдрен
6)Шукаешь по насройкам - нас в основном интересует кнопка freese - если она при загрузке команды активна то окно чистое(хотя возможно просто глюк моей машины)=> ее сначала снимаем и потом нажимаем(если сразу отжата то просто нажимаем). теперь переходишь к CATwindowsdrawingarea и шукаешь стрелочками вверх/низ вправо/влево(работают ПРИ НАЖАТОЙ freese). При этом каждый раз получая selection1.item(1).value -Вуаля у нас список привязанных сборок - фильтранешь из него трубы и получишь детальки привязанные (в примере одна-но я полагаю с другого конца могут привязать и вторую)
7)в селект каждую + альт интер и снимаешь данные(в основном интересует 2D Component Instance\document и Reference 2D Component) - имеешь название 2д примитива
8.)Визуализация элемента в сборке....ну тут как в тз прописано, либо если сам и пишешь тз, то как фантазия повернет - я бы продублировал данные либо в простые драфтинговые дитто либо в парты(скетчер)....либо для каждого элемента сделал простой jpg(если интересует только просмотр)

Если деталь находится в сборке то все просто - Instance Name одинаковый

Подозреваю в рейде все можно реализовать гораздо проще, но уже долго с ним не общался
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: Связь между схемой и 3D для труб

Сообщение Wireless_Fidelity » 07 апр 2011 20:46

Огромное спасибо за ответ! Только наши, русские программисты способны так быстро и находчиво решать проблемы :-) (особенно понравилось про стрелочки и про "freeze" :-D
А сейчас начну огорчать.

Дело в том, что трассы и трубы всегда прокладываются на основе идентификатора трассы - абстрактного объекта, не имеющего физического представления, в котором хранятся из которого "наследуются" свойства всем элементам, проложенным по этому LineID. Например, если у LineID в соответствующей вкладке (у нас это Piping) у атрибута Nominal size проставлено 2in, то и трубы, и трубная арматура, относящиеся к этому LineID, будут иметь в своих свойствах 2in в атрибуте Nominal size. В нашей сборке два идентификатора трассы: U1-P101-2in-CS150R-FG и U8-P801-2in-CS150R-FG.

Говорю всё это для того, чтобы показать, что идентификатор трассы НЕ является трубой ни в 3D, ни на схеме. И по одному идентификатору трассы вполне могут быть проложены (а в реальности так и происходит) 5 различных трасс (Run'ов), на каждой из которых лежит по трубе. Вот в этот момент возникает неоднозначность.
В схеме по одному LineID протянут пять схемных значков труб (см. приложенный архив). У всех у них в Related objects есть этот LineID, а LineID, в свою очередь, связан со всеми пятью схемными значками (назовём это множество "набор схемных значков")
После чего в 3D по схемным значкам труб протянуты трассы с физическими трубами. У всех трасс в Related Objects есть тот же LineID, а у физических труб там дополнительно содержится использованная для прокладки трасса. Таким образом, LineID в 3D связан со всеми его трассами и установленными на них трубами (а это множество назовём "набор проложенных труб").
Проблема в том, что "набор схемных значков" и "набор проложенных труб" никак не связаны друг с другом (точнее, эту связь никак не увидеть). Не совпадают ни имена, ни порядок следования объектов, ни даже их количество. Для расставленного оборудования всё совершенно по-другому, программный код отлажен и работает, но мой вопрос касается именно труб и трасс.

От себя добавлю, что, как мне кажется, получать инфомацию о схемном значке, по которому была проложен труба, с идеологической точки зрения нужно из документа с 3D сборкой. Потому как схема может быть разведена несколько раз в различных сборках. А вот сборке может соответствовать только одна схема. Именно поэтому в схеме не должно быть информации о её 3D-представлении, но в сборке данные о схеме должны быть. Это же подтверждается тем фактом, что как только при разводке трубопровода используется какая-либо схема, её дерево спецификаций копируется в дерево спецификаций сборки в качестве отдельного продукта.

Теперь по программной части. По всем дисциплинам из Equipment & Systems данные по "родительскому" идентификатору трассы, по расстановке оборудования (не труб) и прочие полезные вещи в Automation достаются через PspFramework (PlantShip Interfaces в CAA RADE). Поэтому манипуляции со вкладочками и Alt-Tab не требуются.
Однако, окно Related Objects отображает для физической трубы не только "родительский" LineID, но и использованную трассу, а это ценная информация. За это отдельное спасибо.

Повторюсь, в приложении лежат документы сборки и схемы, которые наглядно демонстрируют проблему идентификации схемных значков труб по соответствующим им трассам и физическим трубам в 3D.
Вложения
TubesOnly_Sample.zip
(227.3 КБ) Скачиваний: 545
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Связь между схемой и 3D для труб

Сообщение Artem » 08 апр 2011 14:03

В общем случае я так понял без дополнительного "пользовательского"маппинга не обойтись(предложение ручного селекта, либо по параметру revision\definition и т.п.), чтобы сделать его более безболезненным можно попробывать его реализовать при вставке трубы/рана....В качестве конфет можно сделать фильтры - для рана например подсчитывать число коннектов к другим ранам и по данному количеству фильтрануть трубы в схеме - но это подойдет при маппинге произведенном после построения всех ранов в сборке, а не при вставке нового конечно. Для существующих труб фильтр по предложенному выше вырианту -по идентификатору (в первом варианте примера практически однозначно определял сборку по схеме, во втором к сожалению бесполезен)....
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: Связь между схемой и 3D для труб

Сообщение Wireless_Fidelity » 08 апр 2011 15:00

Боюсь, что вариант с ручной повторной "привязкой" следует рассматривать в последнюю очередь как радикальное средство. Но в этом случае фильтры по идентификатору трассы действительно облегчат жизнь пользователю. Спасибо.

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

Re: Связь между схемой и 3D для труб

Сообщение Artem » 08 апр 2011 15:35

Каким образом получили сборку по схеме? Какой то кнопкой в катьке сгенерировали по схеме или в паралельном окне смотрели и вручную собирали?
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: Связь между схемой и 3D для труб

Сообщение Wireless_Fidelity » 08 апр 2011 19:02

При разводке трассы и расстановке оборудования нажатием кнопки Change to schematic mode происходит переход в режим использования схемы. В этом режиме в открывающееся окно подгружается файл схемы и в дальнейшем при каждой расстановке осуществляется выбор устанавливаемого элемента.
Ниже поясняющие скриншоты:

Кнопка перехода к другому режиму


Режим расстановки по схеме
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Связь между схемой и 3D для труб

Сообщение Artem » 09 апр 2011 09:08

CAA RADE...эх даавно это было - пройдика по дереву аттрибутов для каждого фичера в дереве (если атрибут обьект то по его аттрибутам и т.д. по рекурсии) и выведи портянку с данными (первоочередно конечно раны смотрим)
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: Связь между схемой и 3D для труб

Сообщение Wireless_Fidelity » 09 апр 2011 13:58

Что есть "портянка с данными"? Какие именно данные нужны и как их получить?
Изучив PlantShip Interfaces, я не нашёл каких-либо намёков на связь расставляемого оборудования со схемой. А для ранов так вообще доступно только построение по контрольным точкам...
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: Связь между схемой и 3D для труб

Сообщение Artem » 09 апр 2011 21:10

catispecobject+рекурсивный проход по ключам даст тебе все что надо
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14


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

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

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