サーフェスの作成

CUBITでSurfaceを作成する主な方法は2つあります。1つ目は、境界Curve群に解析SurfaceまたはSpline Surfaceをフィットする方法です。この場合、Curveは閉ループを形成する必要があり、指定できるCurveループは1つだけです。2つ目は、Curveを軸の周り、ベクトルに沿って、または別のCurveに沿ってSweepする方法です。これらのSurface作成コマンドの結果は「Sheet Body」、すなわち測定可能なVolumeを持たないBodyになります(ただしVolume Entity自体は存在します)。このBodyはBooleanや専用Webcutコマンドで分解でき、他のBodyを分解するToolとしても使用できます。またBooleanでSurfaceに穴を開けることもできます。

CUBITでSurfaceを作成する場合、次のオプションを使用できます。

1. Bounding Curves(境界Curve): このコマンドの1つ目の形式では、境界Curveを覆うように解析SurfaceまたはSpline Surfaceをフィットして作成します。

Create Surface Curve <curve_id_1> <curve_id_2> <curve_id_3>...

このコマンドの別形式では、同一Surface上にある境界Curve群からSurfaceを作成します。Curveを選択する場合、それらは同じSurface上にあり、閉ループを形成する必要があります。 On Surface オプションを指定すると、作成するSurfaceを基盤Surfaceのジオメトリに正確に一致させます。

Create Surface Curve <id_list> On Surface <surface_id>

2. Bounding Vertices or Nodes(境界VertexまたはNode): このコマンドの2つ目の形式では、Vertexを使って解析Spline Surfaceをフィットします。 On Surface オプションを指定すると、同一Surface上にあるNodeとVertex群からSurfaceを作成し、そのSurfaceを基盤Surfaceのジオメトリに一致するよう拘束します。projectオプションを指定すると、NodeまたはVertexを指定Surfaceへ投影します。

Create Surface [Node|Vertex| <id_list> [On Surface <surface_id> {Project} ]

3. Copy(コピー): 次の形式では、指定Surfaceと同じジオメトリ定義を使ってSurfaceを作成します。新しいSurfaceは、指定したSurfaceと幾何学的に同一の独立したSheet Bodyになります。

Create Surface From Surface <surface_id>

4. Extended Surface(延長Surface): 4つ目の形式では、指定SurfaceまたはSurfaceリストを延長したSurfaceを作成します。指定Surfaceのジオメトリを調べ、現在のCUBITモデルに対して「無限」に延長します(実際にはモデル全体のBounding Boxをわずかに超える位置まで延長します)。各Surfaceは表に示すように延長されます。

Create Surface Extended From Surface <surface_id>

表1. Surface延長結果

Surface Type

延長後のSurface

Spherical(球面)

完全な球のShell

Planar(平面)

モデルに対して実質的に無限サイズの平面

Toroidal(トーラス面)

完全なTorusのShell

Conical / Cone / Cylinder...

指定した円錐形状と同軸で、モデルに対して実質的に無限高さを持つ外側円錐面のShell

Spline(スプライン)

SurfaceはSpline定義の範囲まで延長されます。ただし、Surface自体より外側まで延長されない場合があるため注意してください。

複数のSurfaceを同時にオフセットしてSheet Bodyを作成するには、 Create Sheet Extended from Surface コマンドを使用します。

5. Planar Surface(平面Surface): 次のコマンドは 平面 Surfaceを作成します。1つ目は3つのVertexを通る平面、2つ目は既存Plane、3つ目はグローバル軸の1つに垂直な平面、4つ目はCurve上の指定Locationにおける接線に垂直な平面を作成します。既定では、モデル全体のBounding Boxと交差できる最小面積のSurfaceを作成します。必要に応じて、この計算で交差対象とするBodyのリストを指定できます。また、最小面積サイズに対する割合または絶対距離でSurfaceサイズを延長できます。Planeは次のコマンドでPreviewできます。 Draw Plane [with]... (コマンドの残りはSurface作成時と同じです)。

Create Planar Surface [With] Plane Vertex <v1_id> [Vertex] <v2_id> [Vertex] <v3_id> [Intersecting] Body <id_range>] [Extended Percentage|Absolute <val>]

Create Planar Surface [With] Plane Surface <surface_id> [Intersecting] Body <id_range>] [Extended Percentage|Absolute <val>]

Create Planar Surface [With] Plane {Xplane|Yplane|Zplane} [Offset <val>] [Intersecting] Body <id_range>] [Extended Percentage|Absolute <val>]

Create Planar Surface [With] Plane Normal To Curve <curve_id>{Fraction <f>| Distance <d> | Position <xval><yval><zval> | Close_to vertex <vertex_id>} [[From] Vertex <vertex_id> (optional for 'fraction' & 'distance')] [Intersecting] Body <id_range>] [Extended Percentage|Absolute <val>]

6. Net Surface: Net Surface Net Surfaceは2種類のコマンドで作成できます。Net Surfaceはu方向のCurve群とv方向のCurve群を通過します(これらのu/v CurveはMapped Meshのように配置されます)。1つ目の形式ではCurveを使ってNet Surfaceを作成します。Curve同士は許容差内で交差する必要があります。2つ目の形式ではMapped MeshからSurfaceを作成します。Mapped Meshは単一Surface、または複数の mapped または submapped Surfaceで構成できます。これらは論理的な長方形を形成する必要があります。既定ではNet Surfaceにhealを適用し、可能な内部単純化を利用します。

Create Surface Net U Curve <id_list> V Curve <id_list> [Tolerance <value>] [HEAL|Noheal]

Create Surface Net [From] [Mapped] Surface <id_list> [Tolerance <value>] [HEAL|Noheal]

推奨されるジオメトリクリーンアップ方法の1つは、仮想 Composite Surface を使って複雑なSurface群をMapped Mesh化し、そのMeshからNet Surfaceを作成します。その後、元のSurfaceは noextend オプションで削除し、新しいNet SurfaceをBodyへ再結合できます。

7. Offset(オフセット): 次のコマンドは既存Surfaceから指定距離だけ オフセット したSurfaceを作成します。

Create Surface Offset [From] Surface <id_list> Distance <val>

Surface Offsetコマンドは、既存Surfaceを延長またはトリムせず、平行移動だけを行います。一方、 Sheet Body 用の別形式では、オフセット時にSurfaceを延長またはトリムしてSurface間の接続を維持します(図1)。左側はSurface Offsetコマンドでオフセットした結果、右側は「sheet」形式で作成した結果です。

図1. Surfaceをオフセットして個別SurfaceまたはSheet Bodyを作成

8. Skinning: 次のコマンドは、Curveリストから Skin Surfaceを作成します。Skin Surfaceの例として、平行な直線Curve群を通るSurfaceを作成できます。

Create Surface Skin Curve <id_list> [pair tolerance <val>

pair tolerance オプションを指定すると、Skin対象Curve上のVertexを指定許容差内でペアリングします。あるVertexのペアが見つからない場合、新しいVertexを挿入してCurveを分割し、ペアを作成します。このオプションは、新しいSurfaceの側方Curveの生成を制御し、そのSurface上に作成するMeshのskewを抑えるのに有効です。

9. CurveのSweep: 1本または複数のCurveをパスに沿ってSweepして、新しいSurfaceを作成できます。パスは、軸と角度、ベクトルと距離、別のCurveまたは連続Curve群、あるいはターゲット平面で指定できます。利用可能なオプションを次のコマンドに示します。

Sweep Curve <curve_id_range> { Axis <xpoint ypoint zpoint xvector yvector zvector> | Xaxis | Yaxis | Zaxis } Angle <degrees> [Steps <Number_of_sweep_steps>] [Draft_angle <degrees>] [Draft_type <integer>] [Make_solid] [Include_mesh] [Keep][Rigid]

Sweep Curve <curve_id_range> Vector <xvector yvector zvector> [Distance <distance>] [Draft_angle <degrees>] [Draft_type <integer>] [Include_mesh] [Keep] [Rigid]

Sweep Curve <curve_id_range> Along Curve <refcurve_id_range> [Draft_angle <degrees>] [Draft_type <integer>] [Include_mesh] [Keep] [Rigid]

Sweep Curve <curve_id_range> Target Plane <options>

Sweep Curve <curve_id_range> Target {Volume|Body} <id> Direction {options} [Plane <options>] [Unite]

1つ目のコマンドでは、stepsオプションを使ってSweepをファセット化できます。滑らかな円形Sweepではなく、Surfaceが複数のファセットで構成されます。 make_solid オプションを指定すると、新しく作成したSurfaceを軸まで閉じ、SurfaceではなくSolidを作成します。

上記コマンドでは、Curveがすでにメッシュ化されている場合、include_meshオプションでSurface Meshも作成します(下図参照)。keepオプションを指定すると、Surfaceを作成しながら元のCurveも保持します。

sweep curve target plane コマンドは、Curveがターゲット平面に到達するまでSweepします。ターゲット平面のオプションについては 平面の指定.

最後のコマンドはCurveをターゲットVolumeまたはBodyまでSweepし、Sheet Bodyにのみ使用できます。Sweep方向の指定には direction キーワードでSweep方向を指定し、planeキーワードで停止平面を指定します。 unite キーワードを指定すると、Sweep後にSheet Bodyをuniteします。

その他のオプションは次のとおりです。

draft_angle: Surfaceに付けるドラフト量を指定します

draft_type:



0 => extended(各セグメント端から2本の直線接線を延ばし、交差するまで伸長します)



1 => rounded (create rounded corner between segments)



2 => natural(形状を各Curveの自然な延長に沿って伸ばします)***

rigid: 通常、CurveはSweepパスに対する元の向きを保つよう回転します。rigidオプションを指定すると、この回転を禁止します。

10. Midsurface(中立面): Surfaceペアの中間位置にMultisurfaceを作成するには、次のコマンドを使用します。

Create Midsurface {Body|Volume} <id> Surface <id11> <id12> ... <idN1> <idN2>

ここでNはSurfaceペア数を表します。Surfaceは偶数個指定する必要があり、指定順に2枚ずつグループ化されます。生成Surfaceは指定したBodyまたはVolume <id>でトリムされます。これは以前のCUBITにあった Create Midplane コマンドに代わるものです。

図2. Create Midsurfaceコマンドで作成したMultisurface

図3. 2組の円筒Surfaceから作成したMidsurface

結果がT字交差を含まない単一のSurface Sheetになる場合は、Surfaceペアを指定せずにMidsurfaceを抽出することもできます。自動Midsurface抽出のコマンド構文は次のとおりです。

Create Midsurface {Body|Volume} <id_range> Auto [Delete] [Transparent] [Thickness] [Limit <lower_bound> <upper_bound>] [Preview]

図4に簡単なAuto Midsurfaceの例を示します。この例のコマンドは次のとおりです。

create midsurface volume 1 auto delete

図4. Volumeから作成したMidsurface

コマンドオプションの説明を以下に示します。

Auto AutoはMidsurface自動抽出アルゴリズムを有効にします。Autoをoffにする場合、Midsurfaceを作成するSurfaceペアを1組指定する必要があります。

透過表示 Midsurface作成に成功したVolumeをGraphics Windowで半透明表示します。

Thickness 作成されたMidsurfaceジオメトリに2Dプロパティを適用します。

Limit search rangeは、アルゴリズムがSurfaceペアを探索する範囲を指定します。

11. Weld Profile(溶接プロファイル): Weld Profileを指定してSurfaceを作成するには、次のコマンドを使用します。

Create Surface Weld [Root] Location {options} Weld Surface <id_list> Length <val> [<val2>]

Weld Surfaceを使うと、 スイープ によりSurfaceをroot Curveに沿って移動し、 unite により新しいBodyをモデルへ結合することで、溶接継手を模擬できます。コマンド例を以下に示します。Location指定子の詳細は Location、Direction、Axisの指定

create surface weld root location vertex 25 weld surface 13 14 length 2

図5. lengthとrootを指定したWeld Profile Surface

12. Mesh EntityからSurfaceを作成: メッシュ化されたVolumeやSurfaceの境界、および個々の四角形Mesh ElementからSurfaceを作成できます。individualオプションを指定すると、複数Surfaceを一度に入力しても大きな1枚のSurfaceへMergeせず、各Surfaceの元の境界を保持します。任意のtolerance値で、生成Surfaceのフィット許容差を指定できます。既定値は0.001です。Surface作成に失敗する場合は、toleranceを大きくすると改善することがあります。

Create Acis [From] {Surface <id_range> | Volume <id_range> | Face < id_range> [Individual]} [Tolerance <value>]



図6. 四角形要素群から作成したACIS Surface

13. 円形Surfaceの作成: このコマンドは2Dの円形Surfaceを作成します。planeオプションを指定しない場合、Surfaceは原点を中心としてz平面上に作成されます。



create surface circle radius <value> {xplane|yplane|ZPLANE}

このコマンドは3つのVertexを指定して2D円形Surfaceを作成します。1つ目のVertexがSurface中心、2つ目が半径の定義、3つ目がSurfaceを配置する平面の定義に使用されます。



create surface circle center vertex <v1_id> <v2_id> <v3_id>

このコマンドは、3点を通る円Curveを形成して2D円形Surfaceを作成します。



create surface circle vertex <v1_id> <v2_id> <v3_id>

14. 平行四辺形の作成: このコマンドは、3つのCorner Vertexを指定して原点中心の2D平行四辺形Surfaceを作成します。これらのVertexが平行四辺形の連続する3つのCornerになります。



create surface parallelogram vertex <v1_id> v2_<id> <v3_id>

15. Ellipse(楕円)の作成: このコマンドは、少なくとも長半径を指定して原点中心の2D楕円Surfaceを作成します。x-y平面では、この半径がx方向の半径になります。短半径はy方向の半径です。既定ではSurfaceはz平面上に作成されます。

Create Surface Ellipse major radius <value> [minor radius <value>] [xplane|yplane|ZPLANE]

このコマンドは3つのVertexを使って2D楕円Surfaceを作成します。最初の2つのVertexが楕円Surfaceの長半径と短半径を定義し、3つ目の点が楕円中心を定義します。v1_idからv3_idへの線とv2_idからv3_idへの線は直交している必要があり、直交していない場合はコマンドが失敗します。

Create Surface Ellipse vertex <v1_id> <v2_id> <v3_id>

16. Rectangle(長方形)の作成: このコマンドは原点中心の長方形Surfaceを作成します。widthだけを指定した場合は正方形になります。x-y平面ではwidthがx方向、heightがy方向です。既定ではSurfaceはz平面上に作成されます。

Create Surface rectangle width <value> [height <value>] [xplane|yplane|ZPLANE]