ljs026 发表于 2004-8-28 19:06:00

[求助]怎樣將圖層顯示反向選擇關閉其他圖層顯示?

小弟知道晓东工具箱里有这个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请选取要保留图层上的实体&lt;退出&gt;:")))<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请选取要关闭图层上的物件&lt;退出&gt;:")))<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>)

xyp1964 发表于 2004-8-29 00:18:00

本帖最后由 作者 于 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>

ljs026 发表于 2004-8-29 00:45:00

出现错误: no function definition: DXF
页: [1]
查看完整版本: [求助]怎樣將圖層顯示反向選擇關閉其他圖層顯示?