AutoCAD DXF файлы отображаются в OpenGL / OpenGLES - PullRequest
2 голосов
/ 06 сентября 2010

Мне интересно, есть ли способ извлечь необходимые данные из файла autocad .dxf, чтобы я мог визуализировать структуру в opengl?

Я нашел несколько старых холодных фрагментов для оконнаписано на cpp, но, поскольку стандартные изменения, я предполагаю, что 15-летний код немного устарел.

Кроме того, есть книга о стандарте файлов .dxf, но она также из 90-х и, кроме того, редко доступна.

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

Попытка заглянуть в файлы .dxf также не дала особого понимания, поскольку простой кубоид уже содержит много данных!

Может кто-нибудь дать мне подсказку о том, как к этому подойти?

Ответы [ 2 ]

1 голос
/ 17 сентября 2010

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

Недавно мы написали конвертер DXF в JAVA, полностью основанный нассылки.Хотя многие из сущностей относительно просты, многие другие сущности (3DSOLID, BODY, REGION, SURFACE, Swept Surface) на самом деле невозможно перевести, поскольку в справочной информации говорится, что группы являются в основном собственными данными.Другие объекты (Extruded Surface, Revolved Surface, Swept Surface (снова)) содержат значительные куски двоичных данных, которые могут содержать важную информацию, которая вам нужна.

Эти объекты не были жизненно важны для наших усилий, но если вы хотите перейти на OpenGL, это могут быть объекты, которые вас особенно интересуют.

1 голос
/ 08 сентября 2010

Autodesk имеет ссылки для форматов DXF, используемых в последних версиях AutoCAD.Я бы, наверное, еще раз взглянул на этот 15-летний код.Даже если вы не можете / не используете его как есть, это может послужить хорошей отправной точкой.Спецификация DXF достаточно велика и сложна, чтобы иметь что-то для начала, и просто добавлять новые фрагменты и кусочки, где это необходимо, может быть большая справка.В качестве формата обмена DXF должен быть достаточно консервативным, в том числе только с элементами, которые практически все программы могут интерпретировать разумно напрямую.

Возможно, меня больше беспокоит сам код, чем изменения в формате DXF.Много старого кода использует глубокие монолитные иерархии классов, которые немного отличаются от того, что вы ожидаете в современном C ++.

...