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

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

DivideSolidBody関数

定義

DivideSolidBody(pnt As CGaudiPoint, Distance As Double, newBody( ) As CGaudiBody) As Boolean
 


[Python]
 DivideSolidBody_py(CGaudiPoint pnt, double Distance)

戻り値

True   成功
False   失敗
 


[Python]
[0]   True:成功、False:失敗
[1][0~作成されたボディ数-1]   切断によって作成されたCGaudiBody(配列)

引数

pnt            第1指定点
Distance   第1指定点からの距離
newBody   切断によって作成されたCGaudiBody(配列)
 


[Python]
pnt            第1指定点(CGaudiPoint)
Distance   第1指定点からの距離

解説

対象のSolidBodyを、第1指定点から距離Distance分の幅を持たせて分断します。
分断対象としてSolidBody以外を指定した場合、切断面が交差する場合、各指定点が異なるEdge上に存在する場合(ただし、第1指定点の存在するEdgeの延長上に第2指定点が存在する場合はOK)は、エラーとしてFalseが返ります。

実行例

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

'------- CreateBox -------
ReDim Preserve Body(0) As CGaudiBody
Dim Point0 As New CGaudiPoint
Point0.SetCoord -5#, 0#, 0#
Set Body(0) = Gaudi.CreateBox(Point0, 15#, 5#, 5#)

'------- DivideSolidBody -------
ReDim Preserve Body(1) As CGaudiBody
Dim Point1 As New CGaudiPoint
Dim BodyArray0() As CGaudiBody
Point1.SetCoord 0#, 0#, 0#
Body(0).DivideSolidBody Point1, 5#, BodyArray0
Set Body(1) = BodyArray0(0)

Gaudi.Redraw
これで対象SolidBodyが分断されました


MACRO00000070.gif

MACRO00000071.gif