Create an account on Tinkercad - this is a great 3D design, 3D coding and circuit online platform. It has lots of options to explore and this instructable is to create a 3D design using block coding of a snowflake.

Hope you enjoy!

## Step 1: Create a New Codeblocks Project

When a new project opens you will want to understand the layout.

On the right-hand side is the workplane for the objects to be placed on it - sort of like the printer bed of a 3D printer.
The middle is where you will place the blocks of code for the objects and manipulation of the objects. The left-hand side is where you will find the different coding blocks for you to create your project.

*Remember to run your code after each new block and parameters so you are able to fix any problems that might come up.

## Step 2: Primary Arm of Flake

We are going to start by creating a snowflake arm and then copying it many times to give the arm the same look. As we create, we can explore some different numbers to make many different designs - but I might suggest leaving that for the end once you have the base snowflake complete.

To start we will insert the Cylinder block. There are a bunch of options for this once the arrow is clicked:

• Colour - the colour of the cylinder
• H - the height of the cylinder
• Sides - the number of sides on the cylinder - the larger the number the closer to an actual circle
• Edge - the dimension to cut off from the two ends of the cylinder
• Edge steps - the number of steps to help round the edge that was cut off.

The first cylinder we are going to add has:

• Colour - light blue
• Height of 50
• Sides, Edge and Edge steps are untouched

Next step is to rotate the cylinder on to workplane using the Rotate block.

This block also has some options to explore:

• Axis - Which axis to rotate around
• by - the number of degrees
• Pivot - around a point in 3D space.

For this block we can use the following parameter:

• Axes - y
• angle - 90
• pivot - (0, 0, 0)

Next step is to move the cylinder into place using the Move block.

This block also has some options to explore:

• Move - the direction in 3D space.

For this block we can use the following parameter:

• Move - (25, 0, 0) - I picked half the height

## Step 3: Secondary Arms of Flake

These are two more cylinder blocks.

The parameters for this first one can be:

• Colour - light blue
• Height of 30
• Sides, Edge and Edge steps are untouched

Next step is to rotate the cylinder on to workplane using the Rotate block and using the same parameters as the primary arm.

• Axes - Y
• angle - 90
• pivot - (0, 0, 0)

Next step is to move the cylinder into place using the Move block. This block also has some options to explore:

• Move - (30, 0, 0) - I picked the height but this is the distance moved along the primary arm of the flake.

The last step is to rotate the cylinder away from the primary arm using the Rotate block:

• Axes - Z
• angle - 30 - this is the angle that the secondary arm is away from the primary arm
• pivot - (15, 0, 0) - the point of rotation - would be about the end of the arm (depends on the length and distance moved)

Now to duplicate these last four blocks of code (place, rotate, move, rotate) and place it below - but changing the second rotation angle of these second secondary arm to the negative value of the other arm.

This completes the arm of the snowflake.

## Step 4: Duplicate the Arm

Now that we have the arm complete we can duplicate it to create the snowflake.

First, add the Create Group block at the bottom of the completed arm code. This will make it easier to run that piece of code again and again for the other arms.

Now to create the duplicates of the arms.

From the control menu, add the Repeat times block and place it at the bottom, change the number to 6.

Before we rotate the arm we need to come up with the angle to rotate the arm

Next step is to rotate the arm around in a circle using the Rotate block.

• Axes - Z
• angle - 60
• pivot - (0, 0, 0)

At this point, you can export to STL for 3D printing or SVG for laser cutting. Enjoy!

## Step 5: Explore With Some Different Values

You can explore with some of the options. It is best to have a completed snowflake and then change some of the values to compare the differences.

It is suggested to explore with the following parameters:

• length of primary arm
• length of secondary arm
• the rotation angle of the secondary arm
• The number of repeats
• the Change angle by values are related -
• pick any combination for those last two as long as the product is 360.

Enjoy and Happy Winter!!

Participated in the
Block Code Contest