[返回博客](/cn/blog) # Teigha Civil 的 3D 特征线实体

Igor Fedotov 九月 21, 2017 [\#civil](/cn/blog/tag/civil) [\#getting started](/cn/blog/tag/getting-started)

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

#### AeccDbFeatureLine 类

绘制特征线有两种方式：通过 2D 多段线 (OdDbPolyline 对象) 和通过 3D 多段线 (OdDb3dPolyline 对象)。高程值的差异会影响所有场地特征边缘点。如果所有高程都相等，则特征线将通过 OdDbPolyline 实体绘制，否则通过 OdDb3dPolyline 绘制。在 2D 情况下，OdDbPolyline 由类型为 (AECCSiteEdge::Type) 的 eLine 和 eArc 边组成。OdDb3dPolyline 实体仅由 eLine 类型组成，并且为了圆弧插值目的，它基于分解功能使用镶嵌（短的直线段）。

在内部使用时，我们保留带有凸度参数和附加高程值数组的特征线边。在外部使用时，我们有基本的几何方法 AECCSiteNode ::Get2DFeatureGeometry()（带/不带高程（辅助）点），其输出值为 AECGe::Contour2D 和附加高程向量。

以下是基本方法：

- AeccDbFeatureLine::GetFeatureLineStyle 返回特征线的样式 ID；
- AeccDbFeatureLine::GetSiteNode() 返回 Site 对象；
- AeccDbFeatureLine::GetMaximumElevation() 返回特征线的最大高程；
- AeccDbFeatureLine::GetMinimumElevation() 返回特征线的最小高程；
- AECCSiteNode::Get2DFeatureGeometry() 通过 Contour2d 和高程值返回特征边；
- AECCSiteNode::CreateFeature() 在场地中创建特征线；
- AECCSiteNode::DeleteFeature() 从场地中删除特征线；
- AECCSiteNode::GetFeatureById() 按 ID 返回场地中的特征线；
- AECCSiteFeature::GetEdgePIPointCount() 返回点交点计数；
- AECCSiteFeature::GetEdgeElevationPointCount() 返回高程点计数；
- AECCSiteFeature::GetEdgeByIndex() 按索引返回特征线的一条边；
- AECCSiteEdge::GetType() 返回边的类型：如果 bulge=0 则为 eLine，否则为 eArc；
- AECCSiteEdge::GetBulge() 返回边的凸度参数；
- AECCSiteEdge::IsPI() 如果点具有点交点类型，则返回 true。

## 今天就开始行动

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

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