【问题标题】:DXF file - how can "AcDbText" entity with a label text be linked to a geometry entity (AcDbPolyline)?DXF 文件 - 如何将带有标签文本的“AcDbText”实体链接到几何实体 (AcDbPolyline)?
【发布时间】:2021-04-05 04:36:39
【问题描述】:

我想这个问题可能没有准确的答案,但也许我至少可以更好地理解使用 DXF 文件...

我需要处理 DXF​​ 文件(平面图)并将标签(通常是房间名称)链接到代表特定房间的实体。 我检查了 DXF 文件,两个实体之间似乎没有链接。 TEXT 实体有一个唯一的句柄(代码 5),它有一个指向另一个对象的软指针(我认为是一般块定义 - 代码 330),但事实并非如此。所以我的问题是:

  1. 我是否正确假设在这种情况下唯一的方法是将标签的坐标与“最近”几何对象的坐标进行比较?这是可行的,但是如果有一些重叠的对象怎么办 - 我可以看到那里有一些潜在的风险。

  2. 有没有办法在 AutoCAD 或类似工具中包含从文本实体到几何实体的“精确”链接?也许使用一些属性?在这一点上,我对 DXF 的了解很少,所以如果有人能指出一些包含此类“精确链接”内容的文档或示例 .dxf 文件,那就太好了。

非常感谢!

【问题讨论】:

    标签: autocad cad dxf


    【解决方案1】:

    有没有办法在 AutoCAD 或类似工具中包含从文本实体到几何实体的“精确”链接?也许使用一些属性?在这一点上,我对 DXF 的了解很少,所以如果有人能指出一些包含此类“精确链接”内容的文档或示例 .dxf 文件,那就太好了。

    很可能还有其他方法可以做你想做的事。例如:

    此外,AutoCAD 有一个称为Extended Entity Data 的机制,它包含在任何 DXF 数据文件中(请参阅提供的链接)。

    AutoCAD 提供了一些用于处理XDATA 的工具,您还可以使用具有XDATA 工具库的CADPowerGeoTools 等第三方扩展。当然,你可以编写自己的插件来做你想做的事。

    总之,您可以将TEXThandle 作为XDATA 附加到代表房间的POLYLINE。将TEXT 附加为XDATA 后,它将在DXF 文件中可用,您将能够解析它并找到TEXT 元素的句柄。

    编写一个在 AutoCAD 中运行的 VBA 宏并不难,它要求您选择这两个元素,然后将文本实体句柄添加为 XDATA。那你就可以走了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多