songyuan 发表于 2003-5-30 11:09:00

求助!!

紧急!请问怎么用autoliso编写程序实现将已经设置好的图层清除??请教陈老师、龙龙仔和其他高手!

congcong 发表于 2003-5-31 11:36:00

将图层上的图元删掉后再用purge删除图层即可

meflying 发表于 2003-5-31 11:52:00

我不是在你的上一次提问回答了吗,还给你写了程序,怎么还问?如果程序有问题,你可

我不是在你的上一次提问回答了吗,还给你写了程序,怎么还问?如果程序有问题,你可以说啊

songyuan 发表于 2003-6-1 00:23:00

meflying哥!对你的帮助我很感谢,但是,这个问提你给我的答复我真的没有看见

meflying哥!对你的帮助我很感谢,但是,这个问提你给我的答复我真的没有看见,我天天看,见你没有帮我以后,我才发的,但是今天晚上我上来以后,看见你对前面一个问题回复了,但是,我已经又发了一遍,给你工作添麻烦了,真的不好意思。

meflying 发表于 2003-6-2 08:49:00

查查你5月31号9:59分发的帖子,下面这是我直接从那拷过来的

(vl-load-com)
(defun c:dellayer(/ adoc msp ltps ltp lname)
(setq adoc (vla-get-activedocument (vlax-get-acad-object)))
(setq ltps (vla-get-layers adoc))
(setq lname (getstring "输入需要删除的图层<*>:"))
(if (= lname "") (listlayer))
(while (= lname "")
    (setq lname (getstring "输入需要删除的图层:"))
    (if (= (strcase lname 0) "l") (progn (listlayer) (setq lname "")))
)
(setq ltp (vl-catch-all-apply 'vla-item (list ltps lname)))
(if (vl-catch-all-error-p ltp)
    (princ "没有此图层!")
    (vla-delete ltp)
)
(princ)
)

(defun listlayer(/ adoc ltps n i ltp1)
(setq adoc (vla-get-activedocument (vlax-get-acad-object)))
(setq ltps (vla-get-layers adoc))
(setq n (vla-get-count ltps))
(setq i 0)
(repeat (- n 0)
    (setq ltp1 (vla-item ltps i))
    (princ "\n")
    (print (vla-get-name ltp1))
    (princ "\n")
    (setq i (1+ i))
)
)
页: [1]
查看完整版本: 求助!!