普通网友 2023-09-20 08:54 采纳率: 33.3%
浏览 11

用dxflib解析dxf文件中的多段线

目前在做dxf文件的解析工作,遇到问题是:怎么使用dxflib解析并绘制矩形

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-20 10:11
    关注

    【相关推荐】



    • 这篇博客: 附录1. DXF组码说明中的 2. 按数字次序排列的 DXF 组码参考 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

              下表列出了组码或组码范围以及组码值的解释。在此表中,“固定”表明组码始终具有相同的用途。如果组码不固定,则其用途取决于上下文。 

      按数字次序排列的组码

      组码

      说明

      -5

      APP:永久反应器链

      -4

      APP:条件运算符(与 ssget 一起使用)

      -3

      APP:扩展数据 (XDATA) 标记(固定)

      -2

      APP:图元名参照(固定)

      -1

      APP:图元名。每次打开图形时,图元名都会发生变化,从不保存(固定)

      0

      表示图元类型的字符串(固定)

      1

      图元的主文字值

      2

      名称(属性标记、块名等)

      3-4

      其他文字或名称值

      5

      图元句柄;最多 16 个十六进制数字的字符串(固定)

      6

      线型名(固定)

      7

      文字样式名(固定)

      8

      图层名(固定)

      9

      DXF:变量名称标识符(仅在 DXF 文件的 HEADER 段中使用)

      10

      主要点;直线或文字图元的起点、圆的圆心,等等

      DXF:主要点的 X 值(后跟 Y 和 Z 值代码 20 和 30)

      APP:三维点(三个实数的列表)

      11-18

      其他点

      DXF:其他点的 X 值(后跟 Y 值代码 21-28 和 Z 值代码 31-38)

      APP:三维点(三个实数的列表)

      20, 30

      DXF:主要点的 Y 值和 Z 值

      21-28, 31-37

      DXF:其他点的 Y 值和 Z 值

      38

      DXF:如果非零,则为图元的标高

      39

      如果非零,则为图元的厚度(固定)

      40-48

      双精度浮点值(文字高度、缩放比例等)

      48

      线型比例;双精度浮点标量值;默认值适用于所有图元类型

      49

      重复的双精度浮点值。一个图元的可变长度表(例如,LTYPE 表中的虚线长度)中可能会出现多个 49 组。7x 组始终出现在第一个 49 组之前,用以指定表的长度

      50-58

      角度(在 DXF 文件中以度为单位,在 AutoLISP 和 ObjectARX 应用程序中以弧度为单位)

      60

      图元可见性;整数值;未赋值或值为 0 时表示可见;值为 1 时表示不可见

      62

      颜色号(固定)

      66

      “后跟图元”标志(固定)

      67

      空间 — 模型空间或图纸空间(固定)

      68

      APP:指示视口是处于打开状态但在屏幕上完全不可见,还是未激活或处于关闭状态

      69

      APP:视口标识号

      70-78

      整数值,例如重复计数、标志位或模式

      90-99

      32 位整数值

      100

      子类数据标记(将派生类名作为字符串)从其他具体类派生的所有对象和图元类必须具有此标记。子类数据标记用于分离由同一对象的继承链中的不同类定义的数据。

      对于从 ObjectARX 派生的每个不同的具体类的 DXF 名称来说,这是必须满足的额外要求(参见“子类标记”)

      102

      控制字符串,后跟“{<任意名称>”或“}”。与扩展数据 1002 组码类似,不同之处在于当字符串以“{”开始时,其后可跟任意字符串,字符串的解释取决于应用程序。唯一允许的另外一个控制字符串是作为组结束符的“}”。在图形审核操作期间以外,AutoCAD 不会解释这些字符串。它们供应用程序使用

      105

      DIMVAR 符号表条目的对象句柄

      110

      UCS 原点(仅当将代码 72 设定为 1 时才显示)

      DXF:X 值;APP:三维点

      111

      UCS X 轴(仅当将代码 72 设定为 1 时才显示)

      DXF:X 值;APP:三维矢量

      112

      UCS Y 轴(仅当将代码 72 设定为 1 时才显示)

      DXF:X 值;APP:三维矢量

      120-122

      DXF:UCS 原点的 Y 值,UCS X 轴和 UCS Y 轴

      130-132

      DXF:UCS 原点的 Z 值,UCS X 轴和 UCS Y 轴

      140-149

      双精度浮点值(例如点、标高和 DIMSTYLE 设置)

      170-179

      16 位整数值,例如表示 DIMSTYLE 设置的标志位

      210

      拉伸方向(固定)

      DXF:拉伸方向的 X 值

      APP:三维拉伸方向矢量

      220, 230

      DXF:拉伸方向的 Y 值和 Z 值

      270-279

      16 位整数值

      280-289

      16 位整数值

      290-299

      布尔标志值

      300-309

      任意字符串

      310-319

      具有相同表示和 1004 组码限制的任意二进制块:用最大长度为 254 个字符的十六进制字符串表示最大长度为 127 个字节的数据块

      320-329

      任意对象句柄;“按原样”获取的句柄值。它们在 INSERT 和 XREF 操作期间不进行转换

      330-339

      软指针句柄;指向同一个 DXF 文件或图形中的其他对象的任意软指针。在 INSERT 和 XREF 操作期间进行转换

      340-349

      硬指针句柄;指向同一个 DXF 文件或图形中的其他对象的任意硬指针。在 INSERT 和 XREF 操作期间进行转换

      350-359

      软所有者句柄;指向同一个 DXF 文件或图形中的其他对象的任意软所有者指针。在 INSERT 和 XREF 操作期间进行转换

      360-369

      硬所有者句柄;指向同一个 DXF 文件或图形中的其他对象的任意硬所有者指针。在 INSERT 和 XREF 操作期间进行转换

      370-379

      线宽枚举值 (AcDb::LineWeight)。作为 16 位整数存储和移动。自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用 371-379 DXF 组码,因为 AutoCAD 和 AutoLISP 都始终假定 370 组码是图元的线宽。这使 370 组码与其他“通用”图元字段具有相似行为

      380-389

      PlotStyleName 类型枚举 (AcDb::PlotStyleNameType)。作为 16 位整数存储和移动。自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用 381-389 DXF 组码,原因与上述线宽范围相同

      390-399

      表示 PlotStyleName 对象的句柄值的字符串,本质上是硬指针,但范围不同,更容易处理向后兼容。作为对象 ID(在 DXF 文件中为句柄)和 AutoLISP 中的特殊类型存储和移动。自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用 391-399 DXF 组码,原因与上述线宽范围相同

      400-409

      16 位整数

      410-419

      字符串

      420-427

      32 位整数值。与真彩色一同使用时,表示 24 位颜色值的 32 位整数。高阶字节(8 位)为 0;低阶字节为包含“蓝色”值 (0-255)、然后是“绿色”值的无符号字符;次高阶字节是“红色”值。将此整数值转换为十六进制值将得到以下位掩码:0x00RRGGBB。例如,红色==200、绿色==100 和蓝色==50 的真彩色为 0x00C86432,而在 DXF 中以十进制表示则为 13132850

      430-437

      字符串;用于真彩色时,则为表示颜色名称的字符串

      440-447

      32 位整数值。用于真彩色时,表示透明度值

      450-459

      长整数

      460-469

      双精度浮点值

      470-479

      字符串

      480-481

      硬指针句柄;指向同一个 DXF 文件或图形中的其他对象的任意硬指针。在 INSERT 和 XREF 操作期间进行转换

      999

      DXF:999 组码指示后面的行是注释字符串。SAVEAS 不会在 DXF 输出文件中包含这样的组,但 OPEN 则包括这些组并忽略注释。可以使用 999 组在您已编辑的 DXF 文件中包含注释

      1000

      扩展数据中的 ASCII 字符串(最多可以包含 255 个字节)

      1001

      扩展数据的注册应用程序名(最多可以包含 31 个字节的 ASCII 字符串)

      1002

      扩展数据控制字符串(“{”或“}”)

      1003

      扩展数据图层名

      1004

      扩展数据中的字节数据块(最多可以包含 127 个字节)

      1005

      扩展数据中的图元句柄;最多可以包含 16 个十六进制数字的字符串

      1010

      扩展数据中的点

      DXF:X 值(后跟 1020 和 1030 组)

      APP:三维点

      1020, 1030

      DXF:点的 Y 值和 Z 值

      1011

      扩展数据中的三维世界空间位置

      DXF:X 值(后跟 1021 和 1031 组)

      APP:三维点

      1021, 1031

      DXF:世界空间位置的 Y 值和 Z 值

      1012

      扩展数据中的三维世界空间位移

      DXF:X 值(后跟 1022 和 1032 组)

      APP:三维矢量

      1022, 1032

      DXF:世界空间位移的 Y 值和 Z 值

      1013

      扩展数据中的三维空间方向

      DXF:X 值(后跟 1022 和 1032 组)

      APP:三维矢量

      1023, 1033

      DXF:世界空间方向的 Y 和 Z 值

      1040

      扩展数据双精度浮点值

      1041

      扩展数据距离值

      1042

      扩展数据缩放比例

      1070

      扩展数据 16 位有符号整数

      1071

      扩展数据 32 位有符号长整数


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 9月20日

悬赏问题

  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥15 python爬取bilibili校园招聘网站
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?