DXF 代码 - 3D 折线

Ped*_*ulo 1 cad autocad dxf

我需要一个尽可能干净的示例 DXF 代码来填充坐标以绘制 3D 折线。我已经能够用简单的线条来做到这一点,但我很难用 3D 折线来做到这一点。我已经尝试了几次,但没有成功。我不在该领域工作,我需要这个来完成科学研究。这个想法是根据 GPS 坐标生成绘图。有人能帮我吗?

moz*_*man 7

为了保持简单,创​​建一个最小的 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)