Graph mapper usage

I am modeling a Vase for which I want to control and try the bulge observed. I can’t figure out how to use graph mapper with gaussian graph but this is a similar effect I wish to achieve. I did it with native tools and it dint come out as expected. I need the vase flat till and then bulge at that certain point. (17.6 KB)

This doesn’t use Graph Mapper (25.3 KB)

Here’s the method I use for this sort of geometry: (20.6 KB)

1 Like

Thank you… dint know so many commands.

This is amazing. Looks so easy but so effective. Thank you.

Happy to help - sometimes the simple solutions are the best.

You can make this one a bit more complex by replacing the Series components with a GenePool - which is what my first approach had. But I found that for the kinds of shapes I use I really didn’t need that much control over their vertical placement.

1 Like

Developed from your script.


How did you get that? Mind sharing the file?

So when I offset the loft surface for adding a thickness, the curves intersect itself and the shape of the curve also changes… how do I resolve that?

Being demanding but is there a simpler way to achieve this?

That’s a very impressive shape. Did you use PanellingTools to get that surface effect? It would make a great 3D print, but to do that you’d need to add thickness with a smooth inside surface. My reply to Dharmesh below tells how I do this for shapes like this:

The answer is actually fairly simple, but it didn’t occur to me until I tried (and failed) with other methods. The way to do it is to generate 2 closed curves: one for the outside shape, and one for the inside shape.

The outside shape can be as fancy as you want, but the inside shape is simple (like a circle, polygon, squircle, etc.) Pass both curves to the Scale function and to the Z-Move function. Then, when all the curves are the right size and in the right place, separately Loft the outside curves and the inside curves.

That will result in a fancy outside and a smooth inside with no intersections. From there it’s easy to make a nice closed Brep by connecting the top 2 curves.

If you have trouble doing this let me know and I can clean up one of my GH files that does this and post it here.

Have a try with this.

Bowl with (16.9 KB)

Yup perfect thank you. The only thing I cant figure out is how do we give perfect dimensions to things connected with domain. Like in this case the top diameter, bottom diameter and height of the bowl.

I think you can manage… :wink:

1 Like


I just did this script as a simple free time work. So I did not complete this script perfectly. Need to cap the small holes, need to fine tune this for a 3d printing etc… But I will post the script here so that you (Brik) can further improve it for 3d printing. I am eagerly waiting to see this 3d printed. Thanks (34.6 KB) (@dharmesh )

1 Like

Got it - thanks. The pineapple part is very clever indeed - way to go.

To make this printable it needs to end up as a closed Brep. This is usually not hard to do, but your pineapple surface is not very nice - it’s not clear (yet) how to get the curve (or curve segments) that form the top & and bottom edges. But there should be a way to do this - I just haven’t found it yet.

Here’s my first attempt - the image is from my slicer program, so I could actually print this.

I’m going to hold off on printing until I can solve the following problems:

  1. The pineapple geometry is incorrect. Something strange happens to the pineapple surface when I join it with the inside and bottom piece. I’ve never seen a problem like this before - what seems to happen is some extra pointy shapes get introduced when the Brep Join function happens. This is very strange indeed.
  2. The final geometry is a combination of and open and a closed Breps and a big bunch of trimmed surfaces (the pineapple shape.) Although this looks good on screen the STL file that Rhino generates has errors. (This is not an uncommon problem.) Fortunately the Windows 3D Builder program can fix them, so the resulting STL file loads as manifold (Closed Brep) in the slicer program.

Nice Solution!
Question : “Why do you use” Reverse" in the Scale NU"?.
need it ?

Thanks for your comment

The Reverse is not actually needed, but it’s there because of the way GenePool outputs it’s values. Without the Reverse the top value of the GenePool controls the bottom of the geometry, and the bottom value controls the top. So without Reverse the resulting geometry would be upside down.

An alternative could be to Reverse the order of the Series function, but in the real script I used the “first” and “last” ScaleNU values to deal with the top and bottom surfaces of the part.

It’s really just a stylistic issue with my approach to writing GH scripts.