我需要一个尽可能干净的示例DXF代码,以填充坐标以绘制3D折线。我已经能够使用简单的线来做到这一点,但是我正在努力地使用3D折线来做到这一点。我已经尝试了几次,但是没有用。我不在该领域工作,我需要它来完成科学研究。想法是从GPS坐标生成图形。有人可以帮我吗?
答案 0 :(得分:2)
为简单起见,请创建一个最小的DXF R12文件,DXF R12的优点是简约的整体结构和 您不需要手柄。只需实体部分:
重要提示:必须在最终文件中删除“” <<<“某些注释”之类的注释。
0
SECTION
2
ENTITIES
0 <<< 1. POLYLINE entity starts here
POLYLINE
...
0
VERTEX
...
0
VERTEX
...
0
SEQEND
0 <<< 2. POLYLINE entity starts here
POLYLINE
...
0
VERTEX
...
0
VERTEX
...
0
SEQEND
0 <<< end of section marker
ENDSEC
0 <<< end of file marker
EOF
POLYLINE实体是需要多个实体的两个实体之一,而INSERT实体是另一个实体。
0 <<< POLYLINE entity
POLYLINE
8 <<< layer group code required
0 <<< layer '0'
62 <<< color group code not required
1 <<< Color number
66 <<< entities follow flag
1 <<< always 1, POLYLINE without vertices is pointless
70 <<< flags, see reference
8 <<< this is a 3D polyline
0 <<< 1. VERTEX entity
VERTEX
8 <<< layer group code required
0 <<< ALWAYS the same as POLYLINE layer!
70 <<< flags
32 <<< 3D polyline vertex
10 <<< x-coord group code
4.0 <<< x-coord value
20 <<< y-coord group code
3.0 <<< y-coord value
30 <<< y-coord group code
2.0 <<< z-coord value
0 <<< 2. VERTEX entity
VERTEX
8
0
70
32
10
8.0
20
5.0
30
0.0
0 <<< 3. VERTEX entity
VERTEX
8
0
70
32
10
2.0
20
4.0
30
9.0
0 <<< required SEQEND entity
SEQEND
POLYLINE的DXF参考:http://help.autodesk.com/view/OARX/2018/ENU/?guid=GUID-ABF6B778-BE20-4B49-9B58-A94E64CEFFF3
VERTEX的DXF参考:http://help.autodesk.com/view/OARX/2018/ENU/?guid=GUID-0741E831-599E-4CBF-91E1-8ADBCFD6556D
如果可以使用Python,请查看我的ezdxf软件包:https://ezdxf.mozman.at/
使用r12writer上下文管理器创建最小的DXF R12文件:
from ezdxf.r12writer import r12writer
with r12writer("YourFile.dxf") as dxf:
dxf.add_polyline([(4, 3, 2), (8, 5, 0), (2, 4, 9)])