cj52000 发表于 2024-1-30 10:53:30

zhufeng1004 发表于 2024-1-29 20:47
试试这个

(Defun C:y (/ ss ct cl la old)


好用,谢谢!

jkop 发表于 2024-1-31 10:21:05

路过看到此帖,发现本身也有需求,承蒙大师出手,小弟收藏!

paulpipi 发表于 2024-1-31 10:51:22

vitalgg 发表于 2024-1-29 17:44
想直接用更简单。
复制以下代码到CAD命令行,回车安装即可。

好的,感谢大神,我试试

弥勒 发表于 2024-2-1 18:13:51

;你抄我来,我抄你
;现在这码能跑了,哈哈



(defun c:tmp(/ typ )

        (initget 1 "S F T")

        (setq typ (getkword "\n 关闭部分F、全部打开T、显示部分S:"))

        (cond ((= typ "F")   (f_lay))

              ((= typ "T")   (command "-layer" "on" "*"""))

              ((= typ "S")   (s_lay))

        )

)

;关闭图层

(defun f_lay(/ ss i ssn lay)

    (princ "\n选择图层参考块:")

    (setq ss (ssget))

    (setq i 0)

        ;(command "layer")

        (repeat   (sslength ss)

                (setq ssn (ssname ss i ))

                (setq lay (cdr (assoc 8 (entget ssn))))

                (command "-layer" "off" lay"" )

                

                  (setq i ( + i 1))

        )

        (command "")

)

;保留图层

(defun s_lay(/ ss i ssn lay)

       (princ "\n选择图层参考块:")

         (setq ss (ssget))

         (command "layer" "off" "*" "y" "")

       (setq i 0   )

       (repeat(sslength ss)

                (setq ssn (ssname ss i ))

                (setq lay (cdr ( assoc 8 (entget ssn))))

                (command "layer" "on" lay   "")

            

                  (setq i ( + i 1))

      )

      ;(command "")

)

(princ "\n程序加载完成")

(princ "\n")

cj52000 发表于 2024-2-1 20:46:22

弥勒 发表于 2024-2-1 18:13
;你抄我来,我抄你
;现在这码能跑了,哈哈



不错,关闭部分功能中当前的图层不能关闭,这个有办法优化么

zhoupeng220 发表于 2024-2-3 10:44:24

kucha007 发表于 2024-1-29 14:23


厉害,给热心的大神点个赞。

zilong136 发表于 2024-2-9 05:37:33

kucha007 发表于 2024-1-29 14:23


很不错,多选时,第一次选择对象置顶。
页: 1 2 [3]
查看完整版本: 帮忙修改下程序,选物单开图层并将此物图层置为当前