提取外部引用中块属性的问题?
本帖最后由 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
)
页:
[1]