[求助]怎樣將圖層顯示反向選擇關閉其他圖層顯示?
小弟知道晓东工具箱里有这个lisp程序,这个程序真的很棒!但却需配合接口,能不能不用配合接口而能使用呢?以下是晓东的程序,可以更改吗?(defun #push_lay (lyr)<BR> (if (member lyr #lyr_l)<BR> (prompt "\n已经选取了改层,请继续...")<BR> (progn<BR> (setq #lyr_l (cons lyr #lyr_l))<BR> (redraw e 3)<BR> )<BR> )<BR>)<BR>(defun c:slayres (/ e #lyr_l n) <BR> (while (setq e (car (entsel "\n请选取要保留图层上的实体<退出>:")))<BR> (xdrx_setenttodb e)<BR> (#push_lay (xdrx_getentdxf 8))<BR> )<BR> (if #lyr_l<BR> (progn<BR> (xdrx_begin '("expert" 1<BR> "cmdecho" 0<BR> )<BR> )<BR> (command ".layer" "of" "*")<BR> (foreach n #lyr_l<BR> (command "on" n)<BR> )<BR> (command "")<BR> (setvar "OSMODE" 4261)<BR> (xdrx_end)<BR> )<BR> )<BR> (princ)<BR>)<BR>(defun c:slayoff (/ e #lyr_l n)<BR> (while (setq e (car (entsel "\r请选取要关闭图层上的物件<退出>:")))<BR> (xdrx_setenttodb e)<BR> (#push_lay (xdrx_getentdxf 8))<BR> )<BR> (if #lyr_l<BR> (progn<BR> (xdrx_begin '("expert" 1<BR> "cmdecho" 0<BR> )<BR> )<BR> (command ".layer")<BR> (foreach n #lyr_l<BR> (command "of" n)<BR> )<BR> (command "")<BR> (setvar "OSMODE" 39)<BR> (xdrx_end)<BR> )<BR> )<BR> (princ)<BR>) 本帖最后由 作者 于 2004-8-29 7:41:49 编辑 <br /><br /> ;;;*图层隔离 c:tcgl<BR>(defun c:tcgl (/ s1 la)<BR> (WHILE (NOT (setq s1 (entsel "\n\t选择层物体: "))))<BR> (setq la (DXF 8 (entget (CAR s1))))<BR> (command "layer" "s" la "f" "*" "")<BR> )
<b>(defun dxf (code elist) (cdr (assoc code elist)))</b> 出现错误: no function definition: DXF
页:
[1]