How do I get the optional outputs in an overloaded function again?

If you wanted to use the C# style call, you need to pass in a clr.Reference[T] object in place of the out / ref parameter to hold the value. You can access that value through the Value property.

import Rhino.Geometry as rg
import System
import clr
closestPoint = clr.StrongBox[rg.Point3d]()
ci = clr.StrongBox[rg.ComponentIndex]()
s = clr.StrongBox[System.Double]()
t = clr.StrongBox[System.Double]()
normal = clr.StrongBox[rg.Vector3d]()
brep.ClosestPoint(point, closestPoint, ci, s, t, 5.0, normal)

a = closestPoint.Value
b = ci.Value
c = s.Value
d = t.Value
e = normal.Value

StrongBox.gh (3.3 KB)

Another method:

1 Like