Grasshopper Extrusion and Training Suggestion Inquiry

I’m fascinated with a number of beginner vids for Grasshopper and tried my hand at just extruding an existing surface profile into a solid. I am a long time user of Rhino, but I just opened Grasshopper for the first time and I am having difficulty breaking into the thought process of how to make it work. So I have two questions:

  1. Can anyone recommend a good training resource available that shows detailed examples of numerous simple setups for building parameter control arrangements that show the results in Rhino designed for someone at the entry level? (I am a decent inductive learner once I see something.)

  2. I thought I would take a simple surface that I already had as a Grasshopper test as a test example. It is simply a square fileted surface.


My plan was just to orient the model centered at the origin/xy plane and then add a control to simply create a solid extrusion with a slider that controls the z axis extrusion length. After struggling and failing to get anywhere, it is really clear that I am entirely missing something really, really simple in my understanding. This is just too simple of an operation … yet I am missing something in all my experimenting and reading.

A question: Can I import a pre-existing model or should I be recreating the surface in Grasshopper entirely … or doing something else?

Sorry for being so terribly thick LOL, but I really want to learn this.

Best regards,

Yes and yes. Either one will work.

3. Attach minimal versions of all the relevant files

1 Like

I find there isnt really a (beginner > mid road) resource for migrating the abstract processes of gh (ie migrating our thoughts into the map of gh). I thought having a background in other graphic/function block based coding would help…it doesnt eg Pure Data, Max MSP or Siemens Logo/Step etc

Can I suggest breaking down the processes into phases, including watching the basic David Rutten stuff…dont miss any of the details as it trips you up later

  1. Datacloud ie in your case, capture the basic geometry first without the fillets etc Learn the groupings and categories of data types etc. In this screen shot (as a flowchart), the geometry is either captured from Rhino or generated by gh.

  2. Mine the parameters ie convert the bits you need for the parameters of the function blocks/components ie filletcurve

  3. Understand how to manipulate the data esp trees/lists which includes learning how to clean duplicates etc as nonmanifold stuff happens with frustrating consequences to a newb

Im only just starting to get it but ideally I found it much easier to ignore the cabling/connections and just make sure all the components follow logical grouping etc. Grasshopper has no way to control the routing cable layout as per other graphic languages but it does have easy ways to trace the flow of data eg select an object and cabling is highlighted, use keyboard shortcuts to follow pins/cabling. Once I understood that…it has become much easier…for me anyway, despite the style guide suggesting cabling is important.
More like this but your mileage will likely vary

Just my 2c :slight_smile:

1 Like

Kudos for the assist! This was a big help to me.

In replicating your model, much came clear in the connection/generation process. I was able to accomplish a toe hold into starting to make things work.


I searched for a way to import a surface (including Wesse’s suggestion for Rutten-“HAT TIP THERE”), but was unable to find a way to tell Grasshopper to take in a selected surface from Rhino … like the profile surface in the screen scrape.

Can you point me to a command process that would allow me to take a surface (or curves) into Grasshopper and internalize it?

Thanks to both of you for your helpful suggestions!!!

Best regards,


1 Like

You misspelled simple geometrical and dimensional parametric constraints GUI.

It’s not you that’s missing something, it’s GrassHopper that’s missing something.

GH pretends to be all parametric, and everything but it’s missing the most basic forms of parametric modeling. It’s sad really. It’s like a big gaping void in the middle of infinite potential…

Someday someone should add a plugin or something – I guess I’ll have to do it since no one else is.

If only the GUI made more sense. What the user sees on the left in relation to the right, really makes no sense – If we were to be honest.

The ‘bubble flow chart programmy’ looking stuff is fine and dandy, maybe from the purview of a fancy programmer or something.

But seriously, users need a GUI that puts them more in the connection with their geometry they’re modeling in the workspace.

If what’s seen on the right of that image is said to be some sort of secret programmy GUI, then I guess I look forward to the day when that stuff is used to compile everything into a GUI that’s more intuitive and mainstream for the majority of users that aren’t all into the bubbly programmy GUI.


Parameters are special boxes in Grasshopper used only for referencing data from Rhino.
The most useful are Point, Curve and Brep.
Right clic on them and Set One xxx or Set Multiple xxx.

If you change the input in Rhino, it updates in Grasshopper. Unless you’ve internalized the geometry for good, in which case it will be stored in the gh file, but with no further possibility to modify it.

What a difference a couple days make. I can create the geometry in GH or set a surface to manipulate. It was a tad of an Easter Egg Hunt interpreting what “set multiple xxx” etc means/does, but I got it with a little experimentation. I like this a lot. Very cool.

I tried offsetting the beginning point of the extrusion (plus a mirror test). The mirror and offset worked great, but when I put in a negative offset world point for z (W0,0,-5), I still get a positive z offset.

You can see the red X 5units below the fileted surface. So I haven’t slipped a neg sign.


Any suggestions as to what I might have missed to offset the extruded surface negative -z?

Thanks to all for helping me break my thick, brick wall on the startup!

Best regards,

You have to be more careful to the data types of the inputs and outputs of the components.
These data types are explicitely specified in the Help window.


And also, as the icons when hovering on an input.


The ‘D’ input requires a Number. You provide it a Point. Grasshopper does an automatic conversion from Point to Number by taking the distance of this point to the origin. So whatever Z value you enter, the result will always be positive.

Use a Number Slider and right clic > Edit to define its bounds, negative to positive. This will define the offset distance as a signed value accurately.

Though I’m going to be thrown tomatoes at because it’s not the standard way used on the forum, I STRONGLY recommend you switch on Draw Full Names options (and also Draw Icons and install Sunglasses plugin from Food4Rhino) to view components like below which is far better to learn than the default setting.


1 Like

your are not missing something, you need to play around.
there is two type of LEGO product , the one named classic and the one named collectible,
kids whom play with classic set will make WOW things when they got older.

1 Like


Thank you for the suggestion about Data Types. Very helpful advice!!!

I will dig into the DrawFullNames, DrawIcons & Sunglasses … the diagram you provided is more verbose and easier for a nube like me to understand.

Thank you for your good help … I greatly appreciate it !!!

Best regards,