Начальная точка для изучения форматов файлов CAD / CAE? - PullRequest
6 голосов
/ 21 июня 2009

Мы разрабатываем программное обеспечение для анализа стресса и напряжения в университете. Теперь пришло время перейти от прямоугольников, прямоугольников и сфер к реальным моделям. Но я все еще не знаю, с чего начать.

В нашем программном обеспечении мы собираемся строить сетки, а затем производить расчеты, но как мне импортировать твердые тела из программного обеспечения CAD / CAE?

1) Как организованы модели CAD / CAE? Как представлены твердые тела? Каковы возможности форматов DWG, DXF, IGES, STEP? Например, есть полный справочник по DXF, но мне трудно понять, не зная основных понятий.

2) Существуют ли библиотеки C ++ для импорта твердых тел из форматов файлов CAD / CAE? Не будет ли слишком сложно построить полную модель, чтобы иметь возможность импортировать полный файл?

Ответы [ 6 ]

7 голосов
/ 21 июня 2009

Для импорта твердых тел сначала необходимо экспортировать их из системы САПР. Большинство файлов данных системы САПР являются собственностью (если они не перешли на XML за те несколько лет, что я был вне отрасли!). DWG - это формат файлов Autodesk, и они не поощряют людей читать его напрямую. Они предложили библиотеку для чтения / записи файлов, если память не изменяет, но я не знаю, каково это сейчас. DXF, IGES и STEP - все форматы передачи данных.

DXF принадлежит Autodesk, но публикуется, поэтому другие компании могут использовать его для чтения и записи моделей. Ссылка на DXF сложна, но это всего лишь ссылка - вам нужно знать концепции, прежде чем вы сможете понять, что она представляет.

Твердые модели могут быть представлены несколькими способами, либо с помощью конструкционной твердой геометрии (CSG), где форма состоит из сложения или вычитания твердых примитивов друг от друга, либо с помощью граничного представления (B-Rep), где края сохраняются или с помощью триангулированных граней (которые используются в 3D Studio MAX, WPF и многих других) и так далее. Конкретный формат будет зависеть от того, для чего предназначен разработчик модели.

Существуют библиотеки и инструменты для чтения различных форматов файлов. Я не знаю, какие из них все еще активны, так как прошло более 5 лет с тех пор, как я активно занимался 3D-графикой. Вам лучше поискать текущий урожай самостоятельно. Я бы порекомендовал начать с Википедии - там будет несколько статей по 3D-графике, и должно быть много ссылок для дальнейшего чтения и инструментов / библиотек.

Если у вас есть считыватель, вам необходимо преобразовать данные во внутренний формат - это не тривиальная задача. Возможно, вам лучше принять существующий формат. Одной из моих задач было чтение моделей из различных источников в структуру данных моей компании. Моей задаче очень помог тот факт, что разработчики моделей, которые мы поддерживали, пришли с API, которые позволяли нам напрямую читать сетки моделей, и оттуда это было относительно простой (но никогда не легкой) задачей по преобразованию их сетки в нашу. Всегда были крайние случаи и нюансы формата, которые вызывали головные боли. Они были умножены в несколько раз, если бы нам пришлось самим читать формат файла - например, для DXF или VRML.

4 голосов
/ 20 марта 2010

Наиболее распространенный способ представления твердотельных моделей в текущем программном обеспечении 3D CAD (CATIA, Pro / Engineer / Solidworks / NX) - через представление границ (B-REP).

Однако большинство библиотек для импорта таких данных САПР являются собственностью. Некоторые библиотеки поступают напрямую от геометрических разработчиков моделей (таких как ACIS с Interop, Parasolid или Granite), другие - от небольших компаний-разработчиков программного обеспечения, специализирующихся на рынке перевода данных CAD.

Со стороны открытого исходного кода, возможно, взгляните на ядро ​​OpenCascade. Это ядро ​​было открытым исходным кодом (в основном) и имеет некоторые функции STEP для импорта и создания сетки.

3 голосов
/ 21 июня 2009

Лучше всего работать с существующей системой CAD с открытым исходным кодом, такой как BRL-CAD , которая включает поддержку многочисленных импортеров и экспортеров.

Ваша интуиция о том, что изучение заданного формата будет трудно понять и реализовать поддержку, вполне верна, особенно когда речь идет о форматах твердой геометрии, предназначенных для анализа. Сохранение целостности с топологическими гарантиями важно для получения достоверных анализов, но редко решается с помощью простых форматов сетки.

В частности, для двух распространенных международных стандартов (IGES и STEP) их чрезмерно сложно поддерживать, поскольку они могут содержать одну и ту же твердую геометрию, закодированную различными способами. Рассмотрим простой пример сферы. Эта сфера может быть закодирована как простая точка и радиус (без явной информации о поверхности, неявной формы, общей для использования в CSG), это может быть полигональная сетка (формат сетки BREP с потерями), это может быть поверхность сплайна (BREP NURBS ), это может быть объемный (например, данные КТ) и многое другое. Сосредоточение внимания на любом из них включает различные компромиссы (простота, надежность, аналитические гарантии, гибкость и т. Д.).

Как уже упоминалось в отношении BRL-CAD, это большая система твердотельного моделирования с открытым исходным кодом, обладающая множеством функциональных возможностей во многих областях, которые вы можете использовать, около дюжины библиотек функциональности и более 400 сжатых инструментов (около двух десятков - геометрия). преобразователи). Даже если это не делает именно то, что вам нужно, у вас есть исходный код, и вы можете внести улучшения и сотрудничать с существующим сообществом, чтобы помочь реализовать то, что вам нужно.

2 голосов
/ 18 августа 2009

Перечитав ваш вопрос, позвольте мне полностью изменить свой ответ. Если вам нужны только меши, просто используйте простой формат на основе сетки.

OBJ прост, хорош и очень стандартен. Преобразование из многих форматов САПР в OBJ требует тесселятора / мешира, о котором вы все равно не хотите писать, просто получите пакет САПР для выполнения перевода. Мои или носороги недорогие и поддерживают множество форматов.

1 голос
/ 18 августа 2009

Я регулярно работаю с коммерческим программным обеспечением для электромагнитного моделирования, которое использует ядро ​​моделирования ACIS и компоненты Simmetrix . Хотя я не могу лично подтвердить простоту использования этих библиотек, похоже, они работают так, как рекламируется, и могут сэкономить вам много работы. Они могут быть недоступны на подходящих условиях для академического использования, но, похоже, они предназначены для того, чтобы делать именно то, что вы хотите.

0 голосов
/ 20 сентября 2009

Насколько я знаю, все программное обеспечение CAD / CAE поддерживает форматы файлов IGES, STEP и т. Д. Для геометрии и идей, анализа и т. Д. Для данных сетки. Большую часть времени мы обнаруживаем, что iges не содержит топологической информации. Но разработка STEP (стандарта для обмена продуктами) началась в 1984 году как преемник IGES. Первоначальный план состоял в том, что «STEP должен основываться на одной единой, полной, независимой от реализации информационной модели продукта, которая должна быть главной Запись интегрированных тематических и прикладных информационных моделей ». У нас есть несколько библиотек для чтения и записи этих форматов файлов. Но так как я написал код для чтения и записи геометрии, а также сетки, чтение или запись этих форматов файлов не сложно, а довольно скучно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...