首页 > 解决方案 > 如何从 dxf 文件中提取所有坐标

问题描述

我有一个 dxf 文件https://filebin.net/7l8izrv2js7doicc/5holes-8x8.dxf?t=9ro7k928(下载和名称扩展为 .dxf) 我能够解析它的行和所有但我现在想提取所有坐标. 目的是,如果我获得所有坐标,则 Id 能够为所有这些坐标创建一个边界框。由于绘图有曲线和线条,我不知道如何为曲线等做。

===我的部分代码来显示线条和拉出线条的起点和终点====

flist=open("test2.dxf")

#fil.readlines()
# entityflist = open("filename.txt").readlines()
lst=[]

parsing = False
for line in flist:
    #print ("==================")
    if line.startswith("ENDSEC"):
        parsing = False
    if parsing:
        #print (line)
        lst.append(line)
        #Do stuff with data 
    if line.startswith("LINE"):
        parsing = True
        #print ("LINE")

# lines coordinates list
ts=(''.join(lst).split('LINE'))

#print out all the point coordinates of lines start & end
# i.e. 2 coordinate pairs for each line
for i in ts:
    print ((i.split()[19],i.split()[21]))
    print ((i.split()[15],i.split()[17]))

标签: pythonalgorithmgeometryautocad

解决方案


您的链接不起作用,而是发布文件的几行以显示结构,因为要求人们下载大文件是不好的做法。

看起来有一个用于处理 dxf 文件的库,称为ezdxf. 这是他们关于如何从 dxf 文件中提取数据的指南的链接


推荐阅读