我用的是:
- ;;; e2a.lsp - Encompass to American color translator
- (defun c:e2a (/ colLst lay col)
- (vl-load-com)
- (setq colLst '(
- (1 . 67)
- (2 . 66)
- (3 . 64)
- (4 . 77)
- (5 . 78)
- (6 . 73)
- ))
- (vlax-for l (vla-get-layers
- (vla-get-activedocument
- (vlax-get-acad-object)))
- (setq lay (cons l lay)))
- (foreach layer lay
- (if (setq col (assoc (vla-get-color layer) colLst))
- (vla-put-color layer (cdr col))))
- (princ)
- (setq colLst '(
- (64 . 1)
- (66 . 2)
- (67 . 3)
- (68 . 4)
- (69 . 5)
- (72 .
- (73 . 12)
- (74 . 13)
- (76 . 20)
- (77 . 22)
- (78 . 30)
- (79 . 41)
- ))
- (vlax-for l (vla-get-layers
- (vla-get-activedocument
- (vlax-get-acad-object)))
- (setq lay (cons l lay)))
- (foreach layer lay
- (if (setq col (assoc (vla-get-color layer) colLst))
- (vla-put-color layer (cdr col))))
- (princ)
- )
- ;;; end e2a.lsp
左边的数字是要更改的颜色,右边的数字是要更改的颜色。
我换了双色。我首先将颜色更改为两种颜色中都不一定使用的颜色。ctb,然后将其更改为最终颜色。在代码中,您可以看到我最终切换了颜色1和3。如果我换成1比3,再换成3比1,我的红色永远不会改变,但我的绿色现在都是红色;不是我想要的。所以我把1改为67,3改为64;然后是64到1和67到3;有效地交换了我的红色和绿色。我希望这有意义。
我确信有更简单的方法,但这花了我几分钟的时间来完成这项工作。 |