遗憾的是,他们没有为清除方面提供更多的VL选项——我想你可以自己动手做代码,但可能不会太快。。。 有趣的想法,也许是这样的:
(defun MleaderStylePurge (/)
(vl-remove-if
'null
(mapcar
'(lambda (x)
(and
(eq 350 (car x))
(not (eq 330 (car (nth 5 (entget (cdr x))))))
(not (eq (getvar "cmleaderstyle")
(vla-get-name (vlax-ename->vla-object (cdr x)))
) ;_ eq
) ;_ not
(entdel (cdr x))
) ;_ and
) ;_ lambda
(dictsearch (namedobjdict) "ACAD_MLEADERSTYLE")
) ;_ mapcar
) ;_ vl-remove-if
) ;_ defun如果没有或T列表,则返回nil(每个清除的样式一个) 很好,艾伦,
我对DXF的了解还不够多,所以这次的MLeaderStyles不够
必须阅读。。。 谢谢
我也一样,我对dxf一窍不通(注意,我将其转换为vla对象以比较样式名)。我只是做了一些比较和测试。
有趣的是,你可以删除一个样式,即使它是当前的和/或使用过的。autocad将崩溃,但您可以做到。我最初的想法是vl catch all apply and delete them,但它仍然会删除它。 因此,您可以删除使用过的样式而不会出错-但它会在以后出错吗?
是的,这就是我为什么要投这么多支票的原因。就像entmod一样,你可以冻结当前层。
啊,好的,谢谢 现在我渴了。 嘿,选择属性块的dxf代码是什么? (66 . 1)
或检查def:
(eq 2 (logand 2 (cdr (assoc 70 (tblsearch "BLOCK" "<blk>")))))
我通常使用:
http://autodesk.com/techpubs/autocad/acad2000/dxf/
页:
1
[2]