【问题标题】:DXF code - 3D polylinesDXF 代码 - 3D 折线
【发布时间】:2019-01-16 03:13:51
【问题描述】:

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

【问题讨论】:

    标签: autocad cad dxf


    【解决方案1】:

    为了简单起见,创建一个最小的 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       <<< 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
    

    折线的 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)])
    

    【讨论】:

    • 非常感谢,刚刚救了我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 2012-02-11
    相关资源
    最近更新 更多