Upgrade project from rhino.net to rhinocommon


#1

Hi,

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.

Thanks


(Giulio Piacentino) #2

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

Giulio Piacentino
for Robert McNeel & Associates
giulio@mcneel.com


#3

Ok Piac, thaks

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


(Dale Fugier) #4

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;
}

#5

Thanks