BHoM Rhinoceros conversion table - BHoM/Rhinoceros_Toolkit GitHub Wiki

BHoMType-indexed conversion table

When a BHoM geometry IGeometry is exposed into any Rhinoceros-based environment - such as Grasshopper - it tries to translate itself into a correspondent and valid Rhinoceros representation.

IsRhinoEquivalent defines a set of exceptions where, even if a suitable method is found, the object maintains its BHoM representation.

  • When the source is a BHoM type, the object is translated into its PreferredConversion type.

  • Viceversa, each of the Rhinoceros type in a row is converted in the unique correspondent BHoM value.

Depending on whether trimmed or not, BH.oM.Geometry.NurbsSurface is converted either to Rhino.Geometry.Brep or Rhino.Geometry.NurbsSurface.

Below is a breakdown of the relationship at the time of the writing :

BHoMType RhinoType PreferredConversion IsExposedAsBHoM
BH.oM.Geometry.Point Rhino.Geometry.Point3d
Rhino.Geometry.Point3f
Rhino.Geometry.Point
Rhino.Geometry.ControlPoint
Rhino.Geometry.Point3d True
BH.oM.Geometry.Vector Rhino.Geometry.Vector3d
Rhino.Geometry.Vector3f
Rhino.Geometry.Vector3d True
BH.oM.Geometry.Plane Rhino.Geometry.Plane Rhino.Geometry.Plane True
BH.oM.Geometry.CoordinateSystem Rhino.Geometry.Plane Rhino.Geometry.Plane True
BH.oM.Geometry.Quaternion Rhino.Geometry.Quaternion Rhino.Geometry.Quaternion False
BH.oM.Geometry.TransformMatrix Rhino.Geometry.Transform Rhino.Geometry.Transform True
BH.oM.Geometry.Arc Rhino.Geometry.Arc Rhino.Geometry.Arc True
BH.oM.Geometry.Circle Rhino.Geometry.Circle Rhino.Geometry.Circle True
BH.oM.Geometry.Ellipse Rhino.Geometry.Ellipse Rhino.Geometry.Ellipse True
BH.oM.Geometry.Line Rhino.Geometry.Line
Rhino.Geometry.LineCurve
Rhino.Geometry.Line True
BH.oM.Geometry.NurbsCurve Rhino.Geometry.NurbsCurve Rhino.Geometry.NurbsCurve True
BH.oM.Geometry.PolyCurve Rhino.Geometry.PolyCurve Rhino.Geometry.PolyCurve True
BH.oM.Geometry.Polyline Rhino.Geometry.PolylineCurve
Rhino.Geometry.Polyline
Rhino.Geometry.PolylineCurve True
BH.oM.Geometry.BoundingBox Rhino.Geometry.BoundingBox
Rhino.Geometry.Box
Rhino.Geometry.BoundingBox True
BH.oM.Geometry.NurbsSurface Rhino.Geometry.NurbsSurface
Rhino.Geometry.Brep
Rhino.Geometry.NurbsSurface
Rhino.Geometry.Brep
True
BH.oM.Geometry.PolySurface Rhino.Geometry.Brep Rhino.Geometry.Brep False
BH.oM.Geometry.Extrusion Rhino.Geometry.Extrusion Rhino.Geometry.Extrusion False
BH.oM.Geometry.Mesh Rhino.Geometry.Mesh Rhino.Geometry.Mesh True
BH.oM.Geometry.Face Rhino.Geometry.MeshFace Rhino.Geometry.MeshFace True
BH.oM.Geometry.CompositeGeometry List1[System.Object]
List[Rhino.Geometry.GeometryBase]
List[System.Object] False
BH.oM.Geometry.ICurve Rhino.Geometry.ArcCurve
Rhino.Geometry.NurbsCurve
Rhino.Geometry.Curve
Rhino.Geometry.PolyCurve
No Convert method found False
BH.oM.Geometry.ISurface Rhino.Geometry.Surface No Convert method found False
⚠️ **GitHub.com Fallback** ⚠️