Femtet2026.0マクロヘルプ/マニュアル
 

ホーム / モデリング / 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 CFemtet
Dim 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