Тема: Считывание цвета примитива

Я пытаюсь считать цвет примитива(линии в чертеже) методами. Не выходит.

Dim mspaceObj As AcadObject
Dim objCount As Integer
objCount = ThisDrawing.ModelSpace.Count
For I = 0 To objCount - 1
Set mspaceObj = ThisDrawing.ModelSpace.Item(I)
'1 X 
Debug.Print Application.ActiveDocument.ActiveLayer.сolor
'2
Debug.Print mspaceObj.color
'3    
    Dim retcolor As AcadAcCmColor-
    Set retcolor = mspaceObj.TrueColor
    
    MsgBox "Red = " & retcolor.Red
    MsgBox "Green = " & retcolor.Green
    MsgBox "Blue = " & retcolor.Blue 
next

Для '1 определяет цвет (например - 125), а для '2 - всегда 256, какой-бы цвет не был примитива почему-то? '3 - всегда "0" Подсажите пожалуйста как мне считать цвет примитива, в любой системе цветов?

Re: Считывание цвета примитива

Из Help'а

Свойство TrueColor
Определяет True Color объекта.

Синтаксис
object.TrueColor

object - All Drawing objects, Group, Layer - Объект или объекты обращающиеся к этому свойству.

TrueColor - AcCmColor объект.

Замечания

Это свойство используется, чтобы изменить цвет объекта. Цвета идентифицированы объектом AcCmColor. Этот объект может держать значение RGB, число ACI (целое число от 1 до 255) или названный цвет. Используя значение RGB, Вы можете выбрать из миллионов цветов.

Re: Считывание цвета примитива

Sub Example()
    Dim objColor As AcadAcCmColor
    Dim objEntity As AcadEntity
    On Error Resume Next
        For Each objEntity In ThisDrawing.ModelSpace
                Set objColor = objEntity.TrueColor
                
                MsgBox "Красный = " & objColor.Red & vbNewLine & _
                       "Зеленый = " & objColor.Green & vbNewLine & _
                       "Синий = " & objColor.Blue
        Next
    Set objColor = Nothing
    Set objEntity = Nothing
End Sub

Re: Считывание цвета примитива

Пример от Ingwar показывает работу с цветом в формате RGB. Помимо этого цвет может быть (свойство ColorMethod):

acColorMethodByACI
acColorMethodByBlock
acColorMethodByLayer
acColorMethodByRGB
acColorMethodForeground

О разных видах цветов в AutoCAD и выборе объектов по цвету можно посмотреть в теме Цвет Foreground

Re: Считывание цвета примитива

Спасибо огромное Ingwar и Mikha!!! Благодаря Вам разобрался. С цветами в AutoCAD конечно не тривиально сделано!