new from и потеря exterenal references

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

new from и потеря exterenal references

Сообщение Artem » 19 окт 2011 14:02

При создании новой сборки на основе старой (в "ручном" режиме без макроса) выдается окно предлагающее выбрать для пересоздания подсборки и детали из состава данной сборки. Если этого не сделать,и пересоздать только главную сборку, то геометрия в exterenal references этих деталей потеряет ссылки (что интересно - если включить запись макроса данное окно не возникает). У CATIA.Documents.NewFrom параметр только один и управлять пересозданием состава основной сборки мы не можем, но меня больше интересует не данная возможность, а следствие ее отсутствия(как я думаю) - потеря внешних ссылок. От этого можно как-нибудь исбавиться?
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: new from и потеря exterenal references

Сообщение Wireless_Fidelity » 19 окт 2011 15:36

Добрый день.

В сборке AsmOrig две детали: PartA и PartB.
В PartA построен кубик, в PartB построена точка на грани кубика из PartA. В External References у PartB содержится поверхность Surface.1, привязанная к грани кубика из PartA.

При использовании команды NewFrom (для основной сборки, без указания деталей) в новой сборке AsmNew связь между деталями сохраняется, при изменении грани кубика в PartA точка в PartB меняется корректно (V5 R19 SP9)
Однако, если смотреть ссылки PartB через меню Edit-Links, оказывается, что эта деталь имеет ссылку не только на PartA (от Surface.1 в External References к грани кубика), но и к оригинальной сборке AsmOrig. Хотя, по-моему, правильно было бы ссылаться на новую сборку AsmNew.

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

Re: new from и потеря exterenal references

Сообщение Artem » 19 окт 2011 16:09

Спасибо за внимание и потраченное время (и за предыдущий топик тоже)
К сожалению описанные вами модельки у МЕНЯ ведут себя по другому сценарию (как в первом посте)
Sp8 r19......
Может где волшебная галочка в настройках?
qqqq.7z
(43.81 КБ) Скачиваний: 490
animae scrinium servitus
Аватара пользователя
Artem
Активный участник
Активный участник
 
Сообщения: 387
Зарегистрирован: 14 сен 2007 07:14

Re: new from и потеря exterenal references

Сообщение Wireless_Fidelity » 20 окт 2011 11:25

Воспроизвел у себя. Оказалось, что у меня ссылки тоже ломаются, достаточно было просто побольше подвигать кубик.
Источник проблемы в контекстных ссылках. PartB ссылается на PartA в контексте оригинальной сборки. И эта информация об этом сохранена в документе PartB.CATPart. Поэтому когда для сборки выполняется New from без включения в него деталей, ссылки в документах деталей не обновляются.
Чтобы это дело победить нужно либо включать в New from детали, либо создавать новую сборку, включать в неё две получившиеся и применять команду Edit-Components-Define Contextual
Links к проблемной детали. При этом, аправда, нарушится связь в оригинальной сборке. Но это и понятно, в одном документе детали одна и та же ссылка не может существовать в двух контекстах.
К сожалению, оба предложенных способа не могут быть реализованы в Automation без использования WinAPI. Поэтому предлагаю воспользоваться классом SendToService, позволяющем в полной мере программно сделать то же, что и команда SendTo.
Аватара пользователя
Wireless_Fidelity
Активный участник
Активный участник
 
Сообщения: 394
Зарегистрирован: 10 апр 2010 00:11

Re: new from и потеря exterenal references

Сообщение Artem » 20 окт 2011 13:06

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

Re: new from и потеря exterenal references

Сообщение likemilk » 11 апр 2012 12:30

Описанный способ построения ни что иное как создание "контекстных связей". При таком способе построения связей, геометрия ссылается не только на Part, но также завязана на Product (в котором шло создание связей с исходной деталью) и положение Part-ов в Product-те.
Думаю что корректного пересохранения через VBA недобится.
Как вариант можно создавать связи через публикации, их после пересохранения можно подменить, в противном случае ссылка просто умирает ((
Я стараюсь не строить контекстных связей дабы избегать таких неприятностей
likemilk
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 02 дек 2008 15:23


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

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

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