Vla-get-colormethod

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(vla-get-colormethod vla-object)


機能
vlaオブジェクトのカラーメソッドを取得する。


引数
  • vla-object … VLAオブジェクト


戻り値
acColorMethod の種類。次のいずれかの定数。
  • acColorMethodByACI
  • acColorMethodByBlock
  • acColorMethodByLayer (既定)
  • acColorMethodByRGB
  • acColorMethodForeground


サンプル
(defun c:layer2trucolor(/ lay tc idx)
  ; レイヤーのACIカラーをRGBカラーに変換
  (vl-load-com)
  (setq *acaddoc* (vla-get-ActiveDocument (vlax-get-Acad-Object)))
  (vlax-for lay (vla-get-layers *acaddoc*)
    (setq tc (vla-get-truecolor lay))
    (if (= (vla-get-colormethod tc) acColorMethodByACI)
      (progn
        (setq idx (vla-get-colorindex tc))           
        (vla-put-colormethod tc acColorMethodByRGB)
        (vla-put-colorindex tc idx)
        (setq r (vla-get-red tc)
              g (vla-get-green tc)
              b (vla-get-blue tc))
        (vla-setrgb tc r g b)
        (vla-put-truecolor lay tc)
      ))))


(vl-load-com)
(defun c:Example_ColorMethod()
    ; この例では、ColorMethodプロパティを変更する方法を示す。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    (setq modelSpace (vla-get-ModelSpace doc))  
  
    (setq col (vlax-create-object (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2))))
    (vla-put-ColorMethod col acColorMethodForeground)
            
    ;; サークルナンバー1
    (setq pt (vlax-3d-point 0 0 0))

    (setq cir1 (vla-AddCircle modelSpace pt 2))
    (vla-put-TrueColor cir1 col)
    (vla-ZoomAll acadObj)
    (vla-Regen doc :vlax-true)
        
    (setq retCol (vla-get-TrueColor cir1))
        
    ;; メソッドとインデックスを備えたメッセージボックス
    (setq MethodText (vla-get-ColorMethod col))
    (alert (strcat "ColorMethod=" (itoa MethodText) "\nIndex=" (itoa (vla-get-ColorIndex col))))
        
    ;; サークルナンバー2
    (setq cir2 (vla-AddCircle modelSpace pt 6))
    (vla-ZoomAll acadObj)
    (vla-Regen doc :vlax-true)
  
    (vla-put-ColorMethod col acColorMethodByBlock)
       
    ;; メソッドとインデックスを備えたメッセージボックス
    (setq MethodText (vla-get-ColorMethod col))
    (alert (strcat "ColorMethod=" (itoa MethodText) "\nIndex=" (itoa (vla-get-ColorIndex col))))
        
    ;; サークルナンバー3
    (setq cir3 (vla-AddCircle modelSpace pt 10))
    (vla-ZoomAll acadObj)
    (vla-Regen doc :vlax-true)
    
    (setq layColor (vlax-create-object (strcat "AutoCAD.AcCmColor." (substr (getvar "ACADVER") 1 2))))
    (vla-SetRGB layColor 122 199 25)
    (vla-put-TrueColor (vla-get-ActiveLayer doc) layColor)
        
    (vla-put-ColorMethod col acColorMethodByLayer)
      
    (setq retCol (vla-get-TrueColor cir3))
    (vla-Regen doc :vlax-true)
                
    ;; メソッドとインデックスを備えたメッセージボックス
    (setq MethodText (vla-get-ColorMethod col))
    (alert (strcat "ColorMethod=" (itoa MethodText) "\nIndex=" (itoa (vla-get-ColorIndex col))))

    (vlax-release-object col)
)


関連事項