我的目标是从 dxf
文件中获取所有圆,其中包含 3 个信息,例如:圆周、X 中心、Y 中心
。到目前为止我能够得到周长。我如何获得Y & X
?这是我当前的代码:
import sys
import ezdxf
doc = ezdxf.readfile("File.dxf")
msp = doc.modelspace()
for e in msp:
if e.dxftype() == 'CIRCLE':
dc = 2 * math.pi * e.dxf.radius
print('circumference: ' + str(dc))
最佳答案
圆的中心是e.dxf.center
,作为对象坐标系(OCS)中的Vec3
对象。如果挤压向量为 (0, 0, 1),则 OCS 就是 WCS,对于 2D 实体来说大多数情况都是这种情况。
有时镜像的 2D 实体具有反转的挤压向量 (0, 0, -1),在这种情况下,需要将 OCS 坐标转换为 WCS 坐标:
for e in msp.query("CIRCLE"):
ocs = e.ocs()
wcs_center = ocs.to_wcs(e.dxf.center)
x = wcs_center.x
y = wcs_center.y
关于python - 获取圆x和y中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70145134/