Introduction: Cubism 2 - Puzzle

In a previous project, "Cubism" I created a cubic puzzle made up of a variety of interlocking sections to form a 6 x 6 x 6 freestanding cube.

I wanted a make a puzzle cube that used a different interlocking mechansim that allowed individual cubes to be used rather than sections of combined cubes and again create a cube that was free standing

In this project the cubic puzzle is a 3 x 3 x 3 cube consisting of 27 individual cubes were each cube connects to its neighbours with integrated pegs and holes. The orientation of these holes and pegs on the faces on the cubes enables different random elements to be created.

The object is then to reconnect these random cubic elements together to create a complete 3 x 3 x 3 cube.

The elements of the cube would again be 3D printed.

Supplies

3D Printer

Filament (colour or colours subject to personal preference), PLA+ or PETG

Sanding paper

Needle Files

4.8 mm drill bit

Know your tools and follow the recommended operational procedures and be sure to wear the appropriate PPE.

Step 1: Design

The puzzle was designed using BlocksCAD.

The 27 cubes can be divided into 6 groups.

1: Bottom/Top corners which connect to 3 surrounding blocks. Qty 8

2: Middle corners which connect to 4 surrounding blocks. Qty 4

3: Bottom/Top sides which connect to 4 surrounding blocks. Qty 8

4: Middle sides which connect to 5 surrounding blocks. Qty 4

5: Bottom/Top centres which connect to 5 surrounding blocks. Qty 2

6: Middle centre which connects to 6 surrounding blocks. Qty 1

All the individual cubes will be connected by pegs and holes positioned on various cube faces.

All the individual cubes are the same being 20 x 20 x 20mm the only significant differences are the number and position of the holes and pegs on the cube faces.

Step 2: Create a Cube

The final code for the cubes will be within a Module as this will allow simply changing the values of passing parameters to position holes and pegs on the required sides.

But before this stage the various steps in getting there will be described.

Using Cube to create a 20(x) x 20(y) x 20(z) mm cube at the centre of the grid using Translate 0 (x), 0 (y), 0 (z)

Step 3: Create a Peg

The pegs will connect with holes on other cubes.

However, if the pegs and hole were of the same dimensions the pegs would not fit in the hole, therefore the pegs are made marginally smaller by 0.075mm in radius.

Pegs will consist of a cylinder (radius 4.925, height 2.35 mm) with a hemispherical top (radius 4.925mm), total height 7.275mm once attached to the cube face.

This peg sits at the top centre of the cube face therefore using Translate x=10, y=10, z=20

Step 4: Reposition Peg

Having created a peg, we need to be able to reposition the pegs on the cube faces as required.

Using a combination of Translate and Rotate.

Placing the Rotate inside the Translate rotates the object in situ.

To place the peg on the right hand face.

Positioning the peg on the right hand side requires performing a Rotate of 90 degrees on the Y axis and then a Translate with x=20 (moves it to the right hand face) and Z=10 (half way up the right face), y is unchanged.

To place the peg on the left hand face

Positioning the peg on the left hand side requires performing a Rotate of 270 degrees on the Y axis and then a Translate with x=0 (moves it to the right hand face) and Z=10 (half way up the right face), y is unchanged.

To place the peg on the front face

Positioning the peg on the front face requires performing a Rotate of 270 degrees on the X axis and then a Translate with y=20 (moves it to the right hand face) and Z=10 (half way up the right face), x is unchanged.

To place the peg on the back face

Positioning the peg on the back face requires performing a Rotate of 90 degrees on the X axis and then a Translate with y=0 (moves it to the right hand face) and Z=10 (half way up the right face), x is unchanged.

Step 5: Create Hole

The holes will connect with pegs on other cubes.

Holes will consist of a cylinder (radius 5 height 2.5 mm) with a hemispherical top (radius 5mm), total depression 7.5mm

However, the holes with minor dimensional changes are actually pegs that are rotated 180 degrees on the Y axis then subtracted from the cube. Subtraction being performed by the Difference operation.

Therefore Difference Cube minus peg = Cube with hole

The holes sits into the top centre of the cube face therefore using Translate x=10, y=10, z=20

Step 6: Position Hole

Placing the Rotate inside the Translate rotates the object in situ.

Rotate Y=90 degrees to enable rotation on the hole a second time is just to clarify this is a 90 degree rotation from its reference position. 90 + 180 (reference) = 270. However, using a single Rotate process would have required changing the 180 to 270.

Applying the second rotation as a separate event allows the application of the values used with the pegs.

To place the hole on the right hand face.

Positioning the hole on the right hand side requires performing a Rotate of 90 degrees on the Y axis and then a Translate with x=20 (moves it to the right hand face) and Z=10 (half way up the right face), y is unchanged.

To place the hole on the left hand face

Positioning the hole on the left hand side requires performing a Rotate of 270 degrees on the Y axis and then a Translate with x=0 (moves it to the right hand face) and Z=10 (half way up the right face), y is unchanged.

To place the hole on the front face

Positioning the hole on the front face requires performing a Rotate of 270 degrees on the X axis and then a Translate with y=20 (moves it to the right hand face) and Z=10 (half way up the right face), x is unchanged.

To place the hole on the back face

Positioning the hole on the back face requires performing a Rotate of 90 degrees on the X axis and then a Translate with y=0 (moves it to the right hand face) and Z=10 (half way up the right face), x is unchanged.

Step 7: Module

By placing the code for the holes and pegs in a Module with passing parameters we can use the same code and change the passing parameters to change the position of the holes and pegs on the cube faces.

In this example the Module function is used to create and define the passing parameters to be used.

Parameters X, Y & Z determine the position of the cube on the grid.

Parameters Xor, Yor & Zor determine the rotation required for the hole/peg.

Parameters Xoffset, Yoffset and Zoffset determine the position of the hole/peg on the cube.

To position a hole on the top face, three parameters are applied Xoffset = 10, Yoffset = 10 & Zoffset = 20.

A module named Pegs defines the position of the pegs and a module named Holes defines the positions of the holes.

Utilising these modules allows all 27 cubes to be structured to create the final puzzle.

Step 8: 3D Printing

The finalised puzzle is printed in PLA although other materials can be used.

Non silky/shiny PLA+ and PETG from my experience were more successful filaments.

The colour is down to personal preference, single, dual and multi colours are possible.

Multicoloured puzzles can be made by printing a number of complete puzzles in different colours and then mixing the coloured cubes or using a multiheaded printer. Even painting the external faces in different colours is an option.

In addition to making the puzzle more visually appealing by the use of colour, it can also be used to change the complexity of the puzzle. For example a different colour for each of the 3 tiers would allow the user to quickly separate the cubes and focus on solving a particular tier reducing the number of unknowns and hence the overall complexity.

The default size for the completed cube is 60 x 60 x 60 mm however this can be scaled for printing as required.

If printing at the default size the puzzle will fit on a 220 x 220 mm bed with a ~20mm free perimeter.

The models in the project are printing at 50% scale for a 30 x 30 x 30mm cube much smaller and its difficult manipulate.

Layer height: 0.15 mm

Base Adhesion: Skirt as the contact area is sufficient to hold the cubes on the bed. It also gives a neater edge.

Infill: 100% for maximum peg strength.

The STL file (cube5_opt.stl) contains all 27 cubes of the full puzzle the pieces are arranged to minimize the number of pegs protruding from the sides, as these are subject to gravitational influence while adding support would increase the amount of post processing for little value.

Flat featureless sides are orientated to the bottom as far as possible to give a smoother surface finish of the assembled puzzle reducing the requirement for exterior smoothing.

Note: cube5_opt.stl is the file that should be used for printing the puzzle.

Step 9: Post Processing

Some post processing will likely be required to smooth the pegs of aberrations, particularly the pegs on the sides.

This can be carried out with files or sanding paper.

The holes can be cleared with a 4.8mm drill bit.

This is also the perfect opportunity for fine tuning to ensure that all the pieces fit togther.

Do not force the pegs into the holes this is particularly applicable for the pegs that were printed on the top face of a cube to prevent shearing. Although this effect seems most prevalent with shiny/silky filaments.

Step 10: Solution

Having taken the time to print the puzzle its now time to try and solve it.

The purpose being to connect the 27 cubes together to form one large cube.

Ideally, try to solve it without recourse to the solution.

However, no puzzle would be complete without the solution should it be needed.

Image files are included should you wish to produce a copy on paper.

The file cube_solution(viewing only).stl can be opened with a variety of 3D viewing software;

(Eg. Cura, 3D (Builder/Viewer) or FreeCad to name but a few), allowing the puzzle to be viewed in all directions.

Note: cube_solution(viewing only).stl is not for printing as it shows the 27 cubes over 3 levels.

Step 11: Complete

Thanks for getting this far and hope you found this interesting and in doing so make your own.

Puzzles Challenge

Runner Up in the
Puzzles Challenge