[返回博客](/cn/blog) # ODA Facet Modeler 中的颜色

Taras Khalimanenko 十一月 21, 2019 [\#facet modeler](/cn/blog/tag/facet-modeler) [\#Color](/cn/blog/tag/color)

<a class="a2a_button_facebook"></a><a class="a2a_button_twitter"></a><a class="a2a_button_linkedin"></a>

ODA Facet Modeler 可以存储各种对象属性，例如：可见性、方向、颜色以及指向附加数据的指针。本文重点介绍颜色。

颜色不发挥任何作用，也不影响 Facet Modeler 内部布尔运算结果的拓扑结构。颜色存储为 32 位变量，假定颜色值以 RGB 格式（每通道 8 位）存储，但开发人员可以根据需要进行解释。

颜色属性具有 Face 和 Edge 类。要访问颜色，这些类具有以下方法：

```
OdUInt32 color() const;
void setColor(const OdUInt32 color);
```

Body 类中有一个方法可以设置对象所有面和边的颜色：

```
void setColor(OdUInt32 iColor);
```

在布尔运算期间，对象的颜色由以下规则定义：

- 未参与操作的面和边保留其原始颜色。
- 被切除的面和边保留其原始颜色。
- 布尔运算产生的新边使用默认颜色。
- 当组合位于同一平面上的面时，使用第一个体的颜色。

下图显示了上述前三条规则的示例：

- 红色 — 新的边颜色。
- 绿色 — 第一个实体颜色。
- 青色 — 第二个实体颜色。

![ODA Facet Modeler example](/files/inline-images/ODA%20Facet%20Modeler%20example.png)您可以在下图中看到 UNION 操作结果的示例。

- 左侧 — 第一个实体为蓝色时的结果。
- 右侧 — 第一个实体为绿色时的结果。
- 中间 — 显示不随操作数顺序变化的边颜色。

![ODA Facet Modeler Union operation](/files/inline-images/ODA%20Facet%20Modeler%20Union%20Operation.png)

## 今天就开始行动

**免费试用 ODA 软件 60 天。  
无风险，无需信用卡。**

[免费试用](https://www.opendesign.com/cn/free-trial)
