18989878581 发表于 2022-8-27 12:40:51

关于选择集的问题 第一次运行有用 第二次运行会选不到对象

(defun C:N()
        (setq ss(ssget))
        ;ss全部选择集
        (setq ss1 (ssget "p" '((0 . "LINE,*POLYLINE,ARC,CIRCLE" ))))
        (setvar "qaflags" 1)
        (command ".explode" ss1"")
        (setvar "qaflags" 0)
        (setq ss2 (ssget "p"))
        ;ss2炸开之后的选择集
        (command ".select" ss1 ss2 "")
        (setq ss3 (ssget "p"))
        ;ss3合并炸开前后
        (sssetfirst nil ss3)
        (c:yq_2layercolor)
        ;改为图层颜色
        (sssetfirst nil ss3)
        (c:yq_formlaybycolor)
        ;将图元按颜色重新分层(不改bylayer图元)
        (command ".select" ss ss1 ss2 "")
        (setq ss4 (ssget "p"))
        ;ss4所有选择集
        (sssetfirst nil ss4)
        (c:yq_clear_z)
        ;拍平图元(将图元移至z轴为0的平面)
        (sssetfirst nil ss4)
        (c:yq_00)
        ;恢复颜色/线性/线宽随层
        (command "-overkill" ss4 "" "")
        ;删除重复对象
        (princ)
)

自贡黄明儒 发表于 2022-8-27 12:59:19

(defun C:N(/ ss1...................)

18989878581 发表于 2022-8-27 13:02:43

自贡黄明儒 发表于 2022-8-27 12:59
(defun C:N(/ ss1...................)

谢谢谢谢谢谢谢谢

VBALISPER 发表于 2022-8-28 08:05:22

学习一下。
页: [1]
查看完整版本: 关于选择集的问题 第一次运行有用 第二次运行会选不到对象