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))))

  (K:ChangeTrueColor '(5 155 2)) ;輸入自訂的RGB色碼 True Color

  (princ)

  );_end




留言

這個網誌中的熱門文章

AutoCAD 填充線(剖面線)樣式簡易製作產生器

AutoCAD 如何自訂線型教學

AutoCAD 動態圖塊-如何在所有可見性顯示或隱藏