wharan 发表于 2022-6-20 15:13:58

提取外部引用中块属性的问题?

本帖最后由 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]
查看完整版本: 提取外部引用中块属性的问题?