@DWS11

Как получить фигуры из dxf?

Всем привет!
Подскажите, существуют ли готовые решения для получения фигур из dxf с помощью (тут абсолютно любой ЯП)?
По сути нужно просто понять, что нарисовано, круг, трапеция, квадрат... Т.е. какие-то простые замкнутые геометрические объекты.
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
avc
@avc
Инженер и программист
Готовые решения - это API AutoCAD и всех его многочисленных клонов (на базе ODA Teigha). Если устраивает писать не отдельную программу, а плагин под любой этот CAD, то это будет самый простой вариант. Есть C++ API (ObjectARX), есть под .Net и, например, C# . Если в системе установлен именно AutoCAD - есть такая штука как AcCoreConsole с помощью которой можно вызывать API автокада из внешних программ. Ну и наконец есть дорогущие библиотеки от Autodesk (RealDWG) и ODA (Teigha) для полноценной работы с DWG и DXF без установки каких-либо CAD.
В каких-то очень простых случаях можно прочитать и распарсить сам файл DXF - обычно это простой и понятный текст (хотя DXF теоретически может быть бинарным)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@AlexSku
Программист по автоматике
Возможно, сконвертировать в emf, а тот прочитать как список команд.
Аналогично может получится и через svg, но надо искать способы извлечения команд.
Ответ написан
Комментировать
@Iv_and_S
"фигур из dxf" - это неоднозначное определение того что у вас есть.
если условно, круг нарисован одним примитивом, тогда:
через "ваш CAD " API можно и так получить тип объекта (имеется ввиду тип CAD классификации), без каких либо проблем.
обычно что то типо:
id.ObjectClass.DxfName == "CIRCLE"
или
RXObject.GetClass(typeof(Line)
однако, в случае если наш условный круг, состоит из 100500 отрезков, образующих круг такой способ конечно не подойдет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы