在 Teigha Mechanical 中,HoleChartOrigin 是 HoleChart 复杂实体的一部分。创建 HoleChartOrigin 是使 HoleChart 的所有组件正常工作的第一步。
使用 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");