[ブログに戻る](/ja/blog) # エンティティをサーフェスに変換

Yurii Pylnyk 4月 23, 2020 [\#getting started](/ja/blog/tag/getting-started) [\#Example](/ja/blog/tag/example)

<a class="a2a_button_facebook"></a><a class="a2a_button_twitter"></a><a class="a2a_button_linkedin"></a>

サーフェスは、無限に薄いシェルである3Dオブジェクトです。ODAソフトウェアには、いくつかの種類のサーフェスがあります。クラスの依存関係を以下に示します。

![OdDbSurface](/files/inline-images/scheme%20OdDbSurface.png)#### エンティティをサーフェスに変換する

以下のメソッドは、エンティティをサーフェスに変換します。

```
static OdResult createFrom ( const OdDbEntity* pFromEntity, OdDbSurfacePtr& pNewSurface );
```

このメソッドは、厚みを持つ2Dエンティティから押し出しサーフェス (OdDbExtrudedSurface) を作成するか、閉じた曲線または領域から平面サーフェス (OdDbPlanarSurface) を作成します。OdDb3dSolid の場合は、単にサーフェス (OdDbSurface) が作成されます。一般に、このメソッドは異なるエンティティからSpatial® ACIS® データをコピーし、そのデータをOdDbSurfaceに挿入します。パラメータは次のとおりです。

- pFromEntity — 入力エンティティ。OdDbCircle、OdDbEllipse、OdDb3dPolyline、OdDb2dPolyline、OdDbPolyline、OdDbSpline、OdDb3dSolid、OdDbSolid、またはOdDbRegion のいずれかです。
- pNewSurface — 結果のサーフェス。

サーフェスが正常に作成された場合はeOkを返し、それ以外の場合は適切なエラーコードを返します。

このメソッドは、SpaModeler および ModelerGeometry 用に実装されています。

2DエンティティからOdDbExtrudedSurfaceを作成できる厚みパラメータもあります。

コード例:

```
…
OdDbSurfacePtr pSurface; // resulting surface
OdDbEntityPtr pEntity = pDb->getObject… // input object
OdResult res = OdDbSurface::createFrom(pEntity, pSurface);
…
```

#### 3Dソリッド変換の例

サーフェスに変換する前の3Dソリッドを次に示します。

![3D solid before conversion to a surface](/files/inline-images/3D%20solid.png)サーフェスに変換された3Dソリッドを次に示します。

![3D solid converted to a surface](/files/inline-images/3D%20solid%20converted%20to%20a%20surface.png)#### 閉じたポリライン変換の例

厚さ2.0の閉じたポリラインを、押し出しサーフェスに変換する前と後の状態を次に示します。

![a closed polyline with thickness 2.0 before and after conversion to an extruded surface](/files/inline-images/closed%20polyline%20and%20extruded%20surface.png)#### 閉じた領域変換の例

閉じた領域を、平面サーフェスに変換する前と後の状態を次に示します。

![Example of a Closed Region Conversion](/files/inline-images/Example%20of%20a%20Closed%20Region%20Conversion.png)#### サンプルコマンドを使用した変換を試す

ExCommandsには、createSurfaceというサンプルコマンドがあります。このサンプルコマンドを使用すると、さまざまな種類のエンティティをサーフェスに変換できます。1つまたは複数のエンティティを選択すると、コマンドは変換のためにOdDbSurface::createFrom(…)メソッドを呼び出します。

以下は、OdDb3dSolid (雪だるま) をサーフェスに変換する様子を示す画像です。

![conversion of an OdDb3dSolid (the snowman) to a surface](/files/inline-images/createFrom.gif)

## 今すぐ始める

**ODAソフトウェアを60日間無料でお試しください。  
リスクなし、クレジットカード不要。**

[無料で試す](https://www.opendesign.com/ja/free-trial)
