大家好
我一直在使用lisp rutine将每个实体对象放在一个单独的层上,以便导出到另一个应用程序。lisp很好用,但它只为所有层指定一种颜色(红色)。有没有办法对每一层应用随机颜色?下面是我做这件事的常规。
谢谢你的帮助
-
- (defun C:l2l (/ a lname b index b1 name n)
- (setvar "regenmode" 0)
- (setq a (ssget))
- (setq lname "3d" )
- (setq b 1)
- (setq n (sslength a))
- (setq index 0)
- (repeat n
- (setq b1 (entget (ssname a index)))
- (setq index (1+ index))
- (setq b2 (rtos b 2 0))
- (setq na (strcat lname b2))
- (command "layer" "n" na "" "")
- (command "layer" "s" na "c" 1 "" "s" 0 "")
- (setq c (assoc 8 b1))
- (setq d (cons (car c)na))
- (setq e (subst d c b1))
- (entmod e)
- ; (command "change" !b1 "")
- ; (command "change" "p" "" "p" "la" na "" "")
- (setq b (1+ b))
- )
- (setvar "regenmode" 1)
- )
- (defun C:l2lA (/ a lname b index b1 name n)
- (setvar "regenmode" 0)
- (setq a (ssget))
- (setq lname (getstring "\Enter the starting string (A MAXIMUM OF 5 CHARACTERS): "))
- (setq b 1)
- (setq n (sslength a))
- (setq index 0)
- (repeat n
- (setq b1 (entget (ssname a index)))
- (setq index (1+ index))
- (setq b2 (rtos b 2 0))
- (setq na (strcat lname b2))
- (command "layer" "n" na "" "")
- (command "layer" "s" na "c" 1 "" "s" 0 "")
- (setq c (assoc 8 b1))
- (setq d (cons (car c)na))
- (setq e (subst d c b1))
- (entmod e)
- ; (command "change" !b1 "")
- ; (command "change" "p" "" "p" "la" na "" "")
- (setq b (1+ b))
- )
- (setvar "regenmode" 1)
- )
|