Help with vase mode (3d printing)

I want the vase surface please, not cross sections.

vaseMode_3.gh (278.7 KB)
if you are wondering, yes the curves are offset inwards. This is because the nozzle will add some thickness

I ignored this part of your spec, at least for now… Sounds like a similar problem to laying bricks on conical surfaces?


vaseMode_2020Sep18c.gh (111.4 KB)

1 Like

Thanks!

Sounds like a similar problem to laying bricks on conical surfaces?

Yeah totally. It makes the helix part more difficult, since your zigs and zags are fixed on the surface.

In the simple shape like cylinder you can get this result but in irregular shape i don’t think you can.

I have tried and failed for ~5 years to solve this problem with bricks.




One area can look fine but it falls apart somewhere else when all rows are not the same length.

1 Like

here is my attempt:


It’s not perfect but I am happy with the pattern for now. I will share the definition but at the moment it looks like this:
image
My problem is the connection of the layer lines into one continuous helix though - not the brick laying part.

Oh? Please do tell? Your “bricks” vary widely in length, which isn’t feasible with real bricks, though the gaps between them can vary to some extent. Even so, I see places in this image where vertical lines are aligned across rows, which is what you want to avoid.

Start with a spiral first and then lay the bricks?

This might be relevant?


P.S. Not quite that simple:


spiral_bricks_cone_2020Sep19a.gh (19.6 KB)

I am not sure if this is is ment to be sarcastic. It’s true that they are vary a lot, since this isn’t about actual bricklaying but about 3d printing pattern on a surface where spacing it is not so critical. This thread started out with the question about how to connect the layerlines without disrupting the pattern.

Maybe this is difficult, maybe one has to do the helix first. My only concern is by doing the helix first the same problem will shift to “how to distribute points on a helix so they are equidistant and form nice enough grid” which is equally difficult.

Absolutely not!

1 Like

Yep!


vaseMode_2020Sep19a.gh (27.3 KB)

1 Like

I posted my dot distribution definition as an update here : "perfect" grid in 3 dimensions

A brick laying thread/model based on contours, not a spiral, and using an “Impala” plugin (wait, that model seems to work without Impala?). Interesting but as I noted above, some vertical lines on adjacent layers are too close together.

I’m looking in this direction: (though not sure I really want to pursue this)


vaseMode_2020Sep19b.gh (41.2 KB)

one problem occurs when the shape varies and the vertical lines run to close together:

my definition keeps some distance at the cost of a few vertical overlapping lines:

I realize that.

Does it depend on Impala or not? Seems to work without it, though looks quite complex inside that cluster.

I’ve just checked, impala is only used in the seam adjust cluster
image
where you can specify a location of the seam. Switching to “ownGeo” will require impala

Intresting!

May I ask how you will use your “tool path” to achieve the gcode?

I give it a go: kangaroo zombie solver to uniformize the “grid”.
Used the “Fattener” component at final step to achieve a simple mesh pipe…


2020-09-19 17_01_27-Window
vase_zigzag.gh (25.4 KB)

1 Like

nicely done! If have to take a closer look at your definition. At first glance it does the helix beautifully, but always keeps the same number of points in each layer.

Thank you. :pray:

May I ask how you will use your “tool path” to achieve the gcode?

it’s not so difficult: To make the printer move to a point {20,10,4} just tell it “G1 X20 Y10 Z4”

here is a screenshot of the part of the definition which generate the gcode:

For extruding plastic you have to figure out how much filament per mm you need but that’s it.

missing

You didn’t internalize your surface so I used the Brep from @Konrad.Kobayashi and Offset Surface isn’t happy with it, of course (it’s a polysurface).

… damn me…

To make it a single polyline, skip the partition component at the end.

Anyway, i’m trying a different code…