' By preselecting the brep, the results of
' Split will be selected. So, get the selected
' objects and return them to the caller.
DoBrepSplit = Rhino.SelectedObjects
' Unselect all objects
Rhino.UnSelectAllObjects
' If any objects were selected before calling
' this function, re-select them
If IsArray(saved) Then Rhino.SelectObjects(saved)
' Don't forget to turn redrawing back on
Rhino.EnableRedraw True
End Function
The function above can be test using the following simple subroutine:
Sub TestSplitBrep
' Declare local variables
Dim brep, cutter, pieces, i
' Pick the brep to split
brep = Rhino.GetObject("Select surface or polysurface to split", 8 + 16)
If IsNull(brep) Then Exit Sub
' Pick the cutting brep
cutter = Rhino.GetObject("Select cutting or polysurface to split", 8 + 16)
If IsNull(cutter) Then Exit Sub
' Call our special splitter
pieces = DoBrepSplit(brep, cutter)
If IsArray(pieces) Then
For i = 0 To UBound(pieces)
Rhino.Print pieces(i)
Next
End If