Specifies the color method.
Supported platforms: Windows only
Read-only: No
Type: acColorMethod enum
The default color method is acColorMethodByLayer. To directly determine how a color is set, use the constants listed here:
No additional remarks.
VBA:
Sub Example_ColorMethod() ' This example shows how to change the ' ColorMethod property Dim col As AcadAcCmColor Set col = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.20") col.ColorMethod = AutoCAD.acColorMethodForeground ' Circle number one Dim cir1 As AcadCircle Dim pt(0 To 2) As Double Set cir1 = ThisDrawing.modelSpace.AddCircle(pt, 2) cir1.TrueColor = col ZoomAll Dim retCol As AcadAcCmColor Set retCol = cir1.TrueColor ' Message box with method and index Dim MethodText As String MethodText = col.ColorMethod MsgBox "ColorMethod=" & MethodText & vbCrLf & "Index=" & col.ColorIndex ' Circle number two Dim cir2 As AcadCircle Set cir2 = ThisDrawing.modelSpace.AddCircle(pt, 6) ZoomAll col.ColorMethod = AutoCAD.acColorMethodByBlock ' Message box with method and index MethodText = col.ColorMethod MsgBox "ColorMethod=" & MethodText & vbCrLf & "Index=" & col.ColorIndex ' Circle number three Dim cir3 As AcadCircle Set cir3 = ThisDrawing.modelSpace.AddCircle(pt, 10) ZoomAll Dim layColor As AcadAcCmColor Set layColor = AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.20") layColor.SetRGB 122, 199, 25 ThisDrawing.ActiveLayer.TrueColor = layColor col.ColorMethod = AutoCAD.acColorMethodByLayer Set retCol = cir3.TrueColor ' Message box with method and index MethodText = col.ColorMethod MsgBox "ColorMethod=" & MethodText & vbCrLf & "Index=" & col.ColorIndex End Sub
Visual LISP:
(vl-load-com) (defun c:Example_ColorMethod() ;; This example shows how to change the ;; ColorMethod property (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) (setq modelSpace (vla-get-ModelSpace doc)) (setq col (vlax-create-object "AutoCAD.AcCmColor.20")) (vla-put-ColorMethod col acColorMethodForeground) ;; Circle number one (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)) ;; Message box with method and index (setq MethodText (vla-get-ColorMethod col)) (alert (strcat "ColorMethod=" (itoa MethodText) "\nIndex=" (itoa (vla-get-ColorIndex col)))) ;; Circle number two (setq cir2 (vla-AddCircle modelSpace pt 6)) (vla-ZoomAll acadObj) (vla-Regen doc :vlax-true) (vla-put-ColorMethod col acColorMethodByBlock) ;; Message box with method and index (setq MethodText (vla-get-ColorMethod col)) (alert (strcat "ColorMethod=" (itoa MethodText) "\nIndex=" (itoa (vla-get-ColorIndex col)))) ;; Circle number three (setq cir3 (vla-AddCircle modelSpace pt 10)) (vla-ZoomAll acadObj) (vla-Regen doc :vlax-true) (setq layColor (vlax-create-object "AutoCAD.AcCmColor.20")) (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) ;;Message box with method and index (setq MethodText (vla-get-ColorMethod col)) (alert (strcat "ColorMethod=" (itoa MethodText) "\nIndex=" (itoa (vla-get-ColorIndex col)))) (vlax-release-object col) )