Upgrade project from rhino.net to rhinocommon


I need convert a project developed in rhino.net into a rhinocommon project.

I’m renaming the On3dPoint, On3dVector into Point3d, Vector3d.

But the project has references into RMA.OpenNurbs, for example OnXorm, ArrayOn3dPoint…

I’ve install Rhino3dmIO Toolkit from here

but I can’t find the compatible functions.


Hi Manolo

is Rhino3dmIO the right toolkit? As the name suggests, this is the toolkit to support 3dm file IO in third-party applications. RhinoCommon, on the other hand, is for plug-in creation. They use a shared codebase, but diverge in the amount of available functionality (all Rhino for plug-ins, file read/write for 3dmIO).

OnXForm is called simply Transform, but not all types have a mapping from Rhino.Net to RhinoCommon/Rhino3dmIO. For ArrayOnPoint3d, you can just use a more standard array of Point3d, (Point3d[] C#, Point3d() Vb.Net) or the specialized Point3dList class.

I hope this helps,


Giulio Piacentino
for Robert McNeel & Associates

1 Like

Ok Piac, thaks

And you know if the IOnCurve class is a curve class in rhinocommon and de function RhUtil.RhinoActivCPlane in rhinocommon?

Use Rhino.Geometry.Curve

Something like this will work.

protected override Result RunCommand(RhinoDoc doc, RunMode mode)
  Rhino.Display.RhinoView view = doc.Views.ActiveView;
  if (null != view)
    Rhino.DocObjects.ConstructionPlane cplane = view.ActiveViewport.GetConstructionPlane();

    // OR...

    Rhino.Geometry.Plane plane = view.ActiveViewport.ConstructionPlane();

    // TODO...
  return Result.Success;
1 Like