我可以使用lisp创建注释性标注。我认为在VBA中也是可能的,但这并不容易,因为注释数据包含在“ACDB\u AnnotationScale”扩展字典中。用VBA用数据填充字典是一个很好的代码。我不想这样做,但我认为原则上这是可能的。您可以使用lisp函数获取并浏览此词典的所有成员,如下所示:
- (defun Get_Annotation_Dictionary(vlaObj / aDic)
- (if(= :vlax-true
- (vla-get-HasExtensionDictionary vlaObj))
- (progn
- (vlax-for d(vla-GetExtensionDictionary vlaObj)
- (if(and
- (vlax-property-available-p d 'Name)
- (= "ACDB_ANNOTATIONSCALES"(vla-get-Name d))
- ); end and
- (setq aDic d)
- ); end if
- ); end vlax-for
- ); end progn
- ); end if
- aDic
- ); end of Get_Annotation_Dictionary
|