ホーム / モデリング / CGaudi / 関数 / CreateHelicalPrism
CreateHelicalPrism2関数
定義
CreateHelicalPrism2(P1As CGaudiPoint, dRadius As Double, nSides As Long, bSideToPlane As Boolenan, P2 As CGaudiPoint, dHelical As Double, dSpiral As Double, dTurn As Double, bRightHanded As Boolenan) As CGaudiBody戻り値
| 成功した場合は新規に作成されたBodyが返ります。 |
| 失敗した場合は、Nothingが返ります。 |
引数
| P1 | らせんの中心軸上の点 | |
| dRadius | 断面の正多角形の半径 | |
| nSides | 断面の正多角形の角数 | |
| bSideToPlane | 側面を平面化するかどうか(True = 平面化する) | |
| P2 | らせんの始点 | |
| dHelical | 高さ方向のピッチ(らせんを一巻きした後の高さ方向の差) | |
| dSpiral | 幅方向のピッチ(らせんを一巻きした後の幅方向の差) | |
| dTurn | らせんの巻数 | |
| bRightHanded | 右回りかどうか(True = 右回り) |
解説
指定された引数より多角柱らせんを作成します。両方のピッチが0であったり、巻数が0であったり、断面の半径が小さすぎたり、角数が3より小さかったり、らせんが途中でねじれてしまう場合はエラーとなり、Nothingが返ります。
※メッシュの生成に失敗する場合、bSideToPlaneの値をTrueに変更して側面を平面化する事で、メッシュの生成に成功する場合があります。
ただし、側面を平面化する事で多角柱らせんの面トポロジIDが変化する為、
以降の多角柱らせんの面トポロジに対する境界条件等の付与、加工コマンドが失敗する可能性があります。
実行例
Dim Femtet As New CFemtetDim Gaudi As CGaudi
'新規プロジェクト作成
If Femtet.OpenNewProject() = False Then
Femtet.ShowLastError
End If
Dim Body() As CGaudiBody
Gaudi.RedrawMode = False
'------- CreateHelicalPrism2 -------
ReDim Preserve Body(0) As CGaudiBody
Dim Point0 As New CGaudiPoint
Dim Point1 As New CGaudiPoint
Point0.SetCoord 5#, 0#, 0#
Point1.SetCoord 0#, 0#, 0#
Set Body(0) = Gaudi.CreateHelicalPrism2(Point0, 1, 5, False, Point1, 4, 0, 5#, True)
'------- モデルを再描画します -------
Gaudi.Redraw


