3dSynth

Tutorials / SynthBlocks

Open in the interactive tutorials reader

Tutorial 1: Circular Shape with Repeating Layers

In this first SynthBlocks tutorial you'll create a tapered column — a stack of 30 circles that grow slightly in radius with each layer. Along the way you'll learn the core building blocks: positioning, variables, loops, geometry, and math.

Circular stacked layers — final result

What you'll learn

Prerequisites


Step 1: Position the nozzle with Travel (Absolute)

Before drawing anything, we need to move the nozzle to the center of the build plate. The Travel (Absolute) block moves the toolhead to exact X, Y, Z coordinates without extruding.

Travel (Absolute) X, Y, Z

Interactive preview is available in the interactive reader.

Step 1

Add a Travel (Absolute) block

Open the Travel category in the toolbox sidebar. Drag a Travel (Absolute) X, Y, Z block into the Path Group. Set the values to: X = 125, Y = 105, Z = 0.

These coordinates center the shape on a 250×210 mm build plate. The nozzle starts at the bed surface (Z = 0).


Step 2: Create a variable for the radius

We want each layer's circle to be slightly larger than the previous one. To do this, we'll store the radius in a variable called radius and increase it after every layer.

The Set Variable block stores a number under a name. The Get Variable block reads it back later.

Set Variable

Interactive preview is available in the interactive reader.

Step 2

Create the radius variable

Open the Variables category and click Create Variable. Name it radius. A Set Variable block appears on the canvas — drag it into the Path Group, below the Travel block. Set the value to 20. Check Show in viewport so you can see a live slider in the 3D viewer.

This sets the starting radius to 20 mm. Later, inside the loop, we'll read this value and increase it.


Step 3: Add a Repeat loop

The Repeat block runs everything inside its body a fixed number of times. We'll use it to draw 30 layers.

Repeat

Interactive preview is available in the interactive reader.

Step 3

Add a Repeat block

Open the Structure category and drag a Repeat block below the Set Variable block (still inside the Path Group). Change the count to 30. This will execute the loop body 30 times — once per layer.

Everything we add inside this Repeat block from now on will happen 30 times.


Step 4: Draw a circle

The Circle block draws a circular path at the current Z height. Its radius input determines how large the circle is.

Circle

Interactive preview is available in the interactive reader.

Step 4

Add a Circle inside the Repeat body

Open the Geometry category and drag a Circle block into the Repeat block's body. Leave CX and CY at 0 (the circle is centered on the current position). For the radius input, we need the current value of our variable — open the Variables category, find the Get Variable block for radius under "Your variables", and drag it into the radius slot (replacing the default number).

Get Variable

Interactive preview is available in the interactive reader.

Now the circle reads its radius from the radius variable. On the first iteration it will be 20 mm; as we update the variable each loop, the radius will grow.


Step 5: Move up one layer height

After drawing each circle, the nozzle needs to move up before the next one. The Travel (Relative) Z block moves the nozzle by an offset from its current position — perfect for stepping up layer by layer.

Travel (Relative) Z

Interactive preview is available in the interactive reader.

Step 5

Add a Travel (Relative) Z block

Open Travel and drag a Travel (Relative) Z block below the Circle (still inside the Repeat body). Set Z to 0.6. This moves the nozzle up by 0.6 mm — one layer height — after each circle is drawn.


Step 6: Increase the radius for the next layer

Finally, we update the radius variable so the next circle is a little larger. We use Arithmetic to add 0.2 to the current value.

Arithmetic

Interactive preview is available in the interactive reader.

Step 6

Update the variable with Arithmetic

From Variables, drag another Set Variable block for radius below the Travel (Relative) Z block (still inside Repeat). Now open Math and drag an Arithmetic block into the value slot. Set it up as: left = Get Variable radius, operator = +, right = 0.2.

This expression computes radius + 0.2 each iteration. After 30 loops, the radius grows from 20 → 20.2 → 20.4 → … → 25.8 mm, creating the tapered shape.


Complete block program

Here is the full block program as it should look on your canvas:

Full program — Tutorial 1

Interactive preview is available in the interactive reader.


Final block structure

#BlockWhereValues
1Travel (Absolute) X, Y, ZPath GroupX=125, Y=105, Z=0
2Set Variable radiusPath Group20
3RepeatPath Group30 times
4CircleInside RepeatCX=0, CY=0, radius=Get radius
5Travel (Relative) ZInside RepeatZ=0.6
6Set Variable radiusInside Repeatradius + 0.2

Outcome

You should now see a tapered column in the 3D viewport: 30 stacked circles growing from 20 mm to 25.8 mm radius, over 18 mm of total height (30 × 0.6 mm).


Load this tutorial

Want to skip the building steps and jump straight to the result? Click the button below to load the completed Tutorial 1 project into 3dSynth.

Interactive preview is available in the interactive reader.

Interactive preview is available in the interactive reader.


What's Next

Tutorial 2: Spiral Vase with Dynamic Radius — Build a seamless tapered vase with Spiral Up, Variable (normZ), and Map Range in about 10 minutes.

Head back to the SynthBlocks Overview to see all available tutorials, or explore the Block Reference in the Documentation for details on every block.