python - 获取圆x和y中心

标签 python dxf ezdxf

我的目标是从 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/

相关文章:

Python - 提取标识符列表和相应的值

python - 如何使用python来区分两个html文件

python - 将世界城市映射到大都市统计区域(以及非美国 MSA 等效项)的数据库

python - 使用ezdxf描述图层属性描述时出现错误

用于合并 DXF 文件的 Python 模块

python - 使用数据透视表 pandas 后如何摆脱多级索引?

python - 如何用 'ezdxf' 写入镜像文本?

.net - DXF : how to know which layers to show?

java - 是否有用于将 DXF 转换为 PNG 的纯 Java 库?