This article was originally published on Makefast Workshop's blog. Check out the original article here.
Note: If you just want to make some midair springs, skip ahead to the G-code generator.
Most 3D printable parts are designed to limit overhangs to 45 degrees or less. That's because maker-style 3D printers (technically FDM) build each layer from the bottom up, fusing the current layer onto the previous, and if there's nothing below a layer, the plastic will sag (or worse yet, form a glob and potentially ruin your part).
To get around the overhang limit, parts are often significantly modified (with chamfers to reduce overhangs) or support material is used to hold up sections that extend too far. But neither approach works all the time; sometimes you can't chamfer away the overhangs and/or rely on support material to bail you out.
Have you ever noticed that at the end of a print there's sometimes a small thread of plastic that seems to follow the exact path of the extruder after it finishes printing? This is often caused by a little extra filament continuing to flow/ooze as the print head pulls away. The plastic is thin enough to cool as it moves, tracing out the path in midair.
While those little threads aren't likely to be very useful, we wondered if we could apply that same approach to purposely trace out a 3D contour.
Note that this isn't something most STL/G-code slicers are going to do for you (yet). Slicers are focused on fusing layers together to create solid parts or shells and don't typically try to extrude filament in midair (with the exception of bridges that are supported on two sides).
We figured an extreme test of printing in midair would be to print a coil spring (specifically a helical compression spring).
Besides some high-end research using metal and lasers and a few one-off demos, midair printing seems rather underexplored -- the perfect opportunity to get hacking!
After a few quick refreshers on generating custom G-code, we made a short javascript function that traces out the desired 3D path, setting temperature, feedrate, fan speed, etc. along the way.
It took several iterations to dial in the parameters and sort out what worked/failed. Eventually we were able to consistently produce springs of various sizes and shapes.
The spring constant is admittedly tiny (i.e. it pushes back very lightly), but it's by far the springiest print we've ever made (incredibly smooth, consistent, and doesn't show any major signs of fatigue after lots of squeezes). And since the coil itself is a single strand, there's no worry of delamination along the coil (as is the case with most 3D printed springs).
Go with the flow.
The ideal extrusion flowrate should be pretty close to 1:1 for the distance traveled.
Not extruding enough material pulls on the part, deforms it, and sometimes gets too thin or breaks. Extruding too much material causes uncontrollable ripples, sags, or globs if it collides with previous layers.
Move slooooowly and evenly.
Plastic takes a significant amount of time to cool (even with the fans on) and that means the print head must move slowly to allow time for the plastic to harden in midair as it goes.
Many plastics also ooze differently as the feedrate and temperature change, so once the midair section is started (or even slightly before), keep things steady.
To give a sense for the time scale, each of the springs shown above took between 3-7 minutes to print (the first few layers are quick, then the midair coils move much more slowly).
Bubbles Break Things.
New filament should be dry and unlikely to bubble, but older filaments can have moisture trapped in the plastic that boils and sputters as it gets heated (causing uneven flowrate and weak sections).
When printing solid parts, small bubbles are usually just a cosmetic concern since other layers can share the load. But with midair printing which leverages a single continuous strand of filament, weak spots caused by bubbles can cause the part to fail.
Compensate for the extruder's pull.
As the filament is extruded, it tugs slightly on the existing cooled strand. Near the bottom where the part is well supported this has very little impact, but as the part grows taller the force displaces the strand more (think of it as a vertical end-loaded cantilever beam, with a growing lever arm as the print proceeds).
This means that the gGcode for a cylindrical coil spring actually flares out slightly near the top to produce a spring that is straight when completed.
Note that fully modeling the extruder's pull (or even push in the case of over-extruding) is tricky. Prints that only stretch out into midair briefly probably don't need to compensate much, but others (like very tall springs) require it to produce accurate parts.
Note: To view and experiment with the generator, visit the original article here.
Create a Core77 Account
Already have an account? Sign In
By creating a Core77 account you confirm that you accept the Terms of Use
Please enter your email and we will send an email to reset your password.