¬аше окно в мир —јѕ–
Ќовости —татьи јвторы —обыти€ –екламодател€м
—татьи

13 марта 2024

Parasolid inside: новые форматы и другие доработки C3D Converter

јлександр —пиваков, руководитель команды разработки C3D Converter, C3D Labs

—пиваков

ќригинал статьи в блоге компании C3D Labs


јвтор представл€ет сценарии использовани€ C3D Converter Ч миграци€ и MultiCAD Ч в пользовательских приложени€х, знакомит с доработками решени€, сделанными в контексте этих задач, и планами развити€ конвертера.

„то собой представл€ет C3D Converter в составе C3D Toolkit и зачем он нужен? √лобально перед нами сто€т две задачи.

Parasolid inside, C3D Converter, 1

–ис. 1

ѕерва€ Ч обеспечить все остальные компоненты C3D Toolkit исходными данными дл€ работы в их предметной области (это касаетс€ и C3D Modeler, и C3D Vision, и C3D B-Shaper). ¬ отношении этой задачи речь идет об импорте или чтении файлов. ¬тора€ задача Ч симметрична€. ѕри наличии некой 3D-модели, созданной остальными компонентами, возникает необходимость передать ее в часть приложени€ или большой системы, которые нашими возможност€ми €вно не покрываютс€. Ёто может касатьс€ расчетных процессов, печати и т. д.

„то мы дл€ этого используем?

Parasolid inside, C3D Converter, 2

–ис. 2

—уществуют два основных подхода. —тандартный св€зан с чтением и записью файлов разных форматов. Ёто форматы как с открытой спецификацией, так и принадлежащие грандам. ¬тора€ группа более многочисленна и представлена как форматами ISO STEP и JT, так и широко распространенными на практике Ч 3MF, IGES, OBJ, STL и др.

¬торой подход более кастомизированный Ч использование плагинов дл€ чтени€ форматов, которые не вход€т в Ђкоробкуї. Ќашим основным объектом €вл€етс€ форма тел.  ак бы она ни была представлена Ч в виде граничных представлений, полигональных объектов, точек, кривых Ч мы ее передаем.  роме того, конвертеры отвечают за корректную передачу структуры сборки, атрибутов и PMI.


ќстановимс€ на двух особенных сценари€х, в которых C3D Converter используетс€ максимально.

Parasolid inside, C3D Converter, 3

–ис. 3

ѕервый Ч это миграци€ на какие-то конечнопользовательские приложени€. –ассмотрим миграцию со стороннего вендора, допустим SolidWorks или AutoCAD, к примеру на  ќћѕј—-3D либо nanoCAD. „то мы имеем исходно? ѕредположим, в некоторой компании есть информационна€ система, в основе которой лежит продукци€ западного вендора. ¬ этой системе доминирующую роль играет —јѕ–, изначально также от разработчиков из-за рубежа. — течением времени оказываетс€, что дл€ выполнени€ задач этой компании больше подход€т отечественные решени€ ввиду разнообразных причин. „то должно получитьс€ на выходе? ¬ результате должны быть установлены копии наших программ и, соответственно, вс€ база документов и моделей Ч также переконвертирована. ¬ данном случае речь идет именно о полной миграции данных. — подобным сценарием мы сталкиваемс€, когда получаем запросы на доработку или запросы на исправление ошибок. Ёто достаточно сложна€ проблема, но иногда нам приходитс€ ее решать.

–ассмотрим, что на самом деле может собой представл€ть информационна€ система какого-либо предпри€ти€.

Parasolid inside, C3D Converter, 4

–ис. 4

¬ реальности вокруг нее происходит большое количество иных процессов, например разработка, обучение персонала, прототипирование, производство и т. д. ¬ качестве исходных данных в этом случае может быть выбрано решение какого-то западного вендора, допустим Siemens, может присутствовать еще какой-либо компонент B. ¬ данном случае следует сделать так, чтобы продукты на базе C3D вошли в исходную систему так, чтобы замещать зарубежные решени€.

ѕочему в такой ситуации нельз€ обойтись простой заменой?

Parasolid inside, C3D Converter 5

–ис. 5

≈сть р€д причин, почему нельз€ мигрировать. ¬о-первых, сроки миграции могут быть слишком внушительными. »ными словами, может потребоватьс€ большой объем доработок, реализаци€ которых займет врем€. ѕомимо этого, может обнаружитьс€ необходимость доработки со стороны конечных пользовательских приложений. ѕричем недостаточно только доработать, изменени€ нужно внедрить, провести тестирование, а это вновь повлечет за собой временные издержки. ¬о-вторых, на предпри€тии заказчика действительно могут протекать сложные живые процессы, из-за которых нельз€ просто вз€ть и отказатьс€ от имеющегос€ инструментари€, без возможности отката к предыдущей системе. ¬-третьих, миграции могут преп€тствовать иные обсто€тельства, св€занные непосредственно с какой-либо отраслевой спецификой. — нашей точки зрени€, эта система называетс€ MultiCAD.

ƒобавим конкретики на примере экосистемы на базе системы NX.

Parasolid inside, C3D Converter 6

–ис. 6

¬ этом случае мы внедр€емс€ в сферу —јѕ– и замещаем, предположим,  ќћѕј—-3D в NX. “акже нам нужно обеспечивать поддержку формата, который изначально предназначалс€ дл€ чтени€ PLM-системой. —ледовательно, задача выгл€дит так: нужно читать и записывать JT и читать формат .PRT. „то передаем? ѕередаем всЄ. “о есть это и B-Rep, и Mesh, и PMI.

‘ормат JT в C3D Labs поддерживаетс€ с 2018 года.  азалось бы, что нового может произойти с тех пор?

Parasolid inside, C3D Converter 7

–ис. 7

Ќа самом деле нововведений достаточно. ¬о-первых, это формат ISO, который пересматриваетс€ раз в п€ть лет. Ќа момент разработки мы поддерживали версию 2012 года, сейчас актуален ISO 2017, и в ближайшее врем€ его заменит верси€ ISO 2022 и ISO 2023. ¬о-вторых, существует втора€ ветка формата JT Ч это то, что поддерживает непосредственно Siemens.  омпани€, естественно, выпускает обновлени€, но не сообщает об этом и не публикует соответствующую документацию. “ем не менее читать мы ее должны. ¬-третьих, вне форматов и документации особое значение имеет практика применени€.  огда, кажетс€, все соответствует требовани€м стандартов и документации, но при этом все-таки не работает.

–ассмотрим подробнее формат JT.

Parasolid inside, C3D Converter 8

–ис. 8

— точки зрени€ представлений этот формат позвол€ет одновременно передавать как граничное представление, так и полигональное, причем последнее на практике использовани€ должно присутствовать об€зательно. Ќа слайде продемонстрирована динамика того, как работа со смешанной моделью, включающей как сетки, так и граничное представление, мен€лась с течением времени. —начала мы не читали ничего: имелась ошибка чтени€ полигонального представлени€. ѕозже ситуаци€ несколько улучшилась. ћы получили возможность читать, но одновременно с этим возникли проблемы с отображением. Ќаконец, финальное состо€ние заключаетс€ в том, что и чтение и отображение достигают оптимальной точки. ¬ этом случае нам приходитс€ говорить об исправлении ошибок.

ќтдельного внимани€ заслуживает граничное представление (B-Rep).

Parasolid inside, C3D Converter 9

–ис. 9

¬ формате JT оно хранитс€, суд€ по практике использовани€, в виде Parasolid X_T. ¬ части чтени€ поддержка актуальных версий Parasolid X_T Ч наша ежегодна€ работа, которую мы выполн€ем на регул€рной основе. —ложнее было с записью. ¬ ответ на записанные файлы в формате JT приходили обеспокоенные ответы заказчиков, которые не могли прочесть точные модели. ѕри этом, если мы записывали те же файлы в X_T, сложностей с чтением не возникало. Ќам удалось разобратьс€, что служило помехой. ƒело в том, что формат X_T предоставл€ет такую возможность, как запись внедренных схем. Ёто средство совместимости разных версий между собой. “о, что ранее представл€лось некритичным, в определенный момент стало преп€тствием. “акими методами, как пристальное всматривание и эксперименты, мы научились записывать детали, и они также стали открыватьс€ в NX, обеспечив возможность дальнейшей работы.

ѕосле того как была решена проблема с детал€ми, возникли трудности со сборками.

Parasolid inside, C3D Converter 10

–ис. 10

 огда мы осуществл€ли экспорт с помощью редуктора из  ќћѕј—-3D, то получали смещение в начало координат. Ёто реальный случай из практики использовани€. «а структуру сборки в формате JT отвечает сегмент LSG (Logical scene graph), в котором имеетс€ множество разных сущностей (Metadata, Instance, Part, Group и пр.).  акую из них использовать Ч большой вопрос. — одной и той же моделью случались диаметрально противоположные ситуации. ѕри открытии в JT2Go все детали оказывались на местах. ѕри открытии в —јѕ– Ч происходило смещение. ќднако и с этими требовани€ми NX мы разобрались, унифицировали конвертер в соответствии с требовани€ми, не потер€в в производительности еще и в других системах.

ќдин из самых сложных вопросов Ч это чтение нативных форматов .PRT.

Parasolid inside, C3D Converter 11

–ис. 11

“ака€ задача сто€ла перед нами с 2019 года, и тогда у нас был выбор Ч делать полностью собственное решение или лицензировать сторонний компонент. “огда наши заказчики Ч разработчики  ќћѕј—-3D Ч прин€ли решение лицензировать пакет Capvidia, который поддерживает не только .PRT, но и множество проприетарных форматов —јѕ–. ћы должны были написать соответствующий модуль интеграции. — одной стороны, мы писали часть модул€ исход€ из требований Capvidia, с другой стороны, готовили ответную часть на базисе 3D. «а год мы научились читать не только формат .PRT, но и еще пор€дка дес€тка других форматов (сканированные сетки, сборки и т. д.).

ќднако, как оказалось, то, что легко достаетс€, еще легче потер€ть. —егодн€ в нашем распор€жении осталс€ интерфейс плагинов.  акое решение было прин€то? ћы нашли нового технологического партнера. »м стала компани€ CAD Exchanger, и ее специалисты своими силами и за достаточно короткий промежуток времени фактически восстановили полную функциональность того, что было сделано. ѕроблем с чтением больше не возникало. “ем не менее опыт оказалс€ болезненным, и параллельно мы стали разрабатывать собственное решение, вернувшись к этой идее. “еперь те же самые иллюстрации мы получаем из решени€, которое сами же и написали.


ќбратимс€ к интересным задачам.

Parasolid inside, C3D Converter 12

–ис. 12

ѕравку ошибок никто не отмен€л. „то мы сделали? ѕри вычислении Parasolid мы столкнулись с новым случаем Ч потребностью делать скруглени€ по двум кромкам. ¬ рамках предобработки нам пришлось плодотворно поработать в формате JT, в частности с единицами длины, геометрией.

 роме того, Ђиз коробкиї у нас по€вилась поддержка нового формата 3MF.

Parasolid inside, C3D Converter 13

–ис. 13

Ёто формат дл€ 3D-печати, где требовани€ к сеткам гораздо более строгие, но и на выходе должен получатьс€ результат, наиболее подход€щий дл€ 3D-принтеров.


–ассмотрим планы развити€ C3D Converter.

Parasolid inside, C3D Converter 14

–ис. 14

≈сли говорить о Ђкоробочномї решении, то задача Ч научитьс€ читать формат 3MF, поддерживать формат SAB в дополнение к SAT и продолжить совершенствовать качество трансл€ции. „то касаетс€ плагинов, мы поддерживаем .PRT, однако не намерены на нем останавливатьс€: следующие по списку Ч SolidWorks, Creo и IFC. ѕри этом в отношении SolidWorks уже проделана значительна€ работа. ћногое мы можем читать, и существуют примеры сборок, засчитанные уже нашим решением, на которых видны и сборки, и некоторые элементы PMI.


–еклама. ќќќ Ђ—3ƒ Ћабсї. erid: 2SDnjcK2ih6



¬акансии:

јктуальное обсуждение

RSS-лента комментариев

ƒавид Ћевин
ƒавид Ћевин
ќт редактора: PLMpedia Ч в хорошие руки
ѕроект ЂЌародное —јѕ–-интервьюї

—лучайна€ стать€:

¬ендоры CAD должны использовать потенциал »» — –упиндер “ара (24 марта 2024)
isicad Top 10

—амые попул€рные материалы

   ‘орумы isicad:

isicad-2010 isicad-2008
isicad-2006 isicad-2004

ќ проекте

ѕриглашаем публиковать на сайте isicad.ru новости и пресс-релизы о новых решени€х и продуктах, о проводимых меропри€ти€х и другую информацию. јдрес дл€ корреспонденции - info@isicad.ru

ѕроект isicad нацелен на

  • укрепление контактов между разработчиками, поставщиками и потребител€ми промышленных решений в област€х PLM и ERP...
ѕодробнее

»нформаци€ дл€ рекламодателей


¬се права защищены. © 2004-2024 √руппа компаний «Ћ≈ƒј—»

ѕерепечатка материалов сайта допускаетс€ с согласи€ редакции, ссылка на isicad.ru об€зательна.
¬ы можете обратитьс€ к нам по адресу info@isicad.ru.