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

ホーム / モデリング / CGaudiBody / 関数 / Reflect

Reflect

定義

Reflect(P As CGaudiPoint, vec As CGaudiVector) As Boolean

戻り値

True   成功
False   失敗

引数

P   鏡面上の点
vec   鏡面の法線ベクトル

解説

引数で指定された鏡面(面上の点(P)と法線ベクトル(vec))でCGaudiBodyが映される位置に移動します。

実行例

Dim Femtet As New CFemtet
Dim Gaudi As CGaudi
Dim Point0 As New CGaudiPoint
Dim Point1 As New CGaudiPoint
Dim Pnt As New CGaudiPoint
Dim Vec As New CGaudiVector
Dim Body0 As CGaudiBody
Dim Body1(0) As CGaudiBody
Dim newBody() As CGaudiBody

'新規プロジェクト作成
If Femtet.OpenNewProject() = False Then
    Femtet.ShowLastError
End If

'Femtet.Gaudiを変数Gaudiに代入して使いやすくする
Set Gaudi = Femtet.Gaudi



'直方体の作成
Point0.SetCoord 0, 0, 0
Set Body0 = Gaudi.CreateBox(Point0, 5, 5, 10)

'円柱の作成
Point1.SetCoord 5#, 2.5, 0
Set Body1(0) = Gaudi.CreateCylinder(Point1, 2.5, 10)

'ブーリアン差
Body0.Subtract Body1, newBody, True

'回転
Pnt.SetCoord 5, 0, 0
Vec.SetCoord 1, 0, 0
If newBody(0).Reflect(Pnt, Vec) = False Then
    Femtet.ShowLastError
End If
MACRO00000036.gif   MACRO00000037.gif