- UID
- 212487
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2005-1-18
- 最后登录
- 1970-1-1
|
发表于 2005-4-15 16:07:04
|
显示全部楼层
;****************************************************只显示被选对象所在层
(DEFUN C:lc (/ ES EN EL A)
(princ "请选择对象,未被选中的对象所在的层将被关闭")
(setq ES (ssget) A 0 EN "" EL nil FL nil)
(while (/= EN nil)
(setq EN (ssname ES A) EL (cons EN EL) A (1+ A)))
(setq EL (cdr EL) FL (cdr (assoc ' 8 (entget (car EL)))) EL (cdr EL))
(repeat (- A 2)
(setq EN (cdr (assoc ' 8 (entget (car EL))))
FL (strcat EN "," FL) EL (cdr EL)) )
(command "LAYER" "off" "*" "y" "on" (eval FL) "")
(princ))
;****************************************************快速改对象的层
(DEFUN C:LQ()
(princ "请选择要改变层的对象\n")
(setq ss (ssget))
(if (and ss (> (sslength ss) 0))
(progn
(setq ent (entsel "\n请选择目标层上的对象:"))
(if ent (setq la (cdr(assoc 8 (entget (car ent)))))
(setq la (getvar "clayer"))
)
(command ".chprop" ss "" "layer" la "")
)
)
(princ)
)
;****************************************************解锁图层
(defun C:LKk(/ ES EN EL A)
(princ "请选择要解锁的图层上的对象")
(setq ES (ssget) A 0 EN "" EL nil FL nil)
(while (/= EN nil)
(setq EN (ssname ES A) EL (cons EN EL) A (1+ A)))
(setq EL (cdr EL) FL (cdr (assoc ' 8 (entget (car EL)))) EL (cdr EL))
(repeat (- A 2)
(setq EN (cdr (assoc ' 8 (entget (car EL))))
FL (strcat EN "," FL) EL (cdr EL)) )
(command "LAYER" "U" (eval FL) "")
(princ))
;****************************************************关闭所选物体所在的层
(DEFUN C:OL ()
(setvar "cmdecho" 0)
(prompt"\n请选择要关闭的图层上的对象")
(setq ss (ssget))
(if (and ss (sslength ss) 0)
(progn
(setq ct 0 len (sslength ss) cl (getvar "clayer"))
(command ".layer")
(while (< ct len)
(setq la (cdr (assoc 8 (entget (ssname ss ct)))))
(if (/= cl la)(command "off" la)
(progn (prompt "\n你选择的层:")
(prompt la)
(prompt " 是当前层,不能关闭")
) ;end of progn
) ;end of if
(if (= old nil)(setq OLD la)(setq OLD (strcat OLD "," la)))
(setq ct (1+ ct))
) ;end of while
(command"")
) ;end of progn
) ;end of if
(princ)
(setvar "cmdecho" 0) (prin1)
)
;****************************************************冻结所选物体所在的层
(defun C:FFL (/ ES EN EL A)
(princ "请选择要冻结的图层上的对象.")
(setq ES (ssget) A 0 EN "" EL nil FL nil)
(while (/= EN nil)
(setq EN (ssname ES A) EL (cons EN EL) A (1+ A)))
(setq EL (cdr EL) FL (cdr (assoc ' 8 (entget (car EL)))) EL (cdr EL))
(repeat (- A 2)
(setq EN (cdr (assoc ' 8 (entget (car EL))))
FL (strcat EN "," FL) EL (cdr EL)) )
(command "LAYER" "F" (eval FL) "")
(princ))
;****************************************************锁定所选物体所在的层
(defun C:KLl (/ ES EN EL A)
(princ "请选择要加锁的图层上的对象.")
(setq ES (ssget) A 0 EN "" EL nil FL nil)
(while (/= EN nil)
(setq EN (ssname ES A) EL (cons EN EL) A (1+ A)))
(setq EL (cdr EL) FL (cdr (assoc ' 8 (entget (car EL)))) EL (cdr EL))
(repeat (- A 2)
(setq EN (cdr (assoc ' 8 (entget (car EL))))
FL (strcat EN "," FL) EL (cdr EL)) )
(command "LAYER" "LO" (eval FL) "")
(princ)) |
|