获取圆 x 和 y 中心
Get circles x and y center
我的目标是从 dxf
文件中获取所有圈子,其中包含 3 个信息,例如:circumference, X center, Y center
。到目前为止,我能够得到周长。我怎样才能得到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))
查看文档,Circle 似乎有一个 'center' 属性,所以
e.center
应该给你坐标
https://ezdxf.readthedocs.io/en/stable/dxfentities/circle.html
圆心是 e.dxf.center
作为对象坐标系 (OCS) 中的 Vec3
对象。如果挤压向量为 (0, 0, 1),则 OCS 就是 WCS,对于 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
我的目标是从 dxf
文件中获取所有圈子,其中包含 3 个信息,例如:circumference, X center, Y center
。到目前为止,我能够得到周长。我怎样才能得到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))
查看文档,Circle 似乎有一个 'center' 属性,所以
e.center
应该给你坐标
https://ezdxf.readthedocs.io/en/stable/dxfentities/circle.html
圆心是 e.dxf.center
作为对象坐标系 (OCS) 中的 Vec3
对象。如果挤压向量为 (0, 0, 1),则 OCS 就是 WCS,对于 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