使用EZDXF Python查找DXF文件的大小

2024-09-26 17:44:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用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的良好细节。在


Tags: 文件图像信息dxf宽度高度headerprint
2条回答

除了Lee Mac的答案,如果通过ezdxf创建或修改DXF图形:

头变量EXTMAX和EXTMIN不由ezdxf维护或更新。在

DXF实体、块或模型空间的范围必须由应用程序计算,因此应用程序必须渲染实体,这对于CAD应用程序来说不是问题,但是ezdxf不是CAD应用程序,也没有渲染引擎,DXF实体的扩展通常不由DXF引用定义,有问题的实体包括:

  • 文本和多行文字取决于字体渲染和字体可用性,这在应用程序和计算机之间有所不同。

  • 样条曲线通过拟合点,AutoCAD从拟合点计算控制点的算法尚不清楚,它并不是互联网上经常记载的“全局插值”

  • 嵌入式ACIS数据(如3DSOLID、BODY、REGION或SURFACE)的几何结构不适用于ezdxf

ezdxf计算的范围通常是错误的,或者只是猜测,因此没有实现,也许有一天我会为近似范围添加一个附加组件,但这不太可能,因为对于像INSERT(带有嵌套插入)这样的实体来说,这是非常复杂的工作,HATCH(复杂边界路径和孤岛)或多行文字(复杂字体渲染),如果不能依赖它,则只会带来一些小的好处。为了这个牺牲我的空闲时间我并不激动。在

仅供参考,因为您使用的是Python2:Python2ezdxf的支持将在下一个版本v0.9.0中被移除

系统变量EXTMIN&;EXTMAX存储包含图形中所有几何图形的最小矩形框的左下角和右上角。在

这些系统变量的值是相对于图形的世界坐标系(WCS)表示的三维点。点的坐标值将以DXF的单位表示(例如,由INSUNITS系统变量给出),也可以是无单位的。在

您可以分别使用EXTMAX&;EXTMIN系统变量给出的点的X&Y坐标值之间的差值来获得DXF的尺寸(以及由此而来的纵横比),从而可以创建缩放到相同纵横比的图像。在


LIMMIN&;LIMMAX还存储与矩形区域的左下角和右上角相对应的三维WCS点,但是,当启用限制检查后创建新对象时,此区域只是用户对可用绘图区域施加的限制(LIMCHECK = 1)。在

虽然LIMMIN&;LIMMAX系统变量理论上提供了DXF中所有几何体周围边界框尺寸的上限,但这是一个不可靠的度量,因为可以在禁用限制检查的情况下创建对象,并且在启用限制检查时不会删除这些对象。在

相关问题 更多 >

    热门问题