我使用Python包ezdxf从dxf文件中提取信息。有没有办法我可以找出文件的高度和宽度,这样我就可以创建一个相同大小的图像,并在上面绘制实体供我参考。我试图用 `在
dwg = ezdxf.readfile("example.dxf")
print "EXTMAX ", dwg.header['$EXTMAX']
print "EXTMIN ", dwg.header['$EXTMIN']
print "LIMMAX ", dwg.header['$LIMMAX']
print "LIMMIN ", dwg.header['$LIMMIN']
如本link所述。在
但我不清楚他们的意思。也会要求一些链接有关于Python ezdxf的良好细节。在
除了Lee Mac的答案,如果通过ezdxf创建或修改DXF图形:
头变量EXTMAX和EXTMIN不由ezdxf维护或更新。在
DXF实体、块或模型空间的范围必须由应用程序计算,因此应用程序必须渲染实体,这对于CAD应用程序来说不是问题,但是ezdxf不是CAD应用程序,也没有渲染引擎,DXF实体的扩展通常不由DXF引用定义,有问题的实体包括:
文本和多行文字取决于字体渲染和字体可用性,这在应用程序和计算机之间有所不同。
样条曲线通过拟合点,AutoCAD从拟合点计算控制点的算法尚不清楚,它并不是互联网上经常记载的“全局插值”
嵌入式ACIS数据(如3DSOLID、BODY、REGION或SURFACE)的几何结构不适用于ezdxf
由ezdxf计算的范围通常是错误的,或者只是猜测,因此没有实现,也许有一天我会为近似范围添加一个附加组件,但这不太可能,因为对于像INSERT(带有嵌套插入)这样的实体来说,这是非常复杂的工作,HATCH(复杂边界路径和孤岛)或多行文字(复杂字体渲染),如果不能依赖它,则只会带来一些小的好处。为了这个牺牲我的空闲时间我并不激动。在
仅供参考,因为您使用的是Python2:Python2对ezdxf的支持将在下一个版本v0.9.0中被移除
系统变量
EXTMIN
&;EXTMAX
存储包含图形中所有几何图形的最小矩形框的左下角和右上角。在这些系统变量的值是相对于图形的世界坐标系(WCS)表示的三维点。点的坐标值将以DXF的单位表示(例如,由
INSUNITS
系统变量给出),也可以是无单位的。在您可以分别使用
EXTMAX
&;EXTMIN
系统变量给出的点的X&Y坐标值之间的差值来获得DXF的尺寸(以及由此而来的纵横比),从而可以创建缩放到相同纵横比的图像。在LIMMIN
&;LIMMAX
还存储与矩形区域的左下角和右上角相对应的三维WCS点,但是,当启用限制检查后创建新对象时,此区域只是用户对可用绘图区域施加的限制(LIMCHECK = 1
)。在虽然
LIMMIN
&;LIMMAX
系统变量理论上提供了DXF中所有几何体周围边界框尺寸的上限,但这是一个不可靠的度量,因为可以在禁用限制检查的情况下创建对象,并且在启用限制检查时不会删除这些对象。在相关问题 更多 >
编程相关推荐