ホーム / モデリング / CGaudi / 関数 / Loft
Loft関数
定義
Loft (ProfileList() As CGaudiBody) As CGaudiBody
[Python]
HRESULT Loft_py(CGaudiBody[] ProfileList)
戻り値
成功した場合は新規に作成されたBodyが返ります。失敗した場合は、Nothingが返ります。
[Python]
成功した場合は新規に作成されたCGaudiBodyが返ります。
失敗した場合は、Noneが返ります。
引数
| ProfileList | ロフト形状の断面となるBody(点ボディ、ワイヤボディ、シートボディのいずれか)の配列 |
[Python]
| ProfileList | ロフト形状の断面となるCGaudiBody(点ボディ、ワイヤボディ、シートボディのいずれか)の配列 |
解説
指定されたボディを断面として新しくロフト形状(シートボディまたはソリッドボディ)を作成します。指定されたボディは削除されますので注意してください。
配列に登録されている順に断面としてロフト形状が作成されるので、登録順が変わると結果のロフト形状も変化します。
配列の先頭、終端のボディは点ボディ、ワイヤボディ、シートボディのいずれかである必要があります。
配列の中間のボディは、閉じたワイヤボディ、シートボディのいずれかである必要があります。
点ボディ、円、楕円、閉じた自由曲線を除き、全てのボディの頂点数が一致しなければ、ロフト形状を作成できません。
ワイヤボディは全ての辺が同一平面上に属している必要があります。
シートボディは構成する面トポロジが1つのみで、かつ、平面である必要があります。
実行例
'------- Body配列変数の定義 -------
Dim Femtet As New CFemtet
Dim Gaudi As CGaudi
Dim Body() As CGaudiBody
'------- 新規プロジェクト作成 -------
If Femtet.OpenNewProject() = False Then
End If
'------- Femtet.Gaudiを変数Gaudiに代入して使いやすくする -------
Set Gaudi = Femtet.Gaudi
'------- CreateCircleFace -------
ReDim Preserve Body(0)
Dim Point0 As New CGaudiPoint
Point0.SetCoord 0.5, -1#, 0#
Set Body(0) = Gaudi.CreateCircleFace(Point0, 5.22015325445528)
'------- CreateCircleFace -------
ReDim Preserve Body(1)
Dim Point1 As New CGaudiPoint
Point1.SetCoord 0.5, -1.5, 0#
Set Body(1) = Gaudi.CreateCircleFace(Point1, 2.54950975679639)
'------- CreatePolygonFace -------
ReDim Preserve Body(2)
Dim Point2 As New CGaudiPoint
Point2.SetCoord 0.5, -0.5, 0#
Set Body(2) = Gaudi.CreatePolygonFace(Point2, 3#, Fix(8))
'------- Move -------
Dim Vector0 As New CGaudiVector
Vector0.SetCoord 0, 0, 10
Body(2).Move Vector0
'------- Move -------
Dim Vector1 As New CGaudiVector
Vector1.SetCoord 0, 0, 20
Body(1).Move Vector1
'------- ロフト実行 -------
ReDim Preserve Body(3)
Dim BodyArray0(2) As CGaudiBody
Set BodyArray0(0) = Body(0)
Set BodyArray0(1) = Body(2)
Set BodyArray0(2) = Body(1)
Set Body(3) = Gaudi.Loft(BodyArray0)
'------- モデルを再描画します -------
Femtet.Redraw


