ObjectARX2020 CAD2020 自定义实体重写setColor
2020的改参数了
virtual ACDBCORE2D_PORT Acad::ErrorStatus setColor( const AcCmColor& color, bool doSubents, AcDbDatabase * pDb);
参数
参数 描述
color 输入AcCmColor对象, 其中包含要为其设置实体的颜色的完整真实颜色信息
doSubents 输入bool值, 指示是否将更改传播到实体可能拥有的任何子实体
pDb 用于在实体非db-resident时查找命名颜色
返回
如果实体是非驻留且pDb为null, 则返回eNoDatabase。
描述
功能用法
此方法将实体的颜色设置为颜色指定的颜色。如果实体拥有子实体并且doSubents == Adesk::kTrue, 则颜色更改也会应用于子实体。自定义类可以覆盖此方法。
注意
kTrue具有影响的唯一内置实体是:AcDb2dPolyline, AcDb3dPolyline, AcDbPolyFaceMesh和AcDbPolygonMesh。
如果成功则返回Acad::eOk。如果不成功, 将导致一般的AutoCAD错误, 因为只有在AutoCAD中出现严重错误时, 此功能才会失败。
派生类中的函数实现
如果重写此函数并希望设置实体的颜色, 那么它必须调用AcDbEntity::setColor()传递颜色和doSubents参数或调用AcDbEntity::setColorIndex()传递AutoCAD颜色索引和获取的doSubents值从颜色。
此函数的实现也可以直接处理任何子实体, 并将Adesk::kFalse的doSubents值传递给AcDbEntity::setColor()或AcDbEntity::setColorIndex()。