BHoM Rhinoceros conversion table - BHoM/Rhinoceros_Toolkit GitHub Wiki
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 |