代码改变世界

AutoLISP根据所选图元冻结图层

2011-05-23 21:25  精诚所至 金石为开  阅读(604)  评论(0编辑  收藏  举报

选取图元,冻结图元所在图层,并将0层设置为当前图层,代码如下。

(defun c:layerf ()
    (while (= (setq obj (entsel "\n选择要关闭层中的任一图素:")) nil))
    (setq objlay (cdr (assoc 8 (entget (car obj)))))
    (setq clay (getvar "clayer"))
    (if    (= clay objlay)
    (prompt "\n所选的是当前层,不能冻结.")
    (command "layer" "s" 0 "f" objlay "")
    )
    (princ)
)

代码完。