如何读取实体的颜色值
CAD中每个对象都有个颜色值,用VBA应该读取哪个属性,折腾了好久没找到,谢谢要更改对象的颜色,请使用为该对象提供的 TrueColor 特性。用户可以指定图形中各个对象的颜色。每种颜色均由一个 AcCmColor 对象标识。此对象可以是 RGB 值、ACI 编号(从 1 到 255 的整数)或命名颜色。使用 RGB 值,可以从上百万种颜色中选择。
设置对象的颜色会替代该对象所在图层的颜色设置。如果要将对象保留在特定图层上但不希望该对象保留该图层的颜色,可以更改对象的颜色。
Sub Ch4_ColorCircle()
Dim color As AcadAcCmColor
Set color = _
AcadApplication.GetInterfaceObject("AutoCAD.AcCmColor.17")
Call color.SetRGB(80, 100, 244)
Dim circleObj As AcadCircle
Dim centerPoint(0 To 2) As Double
Dim radius As Double
centerPoint(0) = 0#: centerPoint(1) = 0#: centerPoint(2) = 0#
radius = 5#
Set circleObj = _
ThisDrawing.ModelSpace.AddCircle(centerPoint, radius)
circleObj.TrueColor = color
ZoomAll
End Sub
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
以上来自VBA帮助。
color读取的是颜色索引值,The value returned is a color index number from 0 to 256
truecolor可以自己设置RGB值
浪迹天涯追月 发表于 2016-4-27 08:41 static/image/common/back.gif
要更改对象的颜色,请使用为该对象提供的 TrueColor 特性。用户可以指定图形中各个对象的颜色。每种颜色均由 ...
谢谢你的指导,学习你的指点,我搞定了
Dim EntityObj As AcadEntity
Dim icolorIndex As Integer
icolorIndex = EntityObj.TrueColor.ColorIndex
通过读取TrueColor的ColorIndex属性,可以得到每个对象的颜色值,噢耶
页:
[1]