比如一张图纸里有三个圆,系统为每个圆设定id,但可不可以定义一个自己的名字,以便VBA程序可以通过名字找到这个圆,有这种功能吗?
或者是块,添加了块属性,VBA如何通过块属性找到具体的块呢?遍历的方法就不要了.
------解决方案--------------------------------------------------------
在CAD里,直接给图形中的实体赋名字,好象是不行的(只限于我,因为我没有实现过,至于别的高手能不能不知道)。
但添加块后,在块中添加属性后,应该能实现的。
首先,应知道在VBA中,CAD的块与直接显示出来的块对象是不一样的,在图形中直接显示出来的块只是一个块的实例,即使你将此显示出来的块分解后,图形中仍然存在这个块,你还可以随时插入这个块。
CAD中的块对象的类名:AcadBlock
CAD中块对象实全的类名:AcadBlockReference
CAD中属性对象的类名:AcadAttribute
要获取块“实例”的“属性”对象,请使用“实例”对象的 GetAttributes 方法
要获取属性的标记特性,请使用“属性”对象的 .TagString 属性
要设置或获取“属性”对象的标记值,请使用“属性”对象的 TextString 属性。
------解决方案--------------------------------------------------------
利用句柄,句柄也是唯一不变的