Category Archives: 3D Printing

You’re Probably Doing 3D Printing Tolerancing Wrong. Here’s a Better Way.

Do you use 3D printing to make functional parts? Do your printed parts have slight dimensional errors, such as undersized holes? It is essential to take care of this if you use your FDM 3D printer to make precise or functional parts. Here’s the easiest and most elegant fix, using nothing but your slicer and a caliper.

Because the extruded molten plastic gets squashed by the nozzle and also flows outward toward the sides, everything you print is fattened, creating overall oversized prints and undersized holes.

Fortunately, there are ways to fix this flaw. First, I would recommend against these methods, if you currently use them:

Bad methods
  • Compensating by slightly changing the values in CAD: this is cumbersome if you use different printers or have collaborators, and problematic if you work with assemblies in CAD.
  • Changing the size in the slicer: FDM 3D printers generally have undersized ID and oversized OD, so enlarging or shrinking the size is bound to reduce one problem while worsening the other.

The Elegant Way: Horizontal Expansion

Continue reading

Wanhao i3 0.9° Extruder Motor Mod

My Wanhao i3 (Monoprice Maker Select V2) has the Flexion Extruder upgrade, but I still wanted more extruder torque (trouble pushing through 0.3mm nozzle), so I changed the extruder motor to a longer 17HM15-0904S stepper motor. Why would I use a stepper motor with a step angle of 0.9 degrees as the extruder? I simply had it lying around waiting to be used for an ongoing custom printer project.

Continue reading

Super-Efficient Start G-Code for Wanhao i3

Here’s the most time-efficient start G-code I’ve come up with so far.

  • The bed and nozzle heat up at the same time, but the bed has a 50°C head start so that they reach target temperature at around the same time.
    • (The Wanhao Duplicator i3’s power supply handles this just fine.)
    • I use 220°C nozzle and 70°C bed for my PLA initial layers. You can change that S50 to something else to fit your temperature settings.
  • The axes are homed during heating.
  • This way, no time at all is wasted and the print starts the fastest.
  • Use a skirt because this start G-code does not include its own nozzle priming.
M190 S50 ;wait for 50C bed temp
M107 ;start with the fan off
M104 S{material_print_temperature_layer_0} ;set extruder temp
M140 S{material_bed_temperature_layer_0} ;set bed temp
G21 ;metric values
G90 ;absolute positioning
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
G92 E0 ;zero the extruded length
M109 ;wait for extruder temp
M190 ;wait for bed temp

This G-code is written for the Wanhao i3, in the Repetier flavor, but you can probably use it with little to no modification on other systems. If you know how to use a subtract operator on that “material_bed_temperature_layer_0”, please show us how in the comments. Thanks!

Changelog:

Aug 11, 2017: Added the zero extruder command that I forgot earlier.