The optional argument currently accepts only a Boolean value to constrain the points to the active CPlane (True) or not. Methinks this is too limited - instead of a binary yes/no answer, why can’t this input be a plane - any plane - and not just an option to use the active CPlane or not. It would add a lot to the flexibility of the method.
I think the code could be modified to accommodate this without breaking existing scripts…
Current excerpt:
if in_plane:
gp.ConstrainToConstructionPlane(True)
plane = scriptcontext.doc.Views.ActiveView.ActiveViewport.ConstructionPlane()
gp.Constrain(plane, False)
Maybe could be:
if in_plane:
if isinstance(in_plane,Rhino.Geometry.Plane):
gp.ConstrainToConstructionPlane(False)
plane=in_plane
else:
gp.ConstrainToConstructionPlane(True)
plane = scriptcontext.doc.Views.ActiveView.ActiveViewport.ConstructionPlane()
gp.Constrain(plane, False)
Or something like that…