autocad - DXF 文件 - 如何将带有标签文本的“AcDbText”实体链接到几何实体 (AcDbPolyline)?
问题描述
我想这个问题可能没有准确的答案,但也许我至少可以更好地理解使用 DXF 文件......
我需要处理 DXF 文件(平面图)并将标签(通常是房间名称)链接到代表特定房间的实体。我检查了 DXF 文件,两个实体之间似乎没有链接。该TEXT
实体有一个唯一的句柄(代码 5),它有一个指向另一个对象的软指针(我认为是一般块定义 - 代码 330),但事实并非如此。所以我的问题是:
我是否正确假设在这种情况下唯一的方法是将标签的坐标与“最近”几何对象的坐标进行比较?这是可行的,但是如果有一些重叠的对象怎么办 - 我可以在那里看到一些潜在的风险。
有没有办法在 AutoCAD 或类似工具中包含从文本实体到几何实体的“精确”链接?也许使用一些属性?在这一点上,我对 DXF 的了解很少,所以如果有人能指出一些包含此类“精确链接”内容的文档或示例 .dxf 文件,那就太好了。
非常感谢!
解决方案
有没有办法在 AutoCAD 或类似工具中包含从文本实体到几何实体的“精确”链接?也许使用一些属性?在这一点上,我对 DXF 的了解很少,所以如果有人能指出一些包含此类“精确链接”内容的文档或示例 .dxf 文件,那就太好了。
可能还有其他方法可以做你想做的事。例如:
此外,AutoCAD 有一种称为扩展实体数据的机制,它包含在任何 DXF 数据文件中(请参阅提供的链接)。
AutoCAD 提供了一些工具供XDATA
您使用,您还可以使用第三方扩展,例如CADPower和GeoTools,它们具有XDATA
工具库。当然,你可以编写自己的插件来做你想做的事。
总之,您可以将handle
asTEXT
附加XDATA
到POLYLINE
代表房间。一旦您附加了TEXT
DXFXDATA
文件,您将能够解析它并找到TEXT
元素的句柄。
编写一个在 AutoCAD 中运行的 VBA 宏并不难,它要求您选择两个元素,然后将文本实体句柄添加为XDATA
. 那你就可以走了。
推荐阅读
- javascript - 从数组中检索的 var 未定义?
- python - 如何通过用户输入访问特定字典?
- android - Recyclerview 滚动到空编辑文本
- sql-server - 从 SQL Server 恢复已删除的数据
- angular - ng2-dragula - 仅对特定目标使用复制功能?
- python - 使用 Tkinter 按钮时 Python 读取 GPIO 输入引脚时出现问题
- google-cloud-platform - 尝试在部署管理器中创建服务帐户密钥时出错
- css - 如何将 *ngFor 值列表分成两个 div
- python - 在 Django 中更新模型实例的 M2M 关系
- php - 来自多维数组的递归数组映射