如何用ssget过滤选择102组码的图元
外公司的一张图,在用自己开发的多图打印插件时一直报错。经过一番排查,发现是图中有部分直线带有以下102和360的组码 (102 . "{ACAD_XDICTIONARY") (360 . <图元名: 7ff45f17dd00>) (102 . "}")。在多dwg文档打印时,会出错,而单个dwg多图打印时,却又没问题,很莫名其妙。
额,话题扯开了,在排查的时候,发现部分标注也有这两个组码,然后发现用(ssget '((102 . "*")))只能过滤选择标注,而不能过滤选择直线。
求问,这是怎么回事?
图见附件
删除360,102自然删除。 自贡黄明儒 发表于 2018-9-29 12:00
删除360,102自然删除。
如何删除呢? 我也想知道,怎么过滤不选有102组码的对象
(defun c:tt ()
(if (setq ss (ssget '((0 . "line,dim*"))))
(progn
(foreach a (vl-remove-if-not
'(lambda (x) (= (type x) 'ENAME))
(mapcar 'cadr (ssnamex ss))
)
(if (not (member 102 (mapcar 'car (entget a))))
(ssdel a ss)
)
)
(sssetfirst nil ss)
)
)
(princ)
)
页:
[1]