Skip to content

Week 5 - 3D Scanning and Printing

Header Published on: February 24, 2025


For this week's assignment, I was contemplating what to design. The goal was to create something that wouldn't be easily manufacturable using traditional subtractive methods. My initial idea was a simple ball trapped inside a cube, but it didn't feel challenging or exciting enough to pursue.

I then started thinking about fascinating structures that have always intrigued me but that I never had the time to explore — mathematically designed 3D-printed objects. Curious about what was possible, I conducted some research and came across various types of mathematical and organic structures:

  • Gyroid Structures – Lightweight yet strong, ideal for vases or lampshades.
  • Voronoi Patterns – Organic, nature-inspired designs perfect for decorative holders or covers.
  • Möbius Strips – A continuous, one-sided surface, great for artistic sculptures, pen holders, or jewelry.
  • Sierpinski Triangles & Fractals – Intricate, self-repeating patterns that create mesmerizing forms.
  • Hyperboloid Structures – Common in architecture, but also useful for aesthetic stands and supports.

Since I've always been fascinated by fractals, I decided to design something inspired by these unique geometric formations.


3D Design

While researching, I discovered a powerful tool that simplifies the transformation of mathematical formulas into 3D structures: OpenSCAD. This open-source software allows for parametric modeling using code, making it an ideal choice for experimenting with algorithmically generated forms.

OpenSCAD

The concept of programming objects instead of designing them manually was entirely new to me. At first, I experimented with basic functions in OpenSCAD to understand how primitive forms are created using code.

Basic Shapes

OpenSCAD provides simple functions to generate fundamental 3D shapes:

cube([10, 10, 10]);  // Creates a cube with dimensions 10x10x10 units
sphere(10);          // Creates a sphere with a radius of 10 units
cylinder(h=20, r=5); // Creates a cylinder with height 20 and radius 5 units

Each function defines a shape using parametric values, meaning that their size can be easily adjusted by changing the input numbers. This flexibility is something that traditional CAD software often lacks.

Transformations

translate([10, 0, 0]) cube(10);  // Moves the cube 10 units along the X-axis
rotate([0, 0, 45]) cube(10);    // Rotates the cube 45 degrees around the Z-axis
scale([2, 1, 1]) sphere(5);     // Scales only in the X direction, making the sphere elliptical

With these transformations, I was able to manipulate objects dynamically instead of adjusting them manually.

Diving into Fractal Designs

After experimenting with basic transformations, I finally wanted to try out to design fractals — geometric patterns that repeat infinitely at different scales. I started implementing some of the most famous fractal structures in OpenSCAD.

Menger Sponge

The Menger Sponge is a well-known fractal cube that consists of smaller cubes arranged recursively. It is generated by continuously subdividing a cube and removing specific sections at each level.

  • The function recursively divides the cube into smaller cubes.
  • Some cubes are removed based on their position, creating the fractal effect.
  • The recursion stops when level = 0, meaning no further subdivisions occur.

This structure is particularly fascinating because it visually demonstrates self-similarity, a key feature of fractals.

Fractal Tree Patterns

Another type of fractal I explored was tree fractals, which are commonly used to simulate natural branching structures like trees, blood vessels, or river systems.

How a Fractal Tree is Constructed:

  • Start with a vertical trunk.
  • At each step, create two (or more) branches that extend from the previous segment.
  • Rotate each branch slightly to create a natural shape.
  • Reduce the size of new branches in each iteration to maintain proportionality.
  • Stop recursion when the branches become too small to be meaningful.

Other Fascinating Fractal Designs

Beyond the Menger Sponge and fractal trees, I also experimented with:

  • Koch Snowflake – A fractal curve that starts as a triangle and develops into a highly detailed shape through recursion.
  • Fractal Sphere – A sphere divided into progressively smaller segments to create an intricate pattern.
  • Spiral Structures – Spiral structures created with the help of mathematical formulas.
  • Spiral built from Menger Sponges – A 3D model combining recursion and rotation.

Exploring these mathematical structures gave me a deeper appreciation for the power of generative design. Instead of manually sculpting objects, I was able to define rules that would produce intricate patterns with just a few lines of code. This approach allows for endless experimentation and opens up new possibilities for complex, algorithmically generated models.

My experiments with fractal design can be viewed in the following image gallery.

w5_2 w5_3 w5_4 w5_5 w5_6 w5_7 w5_8 w5_9


Originally, I wanted to 3D print the spiral made of Menger sponges as a jewelry pendant for this week's assignment. However, after discussing it, concerns were raised that it could also be manufactured using traditional methods. Therefore, I started looking for alternative possibilities.

Voronoi Patterns

Next, I looked for tools to create 3D models with Voronoi patterns. During my research, I came across the website Voronator. This platform allows users to upload 3D models, which are then transformed into Voronoi-patterned structures.

Voronator Interface

Cylinder Model

Sphere Model

After processing my models through the Voronator tool, they transformed into the following structures with a Voronoi-patterned surface. The once solid objects now featured a lightweight, organic design while maintaining their original shape.

Sphere after Voronator

Cylinder after Voronator

Some might argue that these forms could still be manufactured using traditional fabrication techniques. To make my design truly exclusive to additive manufacturing, I decided to embed a freely movable sphere inside the Voronoi-patterned sphere. Objects within objects can only be produced using additive manufacturing methods, making this design a perfect fit for 3D printing.

Sphere with inner sphere


3D Printing

For the fabrication of my Voronoi tealight holder, I used the Bambu Lab X1 Carbon, a highly popular and reliable 3D printer available in our FabLab. This printer is known for its high-speed performance, precision, and multi-material capabilities, making it a great choice for complex designs like the Voronoi pattern.

To ensure a smooth and high-quality print, I chose PLA filament, which is an excellent material for decorative and functional prints due to its ease of use, minimal warping, and environmentally friendly properties. The printer's fine layer resolution and stable build platform allowed for the intricate Voronoi pattern to be printed without support structures.

My goal was to transform the cylindrical Voronoi design into a functional tealight holder. For this purpose, the top part needed to be open.

To achieve this, I used a slicing tool to remove the upper section of the cylinder. This simple modification ensured that the tealight could be easily placed inside and allowed the light to shine through.

Cylinder slicing 1

Cylinder slicing 2

Since I had previously conducted an Overhang 3D Printer Test with the Bambu Lab X1 Carbon to determine its design rules and limitations for the Group Assignment, I was confident that this printer could handle the structures without support issues.

The test helped me understand the printer's capabilities regarding overhang angles, bridging, and fine details, ensuring that my model would be printed successfully. With this knowledge, I proceeded to print my design, hoping that the Bambu Lab X1 Carbon's precise calibration and cooling system would allow for clean overhangs and sharp details.

Printing in progress

After some time filled with anticipation, wondering whether the prints would turn out successfully, I was thrilled to see that the models were printed without any issues!

w5_20 w5_21

Here are the photos of the final prints. I am happy with the results. Only the print of the menger sponge spiral failed because of the support filament.

w5_23 w5_24 w5_25 w5_26 w5_27 w5_28 w5_29 w5_30 w5_31 w5_32


3D Scanning

The second task for this week's assignment was to 3D scan an object and optionally print it. My first idea was to scan my phone to create a custom phone case using TPU filament.

I used the EinScan X scanner for the task. Before scanning, I sprayed the glossy and black surfaces of the phone with chalk paint to improve scan accuracy, as these surfaces are typically difficult for the scanner to capture.

To begin, I placed the phone on the turntable and selected the "Turntable" mode in the scanner software. After the initial scan, I performed additional scans using the "Geometry" setting. I attempted multiple scans, but each time I encountered layer shifts between the scans, and some areas remained incomplete, despite the chalk spray treatment.

Turntable Selection

In a further attempt, I decided to cover the phone with masking tape, as it has a light, matte surface that should be easier for the scanner to detect. Unfortunately, this method also did not produce the desired results.

w5_33 w5_34 w5_35 w5_36 w5_37 w5_39 w5_40

Since this project had already taken several hours and the software had crashed multiple times, I decided to scan a different object. I chose a hand-modeled turtle as my new subject.

w5_41 w5_42 w5_43 w5_44 w5_45 w5_46 w5_47 w5_48 w5_49

Due to its matte surface texture and the fact that it was not a flat object, the turtle was easier to scan. I first performed a scan of the top side and removed any unwanted points in the software. Then, I scanned the underside of the turtle and aligned the two project files. It took several attempts to figure out that I could use the Shift key to mark points on the model, which helped in aligning both sides. This allowed me to successfully create a complete 3D model of the turtle.

To save the scan I clicked "Global Optimization" and waited for some minutes. Then I used the tool "Mesh Optimization" and "Simplification" to get a small STL file. I included the file in the download section.

Mesh Optimization

Simplification


Reflection of the Group Assignment

A detailed documentation of the group assignment including tests on various printers can be found here: Link to the Group Assignment.

Bambu Lab X1 Carbon - Key Specifications

The Bambu Lab X1 Carbon (X1C) is a high-performance Core XY 3D printer known for its speed, precision, and intelligent features. Below are some of its key specifications:

  • Core XY Motion System – Enables high-speed printing with up to 20,000 mm/s² acceleration, ensuring fast and precise movement.
  • Multi-Color Printing – Supports up to 16 colors when used with the Automatic Material System (AMS), allowing for complex, multi-material prints.
  • Advanced Auto Bed Leveling (ABL) – Equipped with dual auto bed leveling, ensuring a perfectly calibrated print surface before every print.
  • High-Resolution Lidar Sensor – Features a 7μm lidar resolution, enabling precise first-layer calibration and improved print accuracy.
  • AI-Powered Error Detection – Includes spaghetti failure detection, helping to identify and pause failed prints automatically.
  • First-Layer Inspection – Uses AI to inspect the first layer, ensuring proper adhesion and print quality before continuing the print job.

These features make the Bambu Lab X1 Carbon a powerful and reliable choice for high-speed, high-quality, and multi-color 3D printing, making it particularly valuable in FabLabs and professional prototyping environments.

Design Rules and Testing

When designing objects for 3D printing, it is essential to follow specific guidelines to ensure successful prints without structural failures or print defects. Two critical aspects to test are clearance for moving parts and overhang limitations.

Design Rules

Clearance Test

Clearance refers to the gap between two moving parts in a 3D-printed object. If the clearance is too small, parts might fuse together due to thermal expansion or inaccuracies in the printing process. A clearance test helps determine the minimum gap required for parts to move freely.

Clearance Test

Overhang Test

Overhangs refer to parts of a model that extend outward without direct support beneath them. Most FDM 3D printers have a limitation where overhangs beyond a certain angle will sag or fail due to gravity. An overhang test helps determine the maximum printable angle without support structures.

Overhang Test

During the tests with the Bambu Lab X1 Carbon, we observed exceptional overhang performance — even at an 80° angle, no additional support structures were required. Additionally, all hinges and moving parts in our clearance test functioned smoothly, demonstrating the printer's high precision and reliability in handling complex geometries.

Learning Takeaways

  • Clearance is essential for moving parts and assembly fit.
  • Overhang testing helps define angle limits before requiring supports.
  • Bridging tests can also be useful to see how well the printer handles gaps between two points.
  • Each 3D printer and filament type behaves differently.

Understanding and applying these design rules ensures higher success rates in 3D printing and reduces failed prints, warping, and material waste. Running clearance and overhang tests is an essential step for achieving high-quality prints with optimized settings.


Downloads