我需要一个尽可能干净的示例 DXF 代码来填充坐标以绘制 3D 折线。我已经能够用简单的线条来做到这一点,但我很难用 3D 折线来做到这一点。我已经尝试了几次,但没有成功。我不在该领域工作,我需要这个来完成科学研究。这个想法是根据 GPS 坐标生成绘图。有人能帮我吗?
为了保持简单,创建一个最小的 DXF R12 文件,DXF R12 的优点是简约的整体结构,并且不需要句柄。仅需要实体部分:
重要提示:像“”<<< some comment”这样的注释必须在最终文件中删除。
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
Run Code Online (Sandbox Code Playgroud)
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 <<< z-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
Run Code Online (Sandbox Code Playgroud)
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)])
Run Code Online (Sandbox Code Playgroud)