[返回博客](/cn/blog) # 在 Teigha Mechanical 中创建 HoleChartOrigin

Alexandr Matvienko 八月 08, 2017 [\#mechanical](/cn/blog/tag/mechanical) [\#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>

在 Teigha Mechanical 中，HoleChartOrigin 是 HoleChart 复杂实体的一部分。创建 HoleChartOrigin 是使 HoleChart 的所有组件正常工作的第一步。

![image1](/files/inline-images/image001_5.png)使用 AcMgDimManager 创建 AcAmgHoleChartOrigin，然后设置其位置。

```
AcMgDimManager manager;
AcAmgHoleChartOriginPtr pHCO;
manager.newHoleChartPoint(pHCO, pDb, btrId, FHCId);
pHCO->setOrigin(OdGePoint3d(65.0, 300.0, 0.0));

```

newHoleChartPoint 的参数如下：

- pHCO — HoleChartOrigin 智能指针
- pDb — 数据库指针
- btrId — 块表行，将包含 HoleChartOrigin，然后是 AcAmgFilteredHoleChart 的 OdDbObjectId
- FHCId — 一个布尔标志，默认为 true，表示您正在创建 HoleChartOrigin 而不是 HoleChartPoint

HoleChartOrigin 包含两个独立的坐标系层：笛卡尔坐标系和极坐标系。这些层有自己的属性，例如文本属性（高度、颜色、附着点）和 HoleChartOrigin 组件（坐标系的终止符和箭头）。默认使用笛卡尔坐标系。要设置文本属性，请使用以下代码：

```
pHCO->setTextPosition(OdGePoint3d(85.0, 320.0, 0.0));
pHCO->useSetTextPosition();
pHCO->setTextHeight(7.0, AcMgHc::kCartesian);
pHCO->setTextAttachment(Acm::kTopRight,
AcMgHc::kCartesian);
pHCO->setTextColor(OdCmColor(OdCmEntityColor::kByLayer), AcMgHc::kCartesian);

```

您可以使用 AcMgHc::kPolar 枚举配置极坐标系的属性，然后切换到极坐标系：

```
pHCO->setCoordSystemType(AcMgHc::kPolar);

```

您还可以配置终止符类型和不同组件的可见性：

```
pHCO->setOriginTerminator(AcMgHc::kPoint2d, AcMgHc::kCartesian);
pHCO->setOriginFlags(SHOWZERO | SHOWCOORDSYSTEM, AcMgHc::kCartesian);

```

原点终止符有七种类型：

- text
- kNone
- kPoint2d
- kDot
- kDotBlank
- kCross
- kNc
- kCustom

原点标志是一个位掩码，用于设置组件的可见性：

- SHOWCOORDSYSTEM — 原点箭头的可见性。
- SHOWZERO — “0”文本的可见性。
- DRAWLEADER — 由 HoleChartPoint 用于设置引线的可见性。

您可以通过 AcAmgFilteredHoleChart 设置原点文本：

```
OdDbObjectPtr pObj = FHCId.safeOpenObject(OdDb::kForWrite);
AcAmgFilteredHoleChartPtr pFHC = AcAmgFilteredHoleChart::cast(pObj);
pFHC->setColumnEquation(AcMgHc::kHcOrigin, L"MyStr");

```

最后一步是为 HoleChartOrigin 设置图层：

```
pHCO->setLayer(L"AM_5");

```

## 今天就开始行动

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

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