iLogic. Как изменить цвет линии на чертеже

Проблема

Как поменять цвет конкретной линии на чертеже используя iLogic?

Решение

Решение достаточно простое, но хорошо работает, начиная только с версии Inventor 2021. Для этого напишем следующее правило iLogic.

' Получаем активный документ чертежа.
Dim drawDoc As DrawingDocument
drawDoc = ThisApplication.ActiveDocument

' Получаем сегмент кривой. Используем механизм выбора с фильтром. 
Dim segment As DrawingCurveSegment
segment = ThisApplication.CommandManager.Pick(SelectionFilterEnum.kDrawingCurveSegmentFilter, "Выберите сегмент")

' Получаем кривую из сегмента. Кривая является родителем сегмента.
Dim curve As DrawingCurve
curve = segment.Parent
 
' Создаем новый цвет.
Dim newColor As Color
newColor = ThisApplication.TransientObjects.CreateColor(255, 0, 0)

' Присваиваем кривой новый цвет.
curve.Color=newColor
Пример работы правила.

Затем запускаем правило, наводим курсор на сегмент линии и нажимаем на нём. Линия изменит цвет. При этом если линия состоит из нескольких сегментов, например, участки видимого и невидимого контура, то изменят цвет все эти сегменты, принадлежащие кривой.