AutoCAD LISP 將物件設定RGB色碼的顏色(True Color)
想要設定超出原有的256色時就需要設定RGB色碼。 方法1:修改群組碼420 ;;;將RGB碼轉成群組碼420數值 ;;;作者:許昱凱 ;;;時間:2022/012/19 (defun k:RGB2ass420 ( rgbnum / ) (+ (* (car rgbnum) 256 256) (* (cadr rgbnum) 256) (caddr rgbnum)) );_end (defun c:tt ( / obj rgb ass420 ) (setq obj (entget(car(entsel)))) (setq rgb '(50 200 50) ass420 (k:RGB2ass420 rgb)) (if (assoc 420 obj) (setq obj (subst (cons 420 ass420) (assoc 420 obj) obj)) (setq obj (append obj (list (cons 420 ass420)))) ) ;_if (entmod obj) (princ) );_end 方法2:使用 vla 函數 ;;;設定物件RGB碼 ;;;作者:許昱凱 ;;;時間:2022/012/19 (defun K:ChangeTrueColor ( vla-obj color / tru ) (if (listp color) (progn (setq tru (vla-get-truecolor vla-obj)) (apply 'vla-setrgb (cons tru color)) ;輸入自訂的RGB色碼 True Color (vla-put-truecolor vla-obj tru) );_progn (vla-put-color lay color) );_if );_end (defun c:tt2 ( / obj tru ) (setq obj (vlax-ename->vla-object (car(entsel))