простой формат обмена для 2-мерных векторных путей

Я ищу способ перенести простые двумерные пути из программы САПР, такой как AutoCAD, в мою программу.

Формат должен быть как можно более простым для синтаксического анализа.
Программа написана на C #.
В каждом файле будет один или самое большее несколько путей, и эти пути могут быть открытыми или закрытыми.

Я изучал стандартные форматы экспорта САПР. IGES, EPS, DXF, PDF - все они достаточно мощные, но проблема в том, что они намного мощнее, и написание конвертера, который может извлекать из них описания путей, было бы серьезной задачей.

Формат STL подошел бы моим потребностям именно в своей простоте, за исключением того, что он подходит только для трехмерных поверхностей, а не для двухмерных путей.

Каков стандартный способ получения двумерных путей из программ САПР?
Есть ли другой формат, который я пропустил, или существует ли библиотека .net для любого из этих форматов, которая может извлекать только ту информацию, которая мне нужна?


person HugoRune    schedule 26.11.2012    source источник


Ответы (3)


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

person abenci    schedule 27.11.2012
comment
Не удивлюсь, если где-нибудь в сети найду бесплатный парсер для DXF. AutoCAD существует уже давно. - person Nick.T; 27.11.2012

Я согласен с Альберто в том, что DXF должно быть довольно простым в управлении. Это зависит от того, как вы хотите использовать информацию в своей программе (например, собираетесь ли вы ее рисовать?)

Когда вы говорите «2D пути», я предполагаю, что вы имеете в виду полилинии. Альтернативой было бы преобразование всех ломаных линий в SVG.

Вам просто нужно проанализировать каждый сегмент полилинии и определить, является ли это линией или дугой. Затем вам нужно преобразовать линию или дугу в строку SVG.

Изменить: это реально возможно только в том случае, если вы пишете плагин AutoCAD для экспорта данных. Если вы просто хотите сохранить файл AutoCAD, используя один из форматов AutoCAD, то DXF, вероятно, является лучшим вариантом.

person JayP    schedule 27.11.2012

Вам следует рассмотреть возможность использования стандартного формата данных, такого как STEP (стандартный для обмена данными модели продукта), чтобы извлекать данные из вашего САПР. Существует библиотека с открытым исходным кодом STEPcode, написанная на C ++.

Autocad должен экспортировать данные в формат STEP P21: см. этот разговор .

person rochb    schedule 30.11.2012