dom4j创建单标签_给AutoCAD实体添加自定义标签

f818148f6606db02c925fa91eca2c880.png

在AutoCAD内,可以通过图层、颜色、线型、比例等基本特征来对实体进行区分或者分组。但是这些都是在AutoCAD中创建实体时已经指定好的。通过LinkDWG,我们可以在Dynamo内对这些非只读的特征进行一些调整和修改,单也仅仅局限于这些AutoCAD实体的基础特征信息。

如果我们想给这些AutoCAD实体附加一些额外信息呢?如同样是混凝土柱子,可能会有使用不同标号,如C30和C40混凝土的柱子。在AutoCAD中制图时,往往不一定会进行细分。如果要实现细分,就需要额外使用颜色,或者更多的图层来进一步使得图形具有更多不一致的信息来实现。

那么有没有简单一些的方法,可以自由的给AutoCAD内实体添加我们需要的信息,并可以十分方便的提取呢?

答案是可以的。AutoCAD允许给实体附加额外的非图形信息,添加和读取都十分的方便。

正是基于这样的功能,LinkDWG提供了可以给AutoCAD内实体打标签的一系列节点:

b154f0f65bf723f4138b2ecb62b793c4.png

附加

  • AttachStringLDataByKey:通过Key值,将一个字符串信息附加在指定的AutoCAD对象上;
  • AttachNumberLDataByKey:通过Key值,将一个数字值附加在指定的AutoCAD对象上;

读取

  • GetStringLDataByKey:通过Key值,读取附加在AutoCAD对象上的字符串信息;
  • GetNumberLDataByKey:通过Key值,读取附加在AutoCAD对象上的数字值;

删除

  • DeleteLDataByKey:通过Key值,清除附加在AutoCAD对象上的信息。如果Key值使用*这个通配符,将自动把对象上所有的信息清除;

44810997a1ca47e9dc00fca8e7742e1e.png

因为赋值和读取是一对有前后关系的操作,因此,无法直接一次性的将赋值和读取全部与同一个端口相连,这样做得话,运行顺序上可能会产生混乱。因此,所有赋加的节点都保有了输入实体的输出,供后继读取时连接。这样就可以确实保证赋值后才会被读取。

68a32f8d4fa4c2f40f370e92951a404d.png
有问题的连接方式

最后回到混凝土柱子的场景上,我们可以给柱子的平面矩形添加一个数据为字符串的标签:“混凝土标号”,然后各自对应的给数据标记上C30或者C40或者实际的标号。这样,在后继处理这些柱子时,可以提取他们的“混凝土标号”标签数据,然后根据这些标签数据对混凝土柱子进行分组或者过滤,从而快速获取需要操作的柱子实体。

号外:

关于填充及添加标签节点的讲解视频已经更新上线姑娘课堂的“Dynamo的ActiveX技术应用:LinkDWG”。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值