在 Teigha Mechanical 中创建 HoleChartOrigin

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

image1

使用 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 天。
无风险,无需信用卡。

免费试用