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

16 но€бр€ 2017

Ќовые возможности расширенного формата C3D дл€ чтени€ и записи 3D-моделей

“ать€на ћитина, руководитель отдела программировани€ в нижегородском офисе C3D Labs

“ать€на ћитина

ѕредисловие от C3D Labs
ћногие специалисты изо дн€ в день используют функционал трехмерного моделировани€ в системах автоматизированного проектировани€, но далеко не каждый конструктор или проектировщик задумываетс€ о том, что же кроетс€ за ширмой привычных интерфейсных команд, обеспечивающих столь ценимый комфорт и удобство проектировани€ изделий в 3D.  ак правило, на общее впечатление от использовани€ —јѕ– вли€ет быстродействие при работе с большими сборками, а также скорость загрузки 3D-моделей в систему. ¬ инженерном сообществе вполне справедливо и небезосновательно считаетс€, что за эту часть функционировани€ отвечает геометрическое €дро.  омпани€ C3D Labs, дочернее предпри€тие группы ј— ќЌ и резидент »“-кластера —колково, с 2012 года занимаетс€ созданием коммерческого €дра C3D Modeler. ћы уже рассказывали ранее про оптимизацию вычислений в —јѕ–. ¬ этой статье представлены новые возможности разрабатываемого расширенного формата C3D.


***

Ѕольшинство пользователей систем автоматизированного проектировани€ при работе с большими и сложными 3D-модел€ми сталкиваютс€ с одной и той же проблемой Ц геометрические модели достаточно долго загружаютс€ в систему, поэтому неизбежно приходитс€ ждать какое-то врем€, прежде чем можно будет продолжить работу по проектированию издели€. ƒобавим к этому необходимость повтор€ть процедуру каждое утро перед началом рабочего дн€, и вот мы получаем мелкого, но назойливого раздражител€, а вместе с ним и недовольство пользовател€ программного приложени€.

¬ сложившейс€ ситуации разработчики систем автоматизированного проектировани€ стрем€тс€ вс€чески улучшить показатели загрузки. ¬ частности, в машиностроительной —јѕ–  ќћѕј—-3D предусмотрено несколько вариантов загрузки информации из файла: модель с историей построени€, фасетна€ модель и габаритный €щик. ѕользователь сам выбирает, что ему нужно, и, таким образом, задача решаетс€ на уровне приложени€.

— другой стороны, разработчики формата JT предусмотрели на уровне архитектуры файла возможность передачи сразу двух представлений геометрии: граничного и полигонального. Ёто позвол€ет подгружать при первоначальной загрузке 3D-модели в приложение еЄ фасетное представление (которое сразу может быть передано на отрисовку), а параллельно, если потребуетс€, загружать более Ђт€желоеї граничное представление, над которым производитс€ больша€ часть пользовательских манипул€ций в —јѕ–. ”читыва€, что JT €вл€етс€ открытым форматом, то, соответственно, применить его можно не только в системах проектировани€, но и в различных просмотрщиках 3D-моделей или в более сложных программах дл€ работы с метаданными.

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

–ассмотрим работу с форматом C3D более подробно.

—тандартный формат C3D

ѕри работе со стандартным форматом данных C3D объекты модели записываютс€ последовательно в один набор кластеров File Space (рис. 1), у которого существует единственна€ точка записи.  огда геометрический объект ссылаетс€ на другой объект, внутренний объект записываетс€ внутри ссылающегос€ на него объекта. ѕри этом объект модели, на который ссылаютс€ несколько других объектов, записываетс€ внутри первого ссылающегос€ объекта и регистрируетс€ в таблице Ђ–егистрируемых объектовї. ¬се последующие объекты, ссылающиес€ на данный объект, должны содержать индекс из таблицы.
–асширенный формат C3D

–исунок 1. ’ранение объектов геометрической модели в стандартном формате C3D

ѕреимущества такого классического подхода Ц это минимум накладных расходов при записи и чтении модели, компактность файла, простота программной реализации и удобство использовани€ API. ¬ то же врем€ така€ организаци€ работы с данными накладывает ограничени€ на использование формата C3D:
  • »нформаци€ о структуре модели или отдельных ее объектах может быть получена только после прочтени€ всей модели целиком.
  • «агрузка объектов модели в произвольном пор€дке и импорт отдельных объектов невозможны, так как: а) информаци€ о позиции хранени€ объекта в файле C3D отсутствует; б) объект может быть вложен в другой объект или ссылатьс€ на такой объект, дл€ которого не известна позици€ хранени€.
„тобы уйти от подобных ограничений, как раз и был разработан расширенный формат C3D.

–асширенный формат C3D

ќбновление формата C3D потребовало от команды C3D Labs детальной проработки основных требований к новой структуре. ќтчасти они уже были сформулированы ранее Ц это обеспечение независимого хранени€ объектов и возможность их выборочного чтени€, а также предоставление доступа к информации об объектах геометрической модели без чтени€ всей модели из файла. —реди дополнительных требований стоит отметить создание новых интерфейсов (дл€ чтени€ и записи моделей, чтени€ отдельных объектов модели и пр.) и, что немаловажно, поддержку совместимости с текущим форматом C3D.

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

  • ¬нутри объекта записываютс€ только те объекты, которые используютс€ исключительно данным объектом. ѕри этом объекты каждого уровн€ модели записываютс€ в отдельный File Space, а в процессе записи файла можно переключатьс€ между различными точками записи (рис. 2).
  • ¬ качестве ссылки на объект используетс€ позици€ его хранени€ в файле.
–асширенный формат C3D

–исунок 2. ’ранение объектов геометрической модели в расширенном формате C3D

„то мы имеем в итоге? –еализована однопроходна€ обработка геометрической модели при записи модели и ее оглавлени€ в файл. ѕри этом дерево объектов геометрической модели (оглавление модели) создаетс€ дл€ всех объектов геометрической модели типа Items и записываетс€ в файл в виде плоского списка узлов, где каждый узел дерева хранит данные дл€ определенного объекта:
  • тип объекта,
  • им€ объекта,
  • габарит объекта и локальную систему координат (если есть),
  • позицию записи/чтени€ объекта в файле (индекс кластера и смещение в нем),
  • список непосредственных потомков узла,
  • сведени€ об атрибутах объекта.

ѕрименение в области —јѕ–

ѕри работе с расширенным форматом C3D в момент загрузки модели можно определить, какие конкретно объекты (по наименованию, типу, размеру или атрибутам) необходимо прочитать и отобразить на экране (рис. 3). –азработанный интерфейс чтени€ данных поддерживает работу как с расширенным, так и со стандартным форматом C3D, за счет чего обеспечиваетс€ совместимость с более ранними верси€ми файлов. »спользование данного функционала позволит уменьшить врем€ загрузки данных в тех случа€х, когда пользователю —јѕ– необходимо частично прочитать информацию из файла, а не грузить всю модель целиком.
–асширенный формат C3D

–исунок 3. «агрузка геометрических объектов из файла C3D (по наименованию, типу или размеру)

ќбновленна€ структура расширенного формата C3D также позволит оптимизировать алгоритмы чтени€ и записи данных в формат C3D под много€дерную архитектуру. Ќа сегодн€шний день функционал находитс€ в стадии активного развити€.


***

Ќапоминаем, что любой желающий может Ѕ≈—ѕЋј“Ќќ скачать приложение C3D Viewer дл€ просмотра и конвертации 3D-моделей, а также вз€ть на тестирование инструментарий C3D Toolkit дл€ разработки инженерного программного обеспечени€.


„итайте также:


¬акансии:

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

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

ƒавид Ћевин
ƒавид Ћевин
ќт редактора: ћодель и ÷ифровизаци€
ѕроект ЂЌародное —јѕ–-интервьюї

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

Altium Designer. Ќовые возможности 18-й версии — јндрей —авкин, руководитель направлени€ ECAD √руппы компаний SWR (ранее SolidWorks Russia) (22 ма€ 2018)
isicad Top 10

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

   ‘орумы isicad:

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

ќ проекте

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

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

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

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


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

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