1 of 23

Advanced 3D Printing

2023-02-15

By Jesse Campbell

jcamp@gmx.com

jbcse.com

1

Presentation QR Code

2 of 23

Tool Chain Process

3D Model → Repair → Slice → G-code → G-code Host

2

3 of 23

Types of FDM 3D Printers

  • Standard (Cartesian)
  • Delta
  • Core XY

Extruder types:

  • Bowden
  • Direct drive

3

4 of 23

Places to find STL files

  • Thingiverse
  • Youmagine
  • Printables
  • Cults3d
  • Thangs

  • Pinshape
  • Zortrax
  • Artec3d
  • Stlfinder
  • Yeggi

4

5 of 23

Models

  • STL
    • Stereolithography format
      • Made of 3D Triangles
        • ASCII or Binary
        • A triangle is the simplest 2d/3d shape
  • Format of STL file:
    • 80 character comment
    • Lists number of total triangles
    • Each triangle has 4 values
      • 3 corners (x,y,z), and a “normal” vector (which points in a direction)�
  • File format defined here: https://docs.fileformat.com/cad/stl/

5

6 of 23

Example of ASCII (text) STL

Most simple 3d model (3-sided pyramid aka “tetrahedron”)

6

solid

facet normal 0.485071 0.840168 0.242536

outer loop

vertex -12.500000 21.650635 0.000000

vertex 0.000000 0.000000 50.000000

vertex 25.000000 0.000000 0.000000

endloop

endfacet

facet normal -0.970143 0.000000 0.242536

outer loop

vertex -12.500000 -21.650635 0.000000

vertex 0.000000 0.000000 50.000000

vertex -12.500000 21.650635 0.000000

endloop

endfacet

(continued →)

facet normal 0.485071 -0.840168 0.242536

outer loop

vertex 25.000000 0.000000 0.000000

vertex 0.000000 0.000000 50.000000

vertex -12.500000 -21.650635 0.000000

endloop

endfacet

facet normal 0.000000 0.000000 -1.000000

outer loop

vertex -12.500000 -21.650635 0.000000

vertex -12.500000 21.650635 0.000000

vertex 25.000000 0.000000 0.000000

endloop

endfacet

endsolid

Size: 825 bytes

7 of 23

Example of Binary (machine readable) STL

  • Easier to view/understand with a Hex Editor program like “HxD”
  • Each character is a value from 0 to 255 (byte) aka 0x00 to 0xFF
  • Convert between binary and 4-byte floating point: https://gregstoll.com/~gregstoll/floattohex/

7

Comment - 80 bytes (usually text)

#

of �Triangles

3x 4-byte floating point

Vector normal (x,y,z)

For Triangle #1 in Big-endian byte order

Triangle #1, Vertex #2, XYZ

Triangle #1,

Vertex #1,

XYZ

Triangle #1, Vertex #3, XYZ

Size: 284 bytes

8 of 23

STL Viewers

  • Windows 10 has built-in
    • “3D Viewer”
  • Windows Store has a slightly better STL viewer by Microsoft
  • Paint 3D (Windows 10 and 11)
    • Slow to import large 3d models
  • Autodesk MeshMixer
  • Autodesk Netfabb (old version is still free 7.4)
  • 3D-Tool-Free

8

9 of 23

STL Editors

  • Simplify number of triangles in a 3d model
  • Apply 3D effects like Voronoi
  • Make your own models:
    • From Code:
      • OpenSCAD
      • PyMesh (Python)
      • Meshlab
    • From GUI (Graphical User Interface):
      • Tinkercad
      • Autodesk Fusion 360
      • Autodesk MeshMixer
      • Blender
      • Meshlab
      • FreeCAD
    • Web-based:
      • OnShape

9

Demonstrate: Voronoi and Low-Poly in MeshMixer

10 of 23

How to export STL file �from OpenSCAD .scad file

  • Demo in OpenSCAD

10

11 of 23

STL Repair tools

  • Types of errors
    • Missing triangles (not watertight aka “manifold”)
    • Normal vector is in wrong direction
      • Note: Tested, works with slicer despite error

  • Programs
    • Netfabb
    • MeshMixer
    • 3D Builder (Microsoft store)�
  • Demo: Use Meshmixer to delete some triangles, export, then repair

11

12 of 23

Slicers (produce G-code)

  • Free/Paid Upgrade
    • Cura (by Ultimaker)
    • KISSlicer
    • Slic3r
      • PrusaSlicer
      • SuperSlicer
    • CraftUnique Craftware
    • IceSL (slow)
    • Kiri:Moto (Web-based)

  • Paid
    • Simplify3D
    • Makerbot Print
      • (free, for Makerbot only)

12

Poll: Which slicer(s) do you use?

13 of 23

Layer Height

  • Ideal layer height is 50% to 80% of the extrusion width�
  • Extrusion width is measured with a caliper�
  • For example,
    • 0.6mm nozzle with 0.64mm extrusion width
    • Layer height from 0.32mm (50%) to 0.51mm (80%)
    • You can try less or more, with possible success

13

14 of 23

G-code

  • Human-readable text
  • One command per line
  • Tells the printer what to do, not how to do it
  • Created for programming CNC milling machines
  • Similar printers styles can share g-code files

For example:

  • G28 ; home printer
  • G1 X100 Y100 Z0 ; move printer to 100mm, 100mm
  • G28 X0 ; Home the extruder away from the bed�@pause ; Pause the print

Demonstrate: reading a real g-code file in Repetier-Host

14

15 of 23

Editing G-code by Hand

Purposes?

  • Resume a print from the layer where it failed�
  • Change speed of your print: M220 S120 (increase by 20%)
    • Before or during the print�
  • Change flow of your print: M221 S120 (increases flow rate by 20%)
    • Before or during the print�
  • Merge several g-code files together
  • Add pauses using @pause at a certain layer
  • Add comments using “;” after gcode or on it’s own line (ex. prev. slide)

15

16 of 23

G-code Hosts

  • 3D Printer motherboard
    • Via a built-in display and SD card/USB flash drive (clunky)
  • Web-based
    • Octoprint via single-board PC, or a spare PC/laptop
  • PC-based
    • Repetier-Host
    • Pronterface Printrun

Normally communicates with 3d printer using Serial TTL

  • Just like Arduino and Arduino-compatibles)
    • Parity: none, Data Bits: 8, Stop Bits: 1, Hardware Flow Control: none, Baud: varies (see code)

16

17 of 23

Processing

  • Pre Processing
    • Filament can absorb moisture
    • Moisture can be removed by putting the filament into a food dehydrator

  • Post Processing 3d prints
    • PLA plastic can be reshaped in boiling water
    • ABS melts when exposed to acetone vapors
    • Lightly torching plastic roughens the surface, and makes paint stick
    • Better to smooth sharp edges with either a knife or a metal file
      • Sandpaper gets sand stuck in plastic

17

18 of 23

3D Printing Services

  • Shapeways
  • JLCPCB
  • Sculpteo
  • MakeXYZ
  • Craftcloud
  • Printelize
  • JawsTec
  • ProtoXYZ
  • FacFox
  • Treatstock

18

19 of 23

FAQ

Print won’t stick to the bed?

  • Increase temperature
  • Use a bed surface such as PEI sheet (Prusa sells textured PEI sheets)�

Print sticks too well to bed, difficult to remove?

  • Decrease temperature
  • Use hairspray or PVA glue on the bed
  • Use a metal pick or flat head screwdriver to pry on the bottom layers
  • Slide a razor blade underneath the edges to loosen print

Firmware: Operating system that tells the printer how to do what it does

  • Can usually be swapped, such as: Marlin, Repetier, Sprinter, etc.

19

20 of 23

FAQ

Drill your own nozzle?

  • Buy undrilled or 0.2mm nozzle, and drill using a dremel tool (with bench press accessory) and PCB drill bits. Hold the nozzle in the center with fun-tack

Clean your nozzle?

  • Use a torch and heat the nozzle until it starts to glow. Drop it into a cup of water to steam clean the debris. Don’t heat to red-hot, it can melt. Wear leather gloves, avoid fumes.

Where to sell my 3d prints, how much to charge?

  • Sell on Etsy.com, and calculate price using 3dpartprice.com
  • Shapeways.com Marketplace, they print and ship your design to the customer.

20

Demo: Etsy and Shapeways

21 of 23

Where to find help online?

  • Reprap.org Forums
  • Libera.chat IRC room
    • “#reprap”
    • “#openscad”
  • SeeMeCNC Forums
  • Youtube.com
  • BCCLS.org Digital Library
    • (Bergen County Cooperative Library System)

21

22 of 23

Et Cetera

How do I see file extensions on Windows?

  • Folder Options → �View Tab → �Advanced Settings → �Uncheck �“Hide extensions for known file types”
  • Extension comes last period in the �Filename, for example, print.stl and �print.gcode

22

23 of 23

End

  • Question or Comments?
  • Jesse Campbell
  • jcamp@gmx.com
  • jbcse.com

Made using Google Slides

Slide Theme: �“Hospital Capacity Surge Team”, SlidesGo.com

23

Presentation QR Code