KeepSolidSplitByVolumeInPart
From scripting
Sub KeepSolidSplitByVolumeInPart(SplitSolid As Split, ForSmaller0ForBigger1 As Integer, CurPart As Part) Dim Ori Ori = SplitSolid.SplittingSide Dim OppOri OppOri = Not SplitSolid.SplittingSide If IsUpdatableInPart(SplitSolid, CurPart) Then Dim Pt1Meas Set Pt1Meas = theSPAWorkbench.GetMeasurable(CurPart.CreateReferenceFromObject(SplitSolid)) If HasVolume(SplitSolid, CurPart) Then Dim AVol As Double AVol = Pt1Meas.Volume Else SplitSolid.SplittingSide = OppOri IsUpdatableInPart SplitSolid, CurPart Exit Sub End If SplitSolid.SplittingSide = OppOri If IsUpdatableInPart(SplitSolid, CurPart) = False Then SplitSolid.SplittingSide = Ori Exit Sub End If Dim Pt2Meas Set Pt2Meas = theSPAWorkbench.GetMeasurable(CurPart.CreateReferenceFromObject(SplitSolid)) If HasVolume(SplitSolid, CurPart) Then Dim BVol As Double BVol = Pt2Meas.Volume Else SplitSolid.SplittingSide = Ori IsUpdatableInPart SplitSolid, CurPart Exit Sub End If If ForSmaller0ForBigger1 = 0 Then If AVol < BVol Then SplitSolid.SplittingSide = Ori End If Else If AVol > BVol Then SplitSolid.SplittingSide = Ori End If End If End If End Sub