「Vla-get-colormethod」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-get-colormethod ''vla-object'') ; 機能 : vlaオブジェクトのカラーメソッドを取得する。 ; 引数 :* vla-object … V...」) |
編集の要約なし |
||
40行目: | 40行目: | ||
(vla-put-truecolor lay tc) | (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) | |||
) | |||
</pre> | </pre> | ||
2025年4月11日 (金) 07:56時点における最新版
- 構文
- (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) )
関連事項