Grasshopper

algorithmic modeling for Rhino

I have often read in the forum posts that "such-and-such" a command in Rhino is not available in Grasshopper...I guess I am finally wondering why there isn't a closer integration of the Plugin with its Master?

AA

Views: 1671

Replies to This Discussion

Simple example: Lofting Surfaces is not possible in Rhino, but is possible in Grasshopper

OK, but that is not the actual question...why aren't all Rhino Commands available in Grasshopper? It's great that Grasshopper has extra goodies. ;)

You can make all rhino commands available through the scripting components. This is not always satisfying, as you need to leave the GH world and get your results back into GH.

The close interaction between GH and Rhino is through the RhinoCommon interface.

GH as well as RhinoCommon are still in development. Once a Command is integrated into RhinoCommon, there can be a GH component exposing it. Eventually, all Rhino commands will be available. This process just takes time.

I see..so, eventually, such useful commands as "Boolean Split" and "Offset Solid" and "Cage Edit", etc...will make their way into GH...(it's been so long and they still aren't available)...

OK...finger tap...

Ok, let's see:

BooleanSplit return both the result for a Difference and Intersection. Both are available in GH. I doubt the Rhino command does much more than executing both operations and returning the results of both. So your'e there in 2-3 components.

CageEdit is there for 8-point cages. Since you don't actually edit a cage in GH logic, t's just called BoxMorph. I'm not sure (never used it), but SpaceDeform looks like it does what Morph does for any number of edit points. So you may be there already.

OffsetSolid: a lot of the solid stuff is still badly missing. I'd like to see this too.

GH Loft works with curves, as does the Rhino Command.

Only difference is GHs automatic conversion. If you plug a Surface into a Loft, GH will extract the boundary curves and loft those. You can do the same in Rhino, you just need to extract the boundaries yourself.

Rhino has several thousand commands, Grasshopper ships with about 800 components (there's a bunch of legacy components that make the list almost 900 long, but they don't add any functionality).

There are several reasons why not all commands are available as components:

  1. Sometimes it makes no sense. Grasshopper doesn't have selections, layers, dimensions, data attributes or views, so commands like SelClosedCurve, CopyToLayer, MatchProperties, SetObjectName, PerspectiveAngle, DimOrdinate etc. would be meaningless.
  2. Sometimes is it not possible. Not all commands in Rhino use algorithms that are exposed in our SDK. FilletEdge, CurveBoolean, MatchSrf, BlendSrf (to name just a few) cannot be used from within a plugin (short of actually running the command, which is a major pain in the ass for the developer). This is a deficiency we're trying to rectify, for Rhino5 and 6 and beyond we're trying very hard to remember to make our algorithms available to every developer.
  3. Sometimes it doesn't seem to add much value. Grasshopper is used for different purposes than Rhino. That is also why Grasshopper has some components that do not have a corollary in Rhino. Do people really need a _Torus component? _TCone? If a command can be accomplished by stringing together 3 or 4 other components, would that not be a better solution if it's not needed that often?
  4. Sometimes there is no good reason. We have a limited amount of man-power at our disposal, all of Grasshopper core and all the native components are written by just one guy. This may change in the future, but it simply takes time to add features and there are a lot of features to add.

--

David Rutten

david@mcneel.com

David,

Thanks for the reply.  I know my original post was a little snotty...it still amazes me that you are pretty much the solo dev for GH, and how much you accomplish...so thanks for everything that is here.

I was mostly commenting on what you stated in #2 of your reply...that not all elements are exposed in the SDK...in fact some of the most unique and helpful features are locked away...including the ones you mentioned (FilletEdge, CurveBoolean, MatchSrf, BlendSrf)...

As a regular Grasshopper user I hope that you get more keys to the kingdom, as it is very likely that as soon as you get them you will share what you find...Thanks for your help and hard work...!

Hannes:  Thanks for the BooleanSplit tip...frustration with that is what caused my impertinent question. ;)

AA 

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service