lostbalance 发表于 2018-9-29 10:26:10

如何用ssget过滤选择102组码的图元

外公司的一张图,在用自己开发的多图打印插件时一直报错。
经过一番排查,发现是图中有部分直线带有以下102和360的组码 (102 . "{ACAD_XDICTIONARY") (360 . <图元名: 7ff45f17dd00>) (102 . "}")。在多dwg文档打印时,会出错,而单个dwg多图打印时,却又没问题,很莫名其妙。
额,话题扯开了,在排查的时候,发现部分标注也有这两个组码,然后发现用(ssget '((102 . "*")))只能过滤选择标注,而不能过滤选择直线。
求问,这是怎么回事?

图见附件


自贡黄明儒 发表于 2018-9-29 12:00:10

删除360,102自然删除。

flowerson 发表于 2021-4-27 01:33:17

自贡黄明儒 发表于 2018-9-29 12:00
删除360,102自然删除。

如何删除呢?

qazxswk 发表于 2023-9-30 00:17:17

我也想知道,怎么过滤不选有102组码的对象

xyp1964 发表于 2023-9-30 10:48:35


(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]
查看完整版本: 如何用ssget过滤选择102组码的图元