3d pattern onto curved surface!

Hi! So after a lot of tutorials, attempts, and failures, I’m a bit desperate! Does anybody know how to get this 3D pattern (more like a truchet tile)

onto this shape’s surface

All I’ve gotten so far is to place the fat squares onto the surface, but I’m not able to have the interior square rotate and become 3d like on the pattern.

Thank you for any help!

No GH file? Post your own next time please, creating the tower alone takes ~1/3rd of the code (time).

This isn’t exactly the same thing, it’s a similar thing.


tower_pattern_2020Nov28aa.gh (31.3 KB)

The two sliders (blue groups) affect rotation angle and how far away from the surface the rotated rectangle is moved.

Scale was used in the previous model to match the original vertical distance (difference in Z) between opposite corners of the rotated rectangle. This model adds another factor (cyan group) for the same Scale component based on radius of the polygons at each floor. Remapped values are set as 1.0 at the top (“full size”) and 0.545 (smaller) at the bottom… It also caps the rotated and elevated rectangle.



tower_pattern_2020Nov28bb.gh (33.6 KB) (fixed error) (DEPRECATED!, see below)

This particular pattern would be a dust collector at best but the GH exercise can be extended by fully parameterizing rotation and elevation values of the raised surface (less rotation at the top where sections are wider, more at the bottom, for example) and even adding “attractor” curves or points…

P.S. Small improvements including ability to use IntCrv instead of PLine for the eight vertical edges.


tower_pattern_2020Nov28b3.gh (36.6 KB)

Done for both Rotation and Elevation of scaled rectangle, both now offer a domain of min/max settings based on radius of each “floor”.



tower_pattern_2020Nov28c.gh (36.6 KB)

Attn: @Birk_Binnard, will this print? It’s a “Closed Brep”, though param values could make or break it.



tower_pattern_2020Nov28d.gh (25.4 KB)

1 Like

Yes it will. Closed BReps always are sliceable - meaning a slicer program can slice them and produce valid GCode for a printer. This is what your sliced geometry looks like:


Do note the blue areas - these are areas with a low degree of vertical slope. This causes 3d printers to produce messy results because there is very little underlying layer material to support the current layer.

These slopes don’t look too bad to me; I expect they would print fairly well. It all depends on the actual printer - it’s physical geometry, mechanical tolerances, layer thickness, etc. For this part I specified variable layer height which tries to produce thinner layers for sloped areas that could be problematic - that’s what the blue areas are. I’ve often made things “more vertical” to eliminate this type of problem.

That’s an interesting shape and I have made parts similar to it before. I did decide to make the insides simpler though - i used a series of lofted circles to make a smooth inside, and then connected the top inside and outside edges to make a flat top surface.

For more robustness in the real world I’d suggest making the bottom thicker - 0.9 mm is really quite thin. I typically use 3 - 5 mm depending on overall size. My approach for bottoms is to just whack off the bottom 3 - 5 mm of whatever the closed Brep is that makes the inside, and then use that result for the final SDiff.

All very good advice, thank you. The voice of experience! I don’t have a printer, just playing around. Prefer this shape to grow basil, I think: :wink:


tower_pattern_2020Nov28dd.gh (35.5 KB)

1 Like

For potted plants it’s a good idea to have a hole in the bottom so excess water can get out.

Sure, of course, but adding a hole is trivial and I know it will print fine. By the way, plants probably prefer terracotta to plastic anyway, eh? Have you raised any house plants in a printed vase?

I’m not so sure about these twisted lofts that get edgy and weird sometimes… So I came up with a faceted approach to the same pattern with a different way of getting the inner shell, scaled in Z from the top so no detail is lost from the inner surface.



tower_pattern_2020Nov29a.gh (45.8 KB)

1 Like

Your new design does look better to me because it seems to be more regular with better symmetry. The skewed faceting is interesting indeed - I’ve not seen anything like that before. That’s probably because it took a lot of work to make them. (I’ll have to look at how you did it and see if I can understand it.)

The shadow areas on the bottom of your facets will be a bit of a problem because of their overhang. Here’s what I mean - this is my most recent post online: Petals4. It looks nice from the top, but here’s what the bottom of one of the petals looks like:


There are various ways to smooth that out, but I just haven’t done that yet - and probably won’t.

To answer your question - yes, my wife has raised some small succulents in a few of my printed parts. But what happened was they got too big and had to get repotted into larger real pots. This only took a few months, so we gave up on the idea.

There is another problem, and that is that the filament I use (PLA - polylactic acid) is hygroscopic. So over time it absorbs moisture and becomes spongy. There are other types of filament that don’t do this - like nylon or PETG - but I don’t use those because they require different slicer settings, higher temperatures, and can outgas undesirable fumes. PLA is 100% organic and does not have these issues.

About the inside surface: I tried using GraphMapper to make the overall shape, but I found it hard to get the flexibility I wanted, so I switched to the GenePool where I use the individual sliders to set the radius of the cross-section curves that I stack up vertically. Then I Loft these to get the basic overall shape. Once I have that there are various ways to make the outside surface fancy. For the inside I just Loft a reduced diameter set of the outside curves. This produces a nice smooth inside and eliminates the problem of thin walls when the overall shape has both wide and narrow diameters.

Sorry for such a long post - but I’ve been looking at your bottom image and I think what I’d do is extrude each of the facets out to a point that is maybe 2 or 3 mm higher than the facet’s center point. Here’s an much simpler example of that: DiamondBowl3

It wasn’t easy and is quite fragile, easily broken with parameter changes. I may take another look at it.