Week 6:

3D Scanning & Printing

Assignment


We had two assignments three week.

  1. The Group Assignment was to test the design rules for your 3D printer(s Which can be found here.

  2. design and 3D print an object (small, few cm3, limited by printer time) that could not be made subtractively

  3. 3D scan an object (and optionally print it)

What I made


3D Printing:

LED Arm For PixelFace

  • Parametrically Designed
  • Can't be produced easily with any other manufacturing process.
    It would require 4 seperate parts for the same output.
  • More images here

3D Scanning:

1. About 3D Printing

Before I get to my 3D printing assignment, I thought of documenting some web research I did on the topic. Here's some context on 3d-printing.

History


Believe it or not, 3D printing may sound like a quite modern manufacturing process, but it's actually way older than you think. Modern 3d printing started with a publication by Hideo Kodima of Nagoya Municipal Industrial Research Institute in 1981.

Four Years later in 1986, Charles Hull patented Stereolithoraphy, and in the following year made SLA-1, the first ever 3D printer.

SLA-1, The first 3D printer

In 1988, Carles Deckard brought a patent for the SLS technology , another 3D printing technique in which powder grains are fused together locally by a laser.

In the meantime in 1992, Scott Crump, a co-founder of Stratasys Inc. filed a patent for Fused Deposition Modelling (FDM) : the third of the main 3D printing technologies, in which

Over less than ten years, the three main technologies of 3D printing were patented and 3D printing was born!

But things slowed down quite a bit after that until 2004 with the Reprap Project. This opensource project led to the spreading of the FDM 3D desktop printers and it's rise in popularity among the maker community.

3D printing got into the mainstream starting from 2009, when the FDM patents fell to the public domain. opening the way to a wide wave of innovation in FDM 3D printers, a drop of the desktop 3D printers price.

3D Print Techniques

Over the time there's been a myriad of 3D printing techniques that developped. You can find about it all in this very well made article by 3Dhubs. 3dhubs.

This illustration can explains it all. It's freely available for download from here.

3D Printing Techinques, Illustration by 3dhubs

But for the average maker like me, the following polymer based 3D printing techniques are available:

  • FDM
  • SLA

Materials

3D printing techniques vary for different materials, but in general the materials can be grouped into three main branches. The following illustration by 3dhubs explains it clearly.

3D Printed Material classification, Illustration by 3dhubs

We will mostly be working with polymer based materials, thermoplastics in particular because our lab has 2 FDM printers. For complicated prints that can not be done on these, I usually just send them to a local print lab who can do SLA printing.

2. 3D Printing Workflow

The 3D printing workflow consists of four steps usually. They are:

  • Designing
  • Slicing
  • Printing
  • Post Processing

Designing

The first step for 3D printing is creating a 3D design file. It can be done by a 3D CAD tool or it can be generated using 3D scanning where the latter can become a tricky and complicated process.
After the 3D design is made, it has to exported to a file type that is supported by the slicing software we will use. In most cases, the set standard in this regard is a Stereolithography file (.stl). It describes the entire 3D object as polygons(triangles).

Designing in Fusion360

Slicing

The second step is to create a g-code from the 3D model we just designed that the 3D printer can understand. Usually this is done by a slicing software like Cura, Meshmixer, FlashPrint, etc.

Slicing Software(FlashPrint)

Printing

Once the g-code is generated, we start the printing process. The printing part of 3d printing is a tedious job. It usually takes a long time and requires somewhat constant attention, depending on various factors.

3D Printing on a FlashForge Dreamer

Post Processing

Depending on the print technique and finishing wanted on the end product, 3D printed parts require a post-processing step. This step may include removal of support material, UV curing, High temperature compression, sanding, alcohol baths.

Post processing Steps (image collected from 3dhubs)

3. Important Parameters

Infil

As the name suggest, Infil is the pattern how material is filled inside the surface of a 3D printed object.

There are two settings to infil which need to be remembered.

  • Infil Style or pattern:

  • The Infil Style is how Materials is layed out in the infil. Most common patterns are line, hexagon and cubic.

  • Infil Density

  • The Infil Density refers to how much material will be put inside. This setting can significantly increase or decrease the print time.

Infil Styles Illustration (image collected from All3DP)
Infil Density Illustration (image collected from All3DP)

Wall Thickness

Wall thickness, also known as shell thickness, is the thickness of the outer walls of your design. In manufacturing, you always want to use as little material as possible, or just as much as you need.This goes for 3D printing, as well. The added luxury is that you can decide the material thickness of your project’s walls, top, and bottom when you prepare the 3D print file for your 3D printer.

The wall thickness parameter can siginificantly increase or decrease print time.

Wall Thickness Illustration by All3dp

Layer Height

Like all CNC machines, 3D printers work in layers which is governed by the z-axis and this greatly affects the finishing of the design file.
All 3D printing processes build parts layer by layer. Due to the additive nature of 3D printing, the thickness of a layer determines the resolution of a print in a similar way that the number of pixels determines the resolution of a television or a computer monitor. The downside is that the lower the layer height the longer it takes to print.

Effect of z axis in a CNC- illustration by 3Dhubs
Layer Height comparison- illustration by 3dhubs
Layer Height comparison(macro shot)- illustration by 3dhubs

Brims, Rafts and Skirts

Brim:

A brim is a special type of skirt that is attached to the edges of the model. Typically it is printed with a increased number of outlines to create a large ring around the part.
Brims are used to hold down the edges of your part, which can prevent warping and help with bed adhesion.

Skirt:

A skirt is an outline that surrounds your part but does not touch the part. The skirt is extruded on the print bed before starting to print your model. Skirts serve a useful purpose because they help prime your extruder and establish a smooth flow of filament. Observing the skirt also allows you to detect and adjust any leveling or adhesion issues before the actual model begins printing.

Raft:

A Raft is a horizontal latticework of filament that is located underneath the part. The 3D printed part will be printed on top of this raft, instead of directly on the build platform surface. Rafts are primarily used with ABS to help with warping and bed adhesion, but they can also be used to help stabilize models with small footprints, or to create a strong foundation on which to build the upper layers of your part. The raft included in Simplify3D has been optimized over years of testing on hundreds of different machines to ensure easy separation and a high-quality surface finish on the bottom of your part. Once the print is complete, the raft effortlessly peels away from the print and can be discarded.

Raft, Skirt & Brim illustration by simplyfy3D

Support Material

With FDM printing, each layer is printed as a set of heated filament threads which adhere to the threads below and around it. Each thread is printed slightly offset from its previous layer. This allows a model to be built up to angles of 45°, allowing prints to expand beyond its previous layer’s width. When a feature is printed with an overhang beyond 45°, it can sag and requires support material beneath it to hold it up

Support Material requirement- illustration by 3dhubs
Support material in design - illustration by 3dhubs
Comparison between no support and support - illustration by 3dhubs

4. Designing with Fusion360

Conceptualization:

For the 3D printing week Assignment, I wanted to make a small scale version of the LED arm of my final project. So I went back to my work for week 1 work.

I knew that I was working with Addressable LEDs, so I have been searching the local market for WS182/SK6812 or anything equivalent. Apparently it's not very popular yet in Ahmedabad, and I couldn't individual 5050 LEDs. But what I did manage to find was this LED strip with ws182b LEDs. It had 12mm spacing between each LED, a bit too much for my liking but it was okay for the first spiral.

I also checked the price for shipping in individual ws182b LEDs with SMD 5050 packaging and it would cost me 40 rupees per piece where I get got 60 LEDs for 19 rupees each on the LED strip.
ws182b LED strip, 12mm spacing, 5050 LEDs
Initial Sketch of Final Project from Week 1


Now with my LED strip, I was ready to start designing a small scale version of my LED arm from my initial sketch.

Step 1: Creating the Rotating Arm Sketch


I started by analyzing my initial Sketch and came up with this in rough sketch in Fusion360 for the arm.
I wanted the arc length to be parametric, so first I created the inner, mid and outer arcs with a concentric constraint.

Then I extended the arcs with lines and made a tangent constraint with the lines. I made the lines parallel and equal to eachother. This ensured the lines were always constrained together.
After that, I closed the area in between and added an 'arm thickness' parameter for the distance between the arcs.

Parameters Used:

  • armCurvature
  • armHeight
  • BaseDiameter
  • armThickness
I played around with the parameters a bit to see if I could make any of them dependant on eachother, and made
armCurvature = baseDiameter * 0.9


Step 2: Extruding the Arm:


Then I extruded the the sketch to make the initial 3D object. I used a parameter an 'armWidth' parameter for the extrusion. Since I extruded from both sides, I used the distance as (armWidth/2)

Parameters Used:

  • armWidth

Step 3: Adding a top Connector:


Sketch:

I started by creating a sketch on the x-y plane, right at the center. I found that it's convinient in using the center to align my design.

I made two circles, the outer one for the arm, the inner one for a connector hole.

Parameters Used:
  • armWidth
  • topConnectorHoleDiameter
Top Connector Sketch Dimensions
Top Connector Sketch Orientation

Extrusion 1(join):

I extruded the the area between the outer circle and the inner circle. The extrusion type was join.

Parameters Used:
  • topConnectorThickness
Extrusion(join)

Extrusion 2(cut):

I extruded using the inner circle area, the extrusion type was cut. This cleared away the hole for a connector on top. The

Extrusion(cut)

Step 4: Adding the Inner LED slot:


Sketch:

I created a small rectangle on the x-y plane. I used the space where the LED arm touches the ground. It made constraining my LED slot much easier.

Parameters Used:
  • armWidthSlot
  • slotInside
  • slotOutside
Inner Slot SKetch Dimensions

Sweep:

I used a Sweep function to create the slot inside the arm. The profile was the sketch, path was the mid line in our initial arm sketch and the operation was 'cut'. This created a hollow arm with the profile of the slot sketch on the inside.

Using Sweep Function to create the inner slot

Step 5: Adding the Inner LED holes:


Sketch:

I measured the LED's again just to be sure, the size is 5mm since the package is 5050. I used constraints to keep the LED hole aligned with the sides of the arm. The first LED has a clearance of 5mm is there for the first LED.

Parameters Used
  • ledSize
Sketch for LED holes

Extrude(cut):

I used extrude to cut out the LED holes from the top surgace of the arm. The cut distance was from top surface to the inner surface.

Cutting the LED holes

Pattern Along Path:

I used Pattern along path to recreate 8 LEDs on the arm. I then adjusted the height of the total arm to leave no empty space on top.
The distance between each LED was ledSize+ ledSpacing.

Parameters Used
  • ledSpacing

5. First Print

Flash Print

Import


First I imported my .stl file into flashprint. This is the default slicing software for the FlashForge printers.

Importing an stl file into FlashPrint

Rotate


Since my design is long on the vertical axis, it's always a good idea to lay it flat on the bed. All FDM printers have much stronger bonding on the horizontal axis and the vertical axis usually has the layer patterns.

Importing an stl file into FlashPrint

Orient on Bed


The design then needs to be oriented for optimum printing. Right now the print is hovering on air, and has to be put on the bed surface.
** Some surface on the printbed might have less adhesion randomly due to various reasons.**
For my case I had to move my print area to the corner for perfect adhesion.

Importing an stl file into FlashPrint

Print Settings


Clicking on the print Icon on the top will bring up the print settings. I put in my parameters which where:

  • Material: PLA (right extruder)
  • Resolution: Standard
  • Brim: Enabled
  • Support Material: Disabled
  • Raft: Disabled
  • Perimeter Shells: 2
  • Top Solid Layers: 3
  • Bottom Solid Layers: 3
  • Layer Height: 0.18mm
  • First Layer Height: 0.27mm
  • Infil Density: 15%
  • Fill Pattern: Hexagon
  • Print Speed: 60mm/s
  • Temperature: 200℃

Print Settings in FlashPrint

Sending the file to the printer


Since FlashForge needs to stay connected to the device if you print directly from the computer, I opted to send the file to the printer using a memory card.

I saved the print output as a .gx file from FlashPrint and plugged in the memory card on the machine.

Using the Touch Panel, I navigated to my file and printed it.

Importing an stl file into FlashPrint

Problem 1: 'Distance' on Pattern along Path (Design error)


The first problem I had was design related. I used the wrong distance spacing between LEDs and as you can see, on the output the LED holes didn't match the LED strip.

First Print Output: LEDs are not aligning

So I went back to measurements, the 'Pattern Along path' function in Fusion360 takes one distance paramter, and the spacing was from center to center. My initial Setting was just the spacing I measured from the LED strip.

Spacing
Previously used parameters

Solution:

I simply put the correct distance in the parameter and it worked like a charm.

Distance = (1/2 * radius of 1st LED + spacing + 1/2 * radius of second led)
= (led Size + spacing)

Updated Parameters
Inspecting Distance in Design

Problem 2: 'Print not Sticking to bed properly' (Printing error)

Since My print was long but thin, one end of it wasn't adhering to the bed properly. After multiple failed attempts, and trying out rafts and brims, I found that it was a problem with our print bed. The Center Area had bad adhesion. Another reason for it was that long prints tend to bend if there's no proper adhesion.
The print worked out great once I placed it on an edge of the print bed.

Problem 3: 'Print Dimensions are not accurate' (Printing error)

I haven't yet found a solution for this problem yet where the print dimensions are not accurate as the design dimension. I haven't found a way 'yet' to put in the printing offset into a parametric design.

Spacing Measurements:

LED Slots Measurement:

Observation:

Errors of this scale is expected during 3D printing. That is why we did our group assignment to find the 3D printing tolerances. But the problem is compounded on parametric Engineering Designs, where precision is required.
As for example, in my case, the small error margins add up to huge alignment issues on the LED slots as they were designed using a pattern in Fusion 360.

6. 3D Print Output

cross image
3D Printed LED arm for PixelFace
Cross Section of print

7. 3D Scanning

3D scanning involves generating a 3D object from a real onject usually through depth mapping.

Context on 3D Scanning

There are many techniques of doing it. Here are some mentionable ones:

Laser Triangulation 3D scanning:


As illustrated on the image, projects a laser beam on a surface and measures the deformation of the laser ray.

Laser Triangulation based

Structured Light 3D Scanning:


Structured light 3D scanning measures the deformation of a light pattern on a surface to 3D scan the shape of the surface.

Structured Light 3D Scanning

Photogrammetry:


Photogrammetry, also called 3D scan from photographies, reconstructs in 3D a subject from 2D captures with computer vision and computational geometry algorithms.
Photogrammetry Based 3D scanning

Contact based:


Contact-based 3D scanning technology relies on the sampling of several points on a surface, measured by the deformation of a probe

Contact Based 3D scanning

Time of Flight:


Laser pulse (also called time of flight) 3D scanning technology is based on the time of flight of a laser beam. The laser beam is projected on a surface and collected on a sensor. The time of travel of the laser between its emission and reception gives the surface’s geometrical information.

Time of Flight Based 3D scanning

Skannect

How to Install

There are two requisites we need to install before we can install Skannect

Requisites:
After that, I installed the windows x64 installer downloaded from here.

How to Scan

I used Skannect to scan myself and exported the scan on sketchfab. The free version of Skannect did not let me save my scanned objects locally. I referred to this video for the scanning procedure on skannect.



Workflow Screenshots

SCANN3D

SCANN3D is another 3d scanning app on google play store. I tried it and the way it generates the 3D models by photogrammetry. Here's what I ended up with.

Unfortunately SCANN3D wouldn't let me export my designs or save them either. So all I had were these screenshots and the 3D model on my phone.

8. Hero Shots

3D Printing:


Design:

Design Cross Section

3D Printed Output:

3D Printed Output

3D Scanning:

Skannect:

9. Original File Downloads

3D Printing Assignment .f3d file .stl file .gx file a360 link SketchFab link


3D Printing Assignment SketchFab Link

Learning Outcomes

  • I learnt how to make engineering models in Fusion 360.
  • I learnt how to use the 3D printer to print my models.
  • I learnt the limitations of 3D printing, the error rates in printing and printing models.

What I need to improve on

  • I need to solve my dimension error casued due to 3D printer and material limitations.