algorithmic modeling for Rhino

existence of rhinocommon counterparts for GH components for porting purposes

Dear reader,

We are at the verge of "porting" partial grasshopper definitions and clusters to actual code build against the rhinocommon API. We are trying to assess the risks to some degree. The main question is whether we have used GH components that don't have a rhinocommon counterpart. If so, can those components be easily written with the rhinocommon API or do we require extra effort?

Is there a table containing GH component <=> rhinocommon methods/properties?

We have recursively scanned our definitions/clusters for used grasshopper components (Name) and categorized them. Just to give you an idea, below you'll find a subset of what I think are rhino/cad specific components that we use. Most of them are very obvious but some of them I'm not really sure. I'm interested in the ones that are not covered by rhinocommon.

Area Moments
Boundary Surfaces
Bounding Box
Box Properties
Box Rectangle
Brep Closest Point
Brep Edges
Circle CNR
Connect Curves
Construct Point
Curve | Line
Curve | Plane
Curve Closest Point
Curve Proximity
Curve To Polyline
Deconstruct Box
Deconstruct Brep
Divide Curve
Divide Length
End Points
Evaluate Curve
Evaluate Length
Evaluate Surface
Extend Curve
Flip Curve
Join Curves
Plane Closest Point
Point In Brep
Point In Curve
Point Polar
Polygon Center
Sub Curve
Surface Closest Point
To Polar
Unit Z
Vector 2Pt
Vector XYZ
XY Plane

Views: 378

Replies to This Discussion

Check the API to see what is there or not.
Thanks Michael, I will do that. Currently, I'm quite familiar with the GH components but not quite with the API. I noticed that some things are just named differently or require "preparations" beforehand. So at this stage if I'm unable to figure something out I don't know whether it's because I just don't understand how things are setup with the API or it just doesn't exist in Rhinocommon.

I hope someone can glimpse at the list and points out which ones need more attention. This would be easy for an expert in both grasshopper and the rhinocommon API, I imagine. Having this information can help a lot for planning the whole porting exercise of our grasshopper "code base". Our code base is becoming to big to maintain and build on with grasshopper components.

Area: - additionally many classes have "get area" methods
Area Moments:
Boundary Surfaces: 
Bounding Box: - additionally many classes have "get bounding box" methods
Box Properties: - See properties section
Box Rectangle: - or use a rectangle and then extrude
Brep Closest Point:
Brep Edges:
Circle CNR:
Connect Curves:
Construct Point:
Curve | Line: - convert line to curve first
Curve | Plane:
Curve Closest Point:
Curve Proximity:
Curve To Polyline: or
Deconstruct: - See properties for X, Y, and Z
Deconstruct Box: - See properties for Plane, X, Y, and Z
Deconstruct Brep: - See properties for Faces, Edges, and Vertices
Divide Curve:
Divide Length:
End Points: - See properties for PointAtStart and PointAtEnd
Evaluate Curve:
Evaluate Length:
Evaluate Surface:
Extend Curve:
Flip Curve:
Join Curves:
Plane Closest Point:
Point In Brep:
Point In Curve:
Point Polar: - No method for it, it is just simple math
Polygon Center:
Sub Curve: and - alternatively this:
Surface Closest Point:
To Polar: I believe this one is a series of things for Polar math like the Point Polar. measuring angles, distance, etc.
Unit Z:
Vector 2Pt: This is just simple vector math like:  Vector3d = destination point - origin point
Vector XYZ:
Volume: - Additionally some things like boxes have a volume property
XY Plane:

What the … thanks man! Just a short list of the more "problematic" ones would have been fine. I would have digged in those myself then to set the priority. All these links however are more then I ever expected. I think you saved us a lot of time and hope I haven't wasted too much of yours.

Sure thing, Hope it helps!






  • Add Photos
  • View All

© 2021   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service