「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)
)
関連事項