ezdxf中出现不正确的ARC尺寸

0 投票
0 回答
20 浏览
提问于 2025-04-12 07:13

我正在使用ezdxf来读取一些.dxf文件。我的目标是通过ezdxf读取文件,并访问绘图的模型空间中的每个实体,以找到弧的长度。

import ezdxf

file_path = "IRREGULAR.dxf"
doc = ezdxf.readfile(file_path)

msp = doc.modelspace()
for entity in msp:
    print(entity.dxftype())
    
    # I have some more code for other line types

    if entity.dxftype() == 'ARC':
        center_point = entity.dxf.center
        radius = entity.dxf.radius
        start_angle = entity.dxf.start_angle
        end_angle = entity.dxf.end_angle
        print(arc_length(radius, start_angle, end_angle))

我创建了一个叫做arc_length的函数,它可以根据每个弧的尺寸来计算弧的长度。

这是我目前正在处理的不规则形状。

形状

这个形状被分解成多个弧。

我在CAD软件中查看同样的绘图,以比较我代码中的弧长和CAD软件中的弧长。问题是,在这个绘图中有6个弧,我在两个地方得到的5个尺寸完全一致。然而,最右边的弧的长度在我的代码中却差得很远。我确认过没有额外的图层或块是看不见的,并且我在两个地方查看的是同一张图。

如果有人能帮我解决这个问题,或者给我一些可能的线索,那将非常有帮助。谢谢!

我尝试过的一件事是获取所有弧的尺寸,然后用这些尺寸重新创建一个形状。令人惊讶的是,这次反向工程后得到的形状竟然和我最开始的形状是一样的。这很奇怪,因为如果弧的尺寸是错误的,我应该得到一个奇怪的形状。

0 个回答

暂无回答

撰写回答