Начальная точка для изучения форматов файлов CAD/CAE?

define не позволяет вам определять константы в C #, как вы можете в C / C ++.

Из этой страницы :

Директива #define не может использоваться для объявления постоянных значений, как это обычно делается в C и C ++. Константы в C # лучше всего определять как статические члены класса или структуры. Если у вас есть несколько таких констант, рассмотрите возможность создания отдельного класса «Константы» для их хранения.

Если вы хотите отразить номер сборки в вашем классе AssemblyInfo, большинство инструментов сборки поддерживают генерацию этого класса во время сборки. MSBuild имеет задачу для этого. Как и NAnt . Не уверен, как Хадсон делает это.

6
задан Péter Török 17 October 2010 в 13:52
поделиться

6 ответов

Your best bet is to work with an existing open source CAD system, such as BRL-CAD, that includes support for numerous importers and exporters.

Your intuition that learning a given format would be difficult to understand and implement support for is quite true, particularly when dealing with solid geometry formats intended for analysis purposes. Preserving solidity with topological guarantees is important for producing valid analyses, but rarely addressed by simple mesh formats.

In particular for the two prevalent international standards (IGES and STEP), they are excessively complex to support as they can contain the same solid geometry encoded in numerous ways. Consider a simple sphere example. That sphere could be encoded as a simple point and radius (with no explicit surface information, an implicit form common with CSG usage), it could be a polygonal mesh (lossy BREP facets mesh format), it could be a spline surface (BREP NURBS), it could be volumetric (think CT scan data), and more. Focusing on any one of those involves various tradeoffs (simplicity, solidity, analytic guarantees, flexibility, etc).

As mentioned regarding BRL-CAD, it's a large open source solid modeling system that has a lot of functionality in many areas you could leverage, about a dozen libraries of functionality and more than 400 succinct tools (two dozen or so being geometry converters). Even if it doesn't do exactly what you need, you have the source code and can contribute improvements back and collaborate with an existing community to help implement what you need.

3
ответ дан 8 December 2019 в 13:48
поделиться

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

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

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

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

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

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

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

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

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

7
ответ дан 8 December 2019 в 13:48
поделиться

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

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

2
ответ дан 8 December 2019 в 13:48
поделиться

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

1
ответ дан 8 December 2019 в 13:48
поделиться

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

0
ответ дан 8 December 2019 в 13:48
поделиться

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

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

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

4
ответ дан 8 December 2019 в 13:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: