ninja37 发表于 2020-11-7 12:19:13

求写一个删除指定图层的图元的程序,希望大家帮减轻负担。

本帖最后由 ninja37 于 2020-11-8 20:31 编辑

求写一个删除指定图层的图元的程序,希望大家帮减轻负担。也不是想不劳而获,年纪也不小了,脑子也不太灵活 ,只能看懂最简单的程序。能用用就不错了。
1,要求输入命令,建立一个选择集,选择框选删除掉autocut这个图层的所有图元。
2 ,不考虑当前图层   ,但是autocu图层一定要是打开的 ,最好是图层全开的。否则看不到这个图层的图元也没法删除
3 ,最好是有判断的程序如果当前图档没有autocut层 会生成一个.
4,要框选删除而不是删除整个autocut层的图元,直接用erase命令的框选就可以了原生的命令好用不需要指定first point   ,secong poing之类的两个点。
这样的程序对大家来说很简单的对我来说有难度希望大家帮帮忙。

xj6019 发表于 2020-11-7 12:19:14

本帖最后由 xj6019 于 2020-11-8 21:14 编辑

(defun c:TT()
(setvar "CMDECHO" 0)
(setq old_lay (getvar "clayer"))
(command "layer" "u" "*" "")
(command "layer" "on" "*" "")
(if (not (tblsearch "layer" "autocut"))
    (command "-layer" "m" "autocut" "c" "3" "" ""))
(setvar "clayer" "0")
(command "_.erase" (ssget ":s"'((8 . "autocut"))) "")
(setvar "clayer" old_lay)
(setvar "CMDECHO" 1)
)

Yruz 发表于 2020-11-8 21:04:17

(defun c:et (/ e)
(if (not (tblsearch "layer" "autocut"))
    (entmake (list '(0 . "LAYER")
                   '(100 . "AcDbSymbolTableRecord")
                   '(100 . "AcDbLayerTableRecord")
                   '(70 . 0)
                   '(290 . 1)
                   (cons 2 "autocut")
             )
    )
)
(command "openalllayer")
(setq e (ssget ":L" '((8 . "autocut"))))
(command "erase" e "")
(princ)
)

Yruz 发表于 2020-11-8 21:08:14

直接发码就变成论坛表情了,试试这个

ninja37 发表于 2020-11-11 12:40:15

xj6019 发表于 2020-11-8 21:08
(defun c:TT()
(setvar "CMDECHO" 0)
(setq old_lay (getvar "clayer"))


已经在用了,谢谢,程序很好用

ninja37 发表于 2020-11-11 12:44:08

Yruz 发表于 2020-11-8 21:08
直接发码就变成论坛表情了,试试这个

你好 谢谢你帮忙写程序。这个程序能用,只是在cad2004下面会显示这几个字e123aopenalllayer [未知命令openalllayer]

Yruz 发表于 2020-11-11 14:48:49

ninja37 发表于 2020-11-11 12:44
你好 谢谢你帮忙写程序。这个程序能用,只是在cad2004下面会显示这几个字e123aopenalllayer [未知命 ...

04还没有 (command "openalllayer")
等效(command "layer" "on" "*" "")即可

ninja37 发表于 2020-11-12 17:55:04

Yruz 发表于 2020-11-11 14:48
04还没有 (command "openalllayer")
等效(command "layer" "on" "*" "")即可

谢谢 现在也可以用力,谢谢了

999999 发表于 2020-11-25 12:43:02

厉害厉害,,

zhangcan0515 发表于 2022-3-28 20:22:18

留个脚印,看看学习一下。谢谢
页: [1] 2
查看完整版本: 求写一个删除指定图层的图元的程序,希望大家帮减轻负担。