Вопрос:
Я хочу проанализировать файл dxf для получения объектов (строка, точка, текст и т.д.) С помощью библиотеки dxfgrabber.
Код выглядит следующим образом:
#!/usr/bin/env python import dxfgrabber dxf = dxfgrabber.readfile(«1.dxf») print («DXF version : {}».format(dxf.dxfversion))
Но он получает некоторую ошибку…
Traceback (most recent call last): File «parsing.py», line 6, in <module> dxf = dxfgrabber.readfile(«1.dxf») File «/usr/local/lib/python2.7/dist-packages/dxfgrabber/__init__.py», line 43, in readfile with io.open(filename, encoding=get_encoding()) as fp: File «/usr/local/lib/python2.7/dist-packages/dxfgrabber/__init__.py», line 39, in get_encoding info = dxfinfo(fp) File «/usr/local/lib/python2.7/dist-packages/dxfgrabber/tags.py», line 96, in dxfinfo tag = next(tagreader) File «/usr/local/lib/python2.7/dist-packages/dxfgrabber/tags.py», line 52, in __next__ return next_tag() File «/usr/local/lib/python2.7/dist-packages/dxfgrabber/tags.py», line 45, in next_tag raise StopIteration() StopIteration
Простой файл 1.dxf содержит только строку.
ссылка на файл
Это ошибка библиотеки dxfgrabber? Есть ли хорошая библиотека для синтаксического анализа файла dxf в python?
Я использую dxfgrabber 0.4 и python 2.7.3.
Лучший ответ:
Я связался с разработчиком, и он говорит, что в текущей версии 0.5.1 сделать строку 49 __init__.py следующим образом: with io.open(filename) as fp: Затем он работает (io отсутствует). В ближайшее время он сделает это исправление официальным в версии 0.5.2.
Ответ №1
Вы можете читать dxf только в формате AutoCAD! Попробуйте “DraftSight”, который является бесплатным клоном AutoCAD, который довольно хорошо экспортирует dxf. Попробуйте формат dxf R12. Это решит ваши проблемы.