Offsetting non planar surfaces

I am picking my way thru this like all new grasshopper people. I have made some real progress, with sale and loft, but ultimately what I am trying to achieve is a clear window on the inner tampered area similar to what I was doing with triangles on a planar surface. i am having difficulty with the offsets because the surface is non planar. Also I am confused on why and when you need to specify a domain. And completely confused by the Random node? How does that work. Also how do you esport a grasshopper file on this format. Like when people respond they respond with a script I can directly input into Rhino?
I am only able to include screen shots, would like to be able to post directly the script I am working on.

Thank you in advance for help and all your help. People are terrific on this forum.
Fran Taubman

the word in not tampered it suppose to be tapered

There are ways to do this, even on a concave, curved surface like this. Could you be a little more specific on how you want the hole to look?

A domain describes an interval between a minimum and maximum number, for instance between 0.0 and 1.0. All numbers in-between are considered included or part of the domain.
0.0 and 1.0 are the start and end of this domain.

The Random component generates a certain amount of pseudo-random numbers that it pick from a specified domain, by default from 0.0 to 1.0. It’s like rolling a dice! The domain of the dice would the interval from 1 to 6.

I guess you mean when you get a Grasshopper script that comes without a Rhino file, but nonetheless includes all relevant geometry?
This is done by internalising the relevant geometry that you referenced from Rhino inside Grasshopper, before saving, and uploading the GH file. You do this by right-clicking on the relevant component inputs, and selecting Internalise Data. This stores the data that was previously funnelled in within the component input in question.

Thanks for your quick response. I managed to get the hole like I want it. But I need to create a wall thickness. Offset surface does not work. Neither does scale. I am now trying to convert to mesh and use mesh thickening. What do you recommend? This is really pretty close to what I am after. I am creating table bases with individual printed modules like below will be one part of the polygon. The non planar surfaces are hard to manipulate as geometry. I am being a 3d printer so I am exploring ways to print larger shapes. I have my own shop.
Thank you again,

It depends on how you want it to look. I mean mesh thickening potentially works, but all it does is thicken in normal direction of each mesh face.
To achieve this you can connect the Faces ouput of the DeBrep (Deconstruct Brep) to a SMesh (Simple Mesh) component. This will give you four quad meshes that you then need to join and weld before thickening!

An entirely different approach could potentially be to start from a rough, low-poly, closed brep (i.e. polysurface) - for instance a cube -, and chisel out the window and curved sides with negative geometries. This would be a subtractive approach, like sculpting in wood or stone, where you start with a blank.

You must have a giant 3d printer to take a shot at table legs. :smiley: Mine does 250 x 250 x 300mm.

It is way bigger it is a Wasp delta pro. 36" bed 36" tall. I am a professional furniture designer, have worked at it all my life. My work is in a gallery mostly in metal. I am interested in incorporating 3d printing as part of components. Like in the drawing you saw there is a top and bottom to the polygon that might have metal connecting it. But I want to print the separate components of the polygon. It is a side table. The pro printers uses pellets which is a lot quicker to print. I must say that I am really struggling getting grasshopper to do what I want. I have been at it for a few months and it is proving difficult to master. I am non stop. This forum is really helpful. I may hire someone to help. We will see.
Fran Taubman
You can see my work on line.
Thank you for your help.

The negative geometry subtraction is interesting. But I would do that in Rhino not sure how that would work parametrically. I had not thought of that. I am first going to try the mesh thickeinging. I have to say I am becoming addicted to grasshopper.

Sounds interesting! Aren’t you worried about the 3D printed plastic components being perceived as less “prestigious” as for instance steel or wood?
I personally really like the aesthetics of FDM printing and I think that it really shines when paired with other materials.

Yes, it takes a lot of time and practice, but I guess that’s how every complex skill is learned.
The secret really is to develop a passion for it and/or to stay motivated.

You could do it in a similar way I guess.

Sounds interesting! Aren’t you worried about the 3D printed plastic components being perceived as less “prestigious” as for instance steel or wood?
I personally really like the aesthetics of FDM printing and I think that it really shines when paired with other materials.

That is definitely the challenge. I was originally going to work in concrete but I am getting older and the thought of forklifts etc. I already struggle with working with metal and the weight. The resins for printing are getting better and there are some that look like solid surfacing. But some do look cheap. That is why I am trying to fabricate smaller parts to join a whole with a metal skeleton. The Wasp pro also has a separate extruder that you can attach for clay and ceramics, which are beautiful materials to work with. But it will be challenging. I am completely passionate about grasshopper. It is scary how much time I spend with it. I truly love it although I do not know if I am innately able to conquer it. I am not a programer and especially good at trigonometry. But I should be able to get a handle on what I specifically need to do and reach out for help, then have templates that I can change geometries to the same script. I am trying to figure as much out as I can which is the way to learn as opposed to asking for help. I wait as long as I can.

Speaking of the last non planar polygons I am working on. I finally got a quad ramesh to be smooth. It looks really good, but when I went to apply a mesh thinking it did not hold up the joints did not hold up and look torn. Impossible to offset the surface because they are not joined, and even with a merge component they remain different surfaces. I had a really nice form and mesh thickening when without the severe bend in the curve.

I took the entire thing a part and went back to the original geometry, to apply a radius to the polygons. But when I went to explode it. The surfaces would not separate into separate faces, probably because of the radius to the polygon. I quit at 2 am, so I will have to re look at it when I am finished some other tasks today. I am basically trying to put together a kit of geometries that are open and geometrically interesting to form a puzzle into furniture. I am pretty excite about it. I will post my results when I am happy or when I run into a wall and need help.!!
I totally do not get Domains and remapping numbers, not as a component but as a concept, like I get braking apart surfaces and lofting and some list items etc.

Sure, you will. I was pretty bad at maths, had no clue about trigonometry and programming when I started out a couple of years ago.

A domain is an interval of consecutive numbers that is defined by a start and an end. A dice with 6 faces has the domain from 1 (start) to 6 (end). The numbers 2, 3, 4, 5 are included within this domain.

Remapping simply means getting a value form a certain source domain from another target domain. For instance, a source domain from 0.0 to 1.0 includes the value 0.5. It’s at the middle of the interval to be exact. When remapping it to a target domain from 0 to 10, you’ll get the corresponding value 5.

If you’re looking for some advice about your geometrical endeavors, you at least need to share a screenshot. I have no clue what you are talking about! :wink:

1 Like

I will when I complete what I am doing.

Here is my starting script. Maybe look over it and see if can be improved. The idea as I said before is to print segments and combine. Consider this a rough draft. If you work the sliders for the polygon radius you can see the different forms. It is a side table, to go by a sofa.

Here’s how I would probably do it without meshes, since the goal is fabrication.
Meshes have less dimensional fidelity, but better performance!

You can define the upper, middle, and lower thicknesses individually. The hole is cut out.
I’ve slightly chamfered the edges for a more realistic look, but this is quite slow! I’ve made it optional in the definition. I can be toggled on or off. Off is better for dialling in the shape-defining values. Otherwise, the chamfered edges get recomputed at each iteration.


Apart from the geometries being polysurfaces now, the only other difference between yours and mine is that the faces - where the individual modules meet/are connected -, don’t intersect anymore.

If you for any reason want a mesh, you can use the tri or quad remesher from Rhino 7!


(You don’t need to upload the Rhino file, when you don’t have any geometry referenced from it that is not internalized in Grasshopper.)

That is amazing. I have just gotten home from errands to study it, but it looks awesome. What time zone are you in? This came in pretty early.
Many many thanks.

GMT +1 (Central Europe). It’s currently 8:30 PM.

Where do you live? I am looking at the script now in awe.

Oh wait Luxembourg, We have talked before correct. Under a different name label?

I think you messaged me a couple of weeks ago.

Yes I got confused. I have your e-mail. I offered to use pay pal for your help if you are still interested. You have helped me so much. Just let me know.

That’s really not necessary! It’s not like this was a commission or something.