Oke I removed the whole post. Got a simpler question now:

I got 2 codes.

1 works, the other don’t. why?

The working one:

```
Protected Overrides Function RunCommand(ByVal doc As RhinoDoc, ByVal mode As RunMode) As Result
Dim Int1 As New Interval(0, 10)
Dim Srf1 As New Geometry.PlaneSurface(New Geometry.Plane(New Point3d(0, 0, 0), New Vector3d(1, 0, 0)), Int1, Int1)
Dim Srf2 As New Geometry.PlaneSurface(New Geometry.Plane(New Point3d(0, 0, 0), New Vector3d(0, 1, 0)), Int1, Int1)
Dim SrfToBrep As Geometry.Brep = Srf1.ToBrep
Dim SrfToBrep2 As Geometry.Brep = Srf2.ToBrep
Dim newSrf() As Geometry.Surface = Geometry.Surface.CreateRollingBallFillet(SrfToBrep.Surfaces(0), SrfToBrep2.Surfaces(0), 1, 0.01)
MsgBox(newSrf.Length)
For Each srf In newSrf
doc.Objects.AddSurface(srf)
Next
doc.Views.Redraw()
Return Result.Success
End Function
```

The failing one:

```
Protected Overrides Function RunCommand(ByVal doc As RhinoDoc, ByVal mode As RunMode) As Result
Dim BBPT2 As Rhino.DocObjects.ObjRef() = Nothing
Dim BBPT_Result2 As Rhino.Commands.Result = Rhino.Input.RhinoGet.GetMultipleObjects("Select 2 surfaces", False, DocObjects.ObjectType.Brep, BBPT2)
If BBPT_Result2 <> Rhino.Commands.Result.Success Then
Return Result.Cancel
End If
Dim SrfToBrep As Geometry.Brep = BBPT2(0).Brep
Dim SrfToBrep2 As Geometry.Brep = BBPT2(1).Brep
Dim newSrf() As Geometry.Surface = Geometry.Surface.CreateRollingBallFillet(SrfToBrep.Surfaces(0), SrfToBrep2.Surfaces(0), 1, 0.01)
For Each srf In newSrf
doc.Objects.AddSurface(srf)
Next
doc.Views.Redraw()
Return Result.Success
End Function
```

What I do for the 2nd code is create a box. Explode it. and pick 2 connecting surfaces… nothing happens…