3dSynth

Tutorials / SynthBlocks

Open in the interactive tutorials reader

Tutorial 15: Organic Bezier Vase

Create a sculptural vase with an organic, non-circular cross-section using a Bezier curve. Then make it breathe — pulsating in and out as it rises — by driving Scale with a sine wave.

A sculptural vase with organic cross-section that pulsates along its height preview

What you'll learn

Prerequisites


Step 1: Define variables

Set Variable

Interactive preview is available in the interactive reader.

Step 1

Create three slider variables

Add three Set Variable blocks with Show in Viewport enabled:

  • vaseHeight = 50 — total height

Step 2: Center and add Spiral Up

Spiral Up

Interactive preview is available in the interactive reader.

Step 2

Add Translate and Spiral Up

Add Translate with X = Bed Size X / 2, Y = Bed Size Y / 2. Inside the body, add Spiral Up with Start Z = Layer Height, End Z = vaseHeight, Rotations = vaseHeight / Layer Height.


Step 3: Add the breathing Scale

Scale

Interactive preview is available in the interactive reader.

Step 3

Add Scale with sine-driven pulsation

Inside the Spiral Up body, add a Scale block. For both SX and SY, build the expression: 1 + breatheAmount × sin(normZ × breatheFreq).

Build it as: Arithmetic (+) with left = Number (1), right = Arithmetic (×) with left = Get Variable (breatheAmount), right = Sin of Arithmetic (×) with Variable (normZ) and Get Variable (breatheFreq).


Step 4: Draw the Bezier cross-section

Bezier Curve

Interactive preview is available in the interactive reader.

Step 4

Add Bezier with 7 control points

Inside the Scale body, add a Bezier block. Click + to add points until you have 7 control points total (two chained cubic segments). Set these coordinates for an organic, asymmetric blob:

  • P0 = (0, -18) — bottom center

The last point must match P0 to close the shape.


Complete block program

Full program — Tutorial 15

Interactive preview is available in the interactive reader.


Final block structure

#BlockWhereValues
1–3Set VariablePath GroupvaseHeight=50, breatheAmount=0.2, breatheFreq=8
4TranslatePath GroupX = bedsize_x/2, Y = bedsize_y/2
5Spiral UpInside TranslateStart Z, End Z, Rotations = height/LH
6  ↳ ScaleInside Spiral UpSX/SY = 1 + breatheAmount × sin(normZ × breatheFreq)
7    ↳ BezierInside Scale7 points, asymmetric organic closed curve

Outcome

You should see a sculptural vase with an organic, non-circular profile that pulsates smoothly as it rises. The asymmetric Bezier cross-section gives it a handmade, artisanal quality that no simple geometric shape can match.


Load this tutorial

Interactive preview is available in the interactive reader.

Interactive preview is available in the interactive reader.


What's Next

Tutorial 16: Twisted Tray — Use Rounded Rect with For Z and Rotate to create a designer tray with gently twisted walls.