ninja37 发表于 2019-3-31 23:21:43

求各位高手帮我写个图层LISP。这个对各位不难的。

求各位高手帮我写个LISP。这个对各位不难的。我们厂里一直都只用1,2,3,4,5,6,7,8,9,这几个图层。。求各位帮忙写2个lisp命令。第1个命令:首先框选 (只能选择到圆形) ,然后将圆形改到图层1(图层1原来就有,不需要新建),然后再把圆形改成颜色bylayer
第2个命令:首先框选 (只能选择到红色1的图形) ,,然后将选择的红色的图形改到图层1(图层1原来就有,不需要新建),然后再把图形改成颜色bylayer
http://m.qpic.cn/psb?/V11p7F3e2DtABt/0myLUD4a9h1qQKcA2Tpn1PjFIGw6br2TenUn062VKsw!/b/dLYAAAAAAAAA&bo=MgNbAgAAAAADB0o!&rf=viewer_4




yshf 发表于 2019-3-31 23:21:44

本帖最后由 yshf 于 2019-4-6 10:07 编辑

;框选圆(不含块中圆等),将其图层名改到图层1、颜色改为ByLayer
(defun c:cc1()
    (setq cmd (getvar "cmdecho"))
    (setvar "cmdecho" 0)
    (command "_undo" "be")
    (if (setq p1 (getpoint "\n框选左上角点:"))
      (if (setq p2 (getcorner p1"\n框选右下角点:"))
            (if (setq ssa (ssget "w" p1 p2 '((0 . "circle"))))
                (command "_chprop" ssa "" "layer" "图层1" "c" "Bylayer" "")
            )
      )
    )
    (command "_undo" "e")
    (setvar "cmdecho" cmd)
    (princ)   
)
;框选红色的图元(不含块中红色图元及随层为红色的图元等),将其图层名改到图层1、颜色改为ByLayer
(defun c:cc2()
    (setq cmd (getvar "cmdecho"))
    (setvar "cmdecho" 0)
    (command "_undo" "be")
    (if (setq p1 (getpoint "\n框选左上角点:"))
      (if (setq p2 (getcorner p1"\n框选右下角点:"))
            (if (setq ssa (ssget "w" p1 p2 '((62 . 1))))
                (command "_chprop" ssa "" "layer" "图层1" "c" "Bylayer" "")
            )
      )
    )
    (command "_undo" "e")
    (setvar "cmdecho" cmd)
    (princ)   
)

1028695446 发表于 2019-4-5 22:23:21

没人回帖吗?悬赏还有吗,有的话我来试试

alexmai 发表于 2019-4-7 01:56:40

;;;选红色物体→图层1
(defun c:c3(/ ss)(princ "\n选红色物体→图层1")
(if
    (setq ss (ssget '((-4 . "<or") (62 . 1) (-4 . "or>"))))
    (command "_chprop" ss "" "c" "bylayer" "la" "图层1" "")
)   
(princ)
)


;;;;选圆形物体→图层1
(defun c:c2(/ ss)(princ "\n选圆形物体→图层1")
(if
    (SETQ ss (ssget (list '(0 . "CIRCLE"))))
    (command "_chprop" ss "" "c" "bylayer" "la" "图层1" "")
)
(princ)
)

ninja37 发表于 2019-4-7 20:31:43

各位朋友晚上好,楼上有两位朋友帮我写了一个命令,实在无以为谢,由于来论坛不久,不知道评分是要在24小时之内的,现在都不能评分了。明经币不知道怎么转送,实在不好意思,请有知道怎么转账明经币的朋友告诉一下我。
页: [1]
查看完整版本: 求各位高手帮我写个图层LISP。这个对各位不难的。