我想用dxfgrabber库解析dxf文件以获取对象(线、点、文本等)。
代码如下所示
#!/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文件只包含行。
文件链接为https://docs.google.com/file/d/0BySHG7k180kETlQ2UnRxQmxoUk0/edit?usp=sharing
这是dxfgrabber库的bug吗?python中有没有很好的解析dxf文件的库?
我使用的是dxfgrabber 0.4和python 2.7.3。
发布于 2013-05-15 14:21:56
我联系了开发人员,他说在当前版本0.5.1中,将__init__.py的49行写成:with io.open(filename) as fp:。然后它就可以工作了(缺少io)。他将很快在0.5.2版本中正式进行此修正。
发布于 2013-07-03 23:13:06
您只能读取AutoCAD格式的dxf文件!试试"DraftSight“,这是一个免费的AutoCAD克隆,可以很好地导出dxf。尝试使用dxf R12格式。这将解决您的问题。
https://stackoverflow.com/questions/15136456
复制相似问题