[返回博客](/cn/blog) # 创建放样三维实体

Yurii Pylnyk 七月 16, 2020 [\#modeler](/cn/blog/tag/modeler) [\#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>

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

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

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](/files/inline-images/A%20lofted%20solid%20created%20from%20cross%20section%20curves%20only.png)由横截面曲线和路径曲线创建的放样实体：

![A lofted solid created from cross section curves and a path curve](/files/inline-images/A%20lofted%20solid%20created%20from%20cross%20section%20curves%20and%20a%20path%20curve.png)由横截面曲线和引导曲线创建的放样实体：

![A lofted solid created from cross section curves and guide curves:](/files/inline-images/A%20lofted%20solid%20created%20from%20cross%20section%20curves%20and%20guide%20curves.png)要尝试创建放样实体，请在 ExCustObjs 中使用 createloftedsolid 命令。您可以使用不同的参数集创建放样实体：

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

此功能仅在 SpaModeler（基于 Spatial 库）中可用。

## 今天就开始行动

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

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