本帖最后由 wharan 于 2022-6-24 19:39 编辑
提取外部引用中属性块的属性,用下面方法还存在几个问题。
1、大部分情况下能提取出来,有些情况下无法提取,但打开引用文件提取没有问题。原因不明。
2、删除外部引用时,清理数据后,仍能提取到被删除的引用中的块属性。原因不明。
附提取方法源码。
该问题已通过Lisp方法解决。见本坛
- ;;en为外部引用图元名,Bname为外部引用中的属性块名,返回属性快图元名表
- (defun Xrefblk (en Bname / blks BlockName obj ty ent)
- (setq blks (vla-get-Blocks
- (vla-get-activedocument (vlax-get-acad-object))
- )
- )
- (setq obj (vlax-ename->vla-object en))
- (setq BlockName (vla-get-name obj)
- )
- (vlax-for ent (vla-item blks BlockName)
- (setq ty (vla-get-objectname ent))
- (if
- (and (= ty "AcDbBlockReference")
- (wcmatch (vla-get-EffectiveName ent) Bname)
- )
- (setq sset (cons (vlax-vla-object->ename ent) sset))
- )
- )
- sset
- )
|