这个工具是选择DXF文件,将其中的图形输出成包含360个点的极坐标excel文件。
文件默认的dxf文件夹是在resource
文件夹下,默认的输出excel的文件夹在out_file
文件夹下,也可以自行选择
- 如果只有一种类型,就选下拉栏对应的类型。如直线就选LINE,圆就选CIRCLE
- 如果是非多段线,但是是由直线等组成闭合二维图形(注意!一定要是闭合的!!),就选择下拉栏的复杂闭合曲线
- 中心坐标是由DXF的全局坐标得出的,不在零点也不影响,详细见下文
- DXF 文件的图形实体属性中明确存储了中心坐标
center
。代码通过entity.dxf.center
直接获取该值。 - 无论图形的中心在 DXF 坐标系中的哪个位置(例如
(10, 20, 0)
),cx, cy
都会正确记录这一实际坐标,与是否处于原点无关。 - 即便没有,如果输出的有角度的值,那么程序就有计算中心点的位置
-
以椭圆为例,代码生成的坐标是基于椭圆中心
(cx, cy)
的绝对位置。计算时,极径r
和角度theta_rad
会转换为相对于该中心的坐标:-
x = cx + r * math.cos(theta_rad) # 中心偏移已包含 y = cy + r * math.sin(theta_rad)
-
即使椭圆的中心不在原点,计算结果仍会以
(cx, cy)
为基准生成正确的全局坐标,而非假设中心在原点。
-
- 正确性:无论椭圆中心是否在原点,代码均能正确生成坐标。例如,若中心为
(100, 200)
,所有生成的点会围绕(100, 200)
展开。 - 数据含义:输出的 Excel 数据中的
X坐标
和Y坐标
是相对于 DXF 全局坐标系的绝对坐标,而非相对于椭圆中心的局部坐标。
by chx at 2025.04.07