[返回博客](/cn/blog) # BimRv SDK：使用网格元素

Artur Vakhramov 十一月 19, 2021 [\#rfa](/cn/blog/tag/rfa) [\#rvt](/cn/blog/tag/rvt) [\#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>

在 BimRv SDK 中，您可以创建和编辑网格元素。网格元素有两种类型：直线型和弧线型。这两种网格类型都只能在水平面上创建，并且弧线型网格不能闭合。此外，网格创建仅支持模型文件类型（RVT 文件）。

下图显示了直线型网格和弧线型网格之间的区别。

![BimRv grid example 1](/files/inline-images/bimrv_grid_1.png)网格在 OdBmGrid 类中实现。要创建直线型网格，请使用 setLine() 方法：

```
OdResult setLine(const OdBmGLinePtr& pLine);
```

要创建弧线型网格，请使用 setArc() 方法：

```
OdResult setArc(const OdBmGArcPtr& pArc);
```

#### 示例

要创建网格，请创建一个新的网格元素并调用相应的方法来创建弧线型或直线型网格。以下是直线型网格创建的示例：

```
OdGePoint3d ptStart = OdGePoint3d::kOrigin;
OdGePoint3d ptEnd = OdGePoint3d(-100.0, 0.0, 0.0);
ODBM_TRANSACTION_BEGIN(t, pDb)
  t.start();
  OdBmGridPtr pGrid = OdBmGrid::createObject();
  OdBmObjectId gridId = pDb->addElement(pGrid);
  OdBmGLinePtr pGLine = OdBmGLine::createObject();
  pGLine->set(ptStart, ptEnd);
  OdResult res = pGrid->setLine(pGLine);
  t.commit();
ODBM_TRANSACTION_END();
```

以下是弧线型网格创建的示例：

```
OdGeVector3d vecX = OdGeVector3d::kXAxis;
OdGeVector3d vecZ = OdGeVector3d::kZAxis;
double fRadius = 50.0;
OdGePoint3d ptCenter = OdGePoint3d(10.0, 20.0, 0.0);
ODBM_TRANSACTION_BEGIN(t, pDb)
  t.start();
  OdBmGridPtr pGrid = OdBmGrid::createObject();
  OdBmObjectId gridId = pDb->addElement(pGrid);
  OdGeCircArc3d arc;
  arc.set(ptCenter, vecZ, vecX, fRadius, 0.0, OdaPI);
  OdBmGArcPtr pGArc = OdBmGArc::createObject();
  pGArc->set(arc);
  OdResult res = pGrid->setArc(pGArc);
  t.commit();
ODBM_TRANSACTION_END();
```

#### 命令

您可以使用特殊命令在 OdaBimApp 中创建和编辑网格：GridLineCreateCmd、GridArcCreateCmd、GridLineEditCmd、GridArcEditCmd。

![BimRv ODA Create Grids](/files/inline-images/bimrv_grid_2.png)![ODA BimRv Edit Grids](/files/inline-images/bimrv_grid_3.png)

## 今天就开始行动

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

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