# 如何选取构成实体的几何图形（而非整个实体本身）并高亮显示它们？

 1. [FAQ](/cn/faq)
2. »
3. [Vectorization and Visualization in Visualize](/faq/vectorization-and-visualization-visualize)

要高亮实体内部的几何图形，需要填充 OdTvSubItemPath 项。请看一个最简单的示例：假设您有一个实体，其 ID 为 OdTvEntityId entId0，您想高亮显示其内部的几何图形 OdTvGeometryId geomId0（该几何图形必须是实体 entId0 的一部分）。此时，OdTvSubItemPath 应如下构建：

```plaintext
OdTvEntityIdsArray entityIdsArr;
entityIdsArr.append(entId0);
OdTvGeometryDataIdsArray geoDataIds;
geoDataIds.append(geomId0);
OdTvSubGeometryId subGeoDataId;
OdTvSubItemPath subItemPath(entityIdsArr, geoDataIds, subGeoDataId);
```

但还有一点需要注意：  
要对几何图形或子几何图形（例如壳体的面）执行选择/高亮操作，必须为具体实体或整个模型设置相应的可选性（selectability）级别。默认的可选性级别仅支持实体级选择和高亮。以下是为整个模型设置几何图形可选性的示例：level assumes the selection and highlighting only for entities. Here is a sample how to set selectability for the whole model:

```plaintext
OdTvModelPtr pModel = modelId.openObject(OdTv::kForWrite);
OdTvSelectabilityDef selectability;
selectability.setGeometries(true);
pModel->setSelectability(selectability);
```
