Skip to content

6. 3D Scanning and printing

- Test the design rules for your printer(s). Document your work and explain what are the limits of your printer(s) (in a group or individually):

Group assignment page: here.

My individual part: I have documented it in the Test piece part of the 3D print process section.

- Design and 3D print an object (small, few cm3, limited by printer time) that could not be easily made subtractively:

I experimented a bit with OpenScad, to see how a 3D object can be modeled with code.

The models that I have printed, due to their shapes, are not possible to be made substractively with the common 3-axis machines, but can me made with a 5-axis CNC (which are rather much more expensive).

I wanted to practice also some Stereolithography, but that wasn’t possible for time and Corona restrictions.

- The 3D printer I used was Ultimaker S5, with a AA0.4 and BB0.4 nozzle.
- For slicing I used Cura.
- The materials I used for printing were PLA for model and PVA for supports.

- 3D scan an object, try to prepare it for printing (and optionally print it):

Since I already had some experience on 3D printing, I was very excited for the 3D scanning part of this assignment.

I practiced Photogrammetry and Structure light for 3D scanning and I have 3D printed my scans.

Photogrammetry:
- Photos were taken with an smartphone.
- The 3D reconstruction software I used was Meshroom.
- For post-processing I used Blender.

Structured light:
- 3D scanner I used was the EinScan Pro+.
- The software I used was the EinScan.

3D scan

Photogrammetry | Me

Is a technique that overlaps photos of an object, structure, or person, and convert them into a 3D model.

So for it I decided to scan… Me! 😀

Me

Preparation

This part consists on th considerations you need to take for getting nice results:

  • Make sure you’ll have the same amount of light during taking the photos, then for it is the artificial light is preferred.

  • If having any item/part that produces shadow on the object, use extra lights to illuminate the dark areas, or it can result o=in a “hole” on the model.

  • When having relatively big areas with no features, using marks is highly recommended so the software uses them as references to the overlapping:
    JeffsBack

  • Now you just need to start taking photos of all of the possible views (in this case, my colleague took 115 photos of mine).

  • Important! The person/object to scan shouldn’t change the pose.

3D recons. software | Meshroom

MeshRoom

  • Once you have all of the photos, remove the bad ones (if there are), put it on a folder and drop it to Meshroom.

  • Press Start and let it make its magic.

  • Once it’s finished, it’s ready to be post-processed, just save your files.

Post-process | Blender

Post-Process

  • Open the file.... and start tuning!
    I’m not really experienced in Blender, but I got the basic explanation of the commands I needed with a colleague.
    I have done it in the Sculpt Mode, using mainly the commands: Draw, Draw sharp, Smooth, and Flatten.
    Post-Process
  • Use the texture (color) that already comes from Meshroom.

  • I Played with the lights and made a Render:

Render

And yes, it scared me that the model looks more like me than myself.

Structured light | Buddha

Is a technic that displays a pattern on the surface of an object and senses it with a camera to analyze the shape of the object according to the deformation of the pattern.

This time I went for an object, so I decided to scan this candle of Buddha:

Buda

Preparation

This part consists on th considerations you need to take for getting nice results:

  • Make sure you’ll have the same amount of light during taking the photos, then for it is the artificial light is preferred.

  • If having any item/part that produces shadow on the object, use extra lights to illuminate the dark areas, or it can result o=in a “hole” on the model.

  • When having relatively big areas with no features, using marks is highly recommended so the software uses them as references.

  • Important! The person/object to scan shouldn’t change the pose.

Scanning | EinScan Pro+

This scanner has different functions to scan different sizes, in this case I used Fixed Scan.

  • Use different brightness of the light and different positions of the object.

ScanningBuda

3D recons. software | Meshroom

The software literally guides you through the whole calibration and scanning process, then just try it yourself.

EinScan

EinScan2

3D print | Fused filament fabrication

I think it’s worth mentioning the existing additive technologies:

Type Technologies
Extrusion Fused filament fabrication (FFF)
Light polymerized Stereolithography (SLA)
Digital Light Processing (DLP)
Powder bed Powder bed and inkjet head (3DP)
Electron-beam melting (EBM)
Selective laser melting (SLM)
Selective heat sintering (SHS)
Selective laser sintering (SLS)
Direct metal laser sintering (DMLS)
Laminated Laminated object manufacturing
Powder fed Directed Energy Deposition
Wire Electron beam freeform fabrication (EBF)

The technology I applied was Fused filament fabrication (FFF).

Further explanation about setting is in the Parameters section.

I have used the default printing speeds that Cura has for each profile.

Me

3D Scanned model.

Me

Printing details:

- Material = 2.85 mm generic PLA
- Model height = 70mm
- Layer height = 0.1mm
- Infill = 20%
- Support = Enabled, type tree in PLA
- Plate adhesion = Enabled, in PLA

Buddha

3D Scanned model.

Buda1

Printing details:

- Material = 2.85 mm generic PLA
- Model height = 65mm
- Layer height = 0.2mm
- Infill = 20%
- Support = Disabled
- Plate adhesion = Enabled, in PLA

Buda2

Printing details:

- Material = 2.85 mm generic PLA
- Model height = 95mm
- Layer height = 0.15mm
- Infill = 20%
- Support = Enabled, in PLA
- Plate adhesion = Enabled, in PLA

Turner cube

TurnerCube

Printing details:

- Material = 2.85 mm generic PLA
- Model height = 55mm
- Layer height = 0.2mm
- Infill = 20%
- Support = Enabled, in PVA
- Plate adhesion = Enabled, in PVA

Design

I made in Fusion 360.

CubeFusion

Sierpiński triangle

STriangle

Printing details:

- Material = 2.85 mm generic PLA
- Model height = 30mm
- Layer height = 0.15mm
- Infill = 20%
- Support = Enabled, in PVA
- Plate adhesion = Enabled, in PVA

Design

I made it trying a code in OpenSCAD.
TriangleOpen

Process

Parameters

Before starting with the process, we got to know how the parameters work, there are a lot of parameters to setup our printings, but the main ones we need to know how to use (in the FFF technology) are:

- Layer height: as it sounds, it’s the exact height of each layer of material extruded, is given in mm and affects the final printing resolution.

* When working with pieces that have vertical curves such as spheres (or in general need good vertical definition), then thinner layers are preferred.
* When working with pieces that are basically vertical extrusions such as cylinders and cubes (or in general doesn’t need good vertical definition), then thicker layers are Ok.

To consider:
- Thicker layer = much shorter printing time.
- Thinner layer = much longer printing time.

- Shell: refers to the thickness of the shell of piece, given in mm and affects the final strength of the piece.

* When working with pieces that are part of a mechanism and/or need to be strong, then thicker shells are preferred.
* When working with didactic pieces, tests, decoration (or in general doesn’t need to be strong), then thinner shells are OK.

To consider:
- Thicker shells = longer printing time.
- Thinner shells = shorter printing time.

- Infill: as it sounds, it refers to how solid is internally the piece going to be, is given in percentage and affects the final strength of the piece.

* When working with pieces that are part of a mechanism and/or need to be strong, then higher infill percentages are preferred.
* When working with didactic pieces, tests, decoration (or in general doesn’t need to be strong), then lower infill percentages are OK.

To consider: When need stronger pieces, increasing the infill is preferred against increasing the shell thickness due to the printer make it faster.
- Lower infill = a little shorter printing time.
- Higher infill = a little longer printing time.

- Support: is a structure used when the model has an overhang or a bridge which is not supported by anything below, is given in percentage.

To consider: The effect on the printing time is going to depend on how much of them we need, but always prefer to print the piece in a position that needs less position.

- Plate adhesion: is a construction that adds width to the first printing layer in order to get a better adhesion to the plate.
*Usually thin constructions are enough.

To consider: Using it practically doesn’t affect the printing time.

Slicer | Ultimaker Cura

Also known as “slicing software” is used for the the conversion from a model in STL format to printer commands in g-code format that tell the 3D printer the movements.

Structure and settings:

  • The Prepare tab allow us to quickly setup our printing:
    PrepareTab

    • Top Left:

      • Open file:
        OpenFile
    • Top:

      • Printer:
        SelectPrinter
      • Material and Print core: Generic PLA, AA 0.4
        MaterialAndNozzle
    • Print settings (also known as parameters):
      PrintSettings

    • Left, the most important are:

      • Move model:
        MoveModel
      • Scale model:
        ScaleModel
      • Rotate model:
        RotateModel
    • Bottom left:
      BottomLeft

      • List of models.
      • Printing file name.
      • Printing volume.
      • Model views.
    • Bottom right:
      BottomRight

      • Printing time.
      • Material: weight and filament length for this print.
      • Preview and Save file.
  • The Preview tab allows us to watch the printing layer by layer, check the supports, infill and plate adhesion structure:
    PreviewTab

3D printer | Ultimaker S5

  • Insert USB stick:
    InsertUSB

  • Select from USB:
    SelectFromUSB

  • Select file to print.

  • In this window it shows a preview like the one we can watch in the Prepare tab on Ultimaker Cura (without supporting structures), and also indicates the printing time, material and filament length for this print. Start print.

  • Preparing to print. During this time (about 6mins in this printer model) it heats up the plate and the nozzles, and calibrates the plate level.

  • It starts printing.

    Recommendation: after the print finishes wait a couple of minutes for the plate to cool down and then removing the piece will be easier.

  • Print finished:
    PrintFinished

Post process

  • Removing Adhesion and Support building (also known as helpers).
  • Optionally, if a very smooth and nice result is desired, we can apply an epoxy resin coat.

Test piece

The recommendation for every fabrication technique is making a testing piece beforehand, in this case we want to know the “design rules for our printer”.

For this task I have used the All In One 3D printer test model by Marián Trpkoš that includes Overhang, Bridging, Hole and Diameter tests:

TestPiece1
I used the default parameters of the Fast printing profile:
- Supports = Disabled
- Layer height = 0.2mm
- Build plate adhesion = Brim
- Infill = 15% triangles.
- Infill speed = 70mm/s
- Wall speed = 55mm/s

Resulting piece:

The 3D printer I used during this assignment was the Ultimaker S5, with a AA0.4 (0.4mm) nozzle and 2.85mm generic PLA filament:
Test1
Test2
Test3

Conclusions:

From this piece we can take note of various aspects for both model design and slicer parameters; some of them are known at first glance, others have to be measured. The most important that I can mention are:

  • Printing tolerance = 0.25mm, it means that the printed walls of the piece are 0.25mm wider than the ones in the 3D model, . It can be fixed either editing the crucial measurements in the 3D model or simply using a negative Horizontal expansion in Cura:
    Tolerance

  • The minimum angle of overhang for which add support ≈ 45°:
    Support

  • The longest bridge that can be printed without starting to collapse = 20mm.

  • It was remarkable that horizontal text at this size doesn’t work that well 😅, it wasn’t readable.

  • Sharp vertical positive edges are practically impossible to get, the printer in an attempt to complete the form, will add extra material. A recommendation for it would be to fillet the edges of the 3D model to at least the radius of the nozzle:
    Edge

In general terms, the parameters of the printing profile used work fairly well if we want to print a first test/prototype/draft.

Assignment outlook

For some inspiration or 3D models already designed, you can check these pages:
- TraceParts
- GrabCAD
- Thingiverse

Even when I already have experience on 3D printing before, I have experimented new things:

  • Using a different filament for the supports (PVS in this case) as I made for the Turner cube and the Sierpiński triangle.
    It was really a nightmare because of the printer was complaining about the material and the printing was stopping like every 10-15mins. I still have no idea if the Ultimaker S5 doesn’t like this filament in general (even when the filament was also Ultimaker 😅), or if it’s a problem of the firmware (6.3.0 at this moment); I discard a problem on this printer itself cause I tried with another Ultimaker S5 and had the same problem.
    FilamentProblem
    In the case that your 3D printer works fine with this material, you don’t actually need any special machine to remove this material; it is water soluble so you just need to soak it for some hours removing at the beginning as much material as you can with pliers or something else 🤷🏽‍♂️.

  • Using the Tree type support as I made with Me:
    Me
    Something that catches my attention is that… since it’s like a balloon structure (I mean that it has no infill), it needs a bit less filament, takes less time and the best part… it doesn’t damage other your printing when removing it. I love it!

Files and references

- SierpinskiTriangle.scad
- TurnerCube.f3d

- MINI All In One 3D printer test

The files of 3D scanning resulted very very big to be uploaded to the repository.


Last update: June 17, 2021