在lisp例程中包含我的函数“隔离”,以隔离层名称列表,如下所示。
- (defun _isolate (layers / l c n e)
- ;; Tharwat 17.Nov.2014 ;;
- ;; -------------------------- ;;
- ;; Isolate a specifc list of ;;
- ;; Layer names . ;;
- (while (setq l (tblnext "LAYER" (not l)))
- (setq c (cdr (assoc 62
- (setq e
- (entget (tblobjname "LAYER" (setq n (cdr (assoc 2 l)))))
- )
- )
- )
- )
- (if (member n layers)
- (if (minusp c)
- (entmod (subst (cons 62 (abs c)) (assoc 62 e) e))
- )
- (if (not (minusp c))
- (entmod (subst (cons 62 (- c)) (assoc 62 e) e))
- )
- )
- )
- (princ)
- )
功能的使用:
- (_isolate '("Layer1" "Layer2" "Layer3"))
|