创建放样三维实体

三维实体可以作为基本图元创建,也可以作为拉伸、扫掠、旋转或放样的轮廓创建。本文介绍了通过放样轮廓创建三维实体的不同方法。

放样用于从一组曲线(即横截面曲线)创建三维实体对象。有不同的参数会影响实体的形状,特别是路径曲线和引导曲线。

OdDb3dSolid 类有一个用于创建放样实体的方法:

virtual OdResult createLoftedSolid (OdDbEntityPtrArray& crossSectionCurves,
    OdDbEntityPtrArray&  guideCurves, OdDbEntity* pPathCurve, OdDbLoftOptions& loftOptions );

createLoftedSolid 方法使用放样选项从输入轮廓创建放样实体。横截面、路径曲线和引导曲线可以是点、曲线、边或一组连接的边。参数如下:

  • crossSectionCurves — 用于创建放样实体的横截面轮廓的输入数组。
  • guideCurves — 影响实体形状的引导曲线的输入数组(可选)。
  • pPathCurve — 影响实体形状的输入曲线(可选)。
  • loftOptions — 输入放样选项。

如果三维实体创建成功,该方法返回 eOk,否则返回相应的错误代码。

以下是一个代码示例:

… 
OdDbLoftOptions loftOptions; // loft options
loftOptions.setNormal(OdDbLoftOptions::kNoNormal);
OdDb3dSolidPtr pSolid = OdDb3dSolid::createObject(); // resulting 3d solid
OdDbEntityPtr pPathCurve = pDb->getObject… // input object
OdDbEntityPtrArray crossSectionCurves = pDb->getObjects() // input objects
OdDbEntityPtrArray guideCurvesArray = pDb->getObjects() // input objects
OdResult res = pSolid->createLoftedSolid(crossSectionCurves, guideCurvesArray, NULL, loftOptions); // creates solid from only cross section curves, or from cross section curves with guide curves(if these curves are presented).
guideCurvesArray.clear(); 
res = pSolid->createLoftedSolid(crossSectionCurves, guideCurvesArray, pPathCurve, loftOptions); // creates solid from only cross section curves, or from cross section curves with path curve(if it is presented ).
…
 
示例

仅从横截面曲线创建的放样实体:

A lofted solid created from cross section curves only

 

由横截面曲线和路径曲线创建的放样实体:

A lofted solid created from cross section curves and a path curve

 

由横截面曲线和引导曲线创建的放样实体:

A lofted solid created from cross section curves and guide curves:

 

要尝试创建放样实体,请在 ExCustObjs 中使用 createloftedsolid 命令。您可以使用不同的参数集创建放样实体:

  • 仅横截面曲线
  • 横截面曲线和路径曲线
  • 横截面曲线和引导曲线

此功能仅在 SpaModeler(基于 Spatial 库)中可用。

今天就开始行动

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

免费试用