OpenSCAD 3D Printed Spring

OpenSCAD spring design by @rasterweb

“I’m trying to come up with a good way of creating this in OpenSCAD… I have something using a bunch of hull’d cylinders but I’m wondering if there is a better/easier way to do it.” @rasterweb

A friend posted a design pondering whether there was a better way to design an object in OpenSCAD.  As so often happens when I approach a 3D design, one solution pops up in my head… and is immediately discarded as garbage.  That first thought was to create a negative of the interior of the spring, then iterate along the length of a stretched cube.

In the end, I opted for1 creating a flat version of a single “loop”, made from differenced hulled circles, repeated over the number of desired loops, then trimming alternating ends (so it wouldn’t look like a chain).

OpenSCAD spring by MakerBlock

OpenSCAD spring by MakerBlock

Here’s the OpenSCAD code to produce this spring:2

//  Settings
    $fn = pow(2,6);
//  Spring Dimensions
    springH     = 5;
    springOD    = 10;
    springW     = springOD*2;
    springOR    = springOD/2;
    springTh    = 2;
    springIR    = springOR-springTh;
    loops       = 8;

    spring();

module spring()
    {
    linear_extrude(height=springH, center=false)
    for (i=[0:loops])
        {
        translate([0,(springOD-springTh)*i,0])
            difference()
                {
                spring_loop();
                translate([-springOR+(springW+springOD)*(i%2),0,0]) 
                    square(springOD, center=true);
                }
        }
    }
    
module spring_loop()
    {
    difference()
        {
        hull()
            {
            circle(r=springOR);
            translate([springW,0,0])
                circle(r=springOR);
            }
        hull()
            {
            circle(r=springIR);
            translate([springW,0,0])
                circle(r=springIR);
            }
        }
    }

Some notes about my OpenSCAD style:

  • I like to use OD/ID/OR/IR to mean outer diameter, inner diameter, outer radius, inner radius.
  • I think the “spring_loop” module could be simplified slightly by calling another module which creates each hulled circle, but weighing the additional module code against just retyping a little code I opted for what got it done faster.
  • I like to specify the facets on circular objects right at the top of the file. This way, I can adjust the smoothness of the object by just changing just the exponent part of the $fn system variable.
  • Reasonably parametric. There’s some additional further optimization that could be done in the spring alternate end clipping.

Can’t wait to see what @rasterweb makes with a 3D printed spring!

  1. And, please forgive the inside-baseball / OpenSCAD-speak []
  2. To display the code above I had to use the WordPress block editor. 🤮 []

RepRap Parts for Sale [Draft 04/07/2010]

[Yep.  This was the whole blog post.  I don’t know what happened to that set of parts, if I sold them, gave them away, or what.  I hope I gave them away.]

I’ve made all of one Mendel part.

Drafts Zero - The Lost Blog Posts

  1. The Lost Blog Posts
  2. Plastruder! [Draft 12/25/2009]
  3. UNTITLED [Draft 12/25/2009]
  4. Preparing to print [Draft 12/27/2009]
  5. More prints [Draft 01/04/2010]
  6. Prototype Pricing [Draft 01/19/2010]
  7. MakerBot tuning [Draft 01/20/2010]
  8. Plastic Screw Anchor [Draft 02/02/2010]
  9. Magic [Draft 02/03/2010]
  10. How are you printing with PLA? [Draft 02/16/2010]
  11. Rebuilding my extruder [Draft 02/16/2010]
  12. MY robot [Draft 02/18/2010]
  13. more things i learned [Draft 02/20/2010]
  14. First commissioned piece! [Draft 02/22/2010]
  15. MakerBot: Toy or Tool? [02/25/2010]
  16. Idea for Skeinforge settings… [Draft 03/27/2010]
  17. RepRap and MakerBot alternatives [Draft 04/05/2010]
  18. RepRap Parts for Sale [Draft 04/07/2010]

RepRap and MakerBot alternatives [Draft 04/05/2010]

[Holy cow.  Can you imagine a time when a person could singlehandedly have made a comprehensive list of all open source 3D printers in an afternoon?]

Here’s a list of all of the RepRap, RepStrap, and MakerBot open source 3d plastic FDM 3d printers I can find.  When possible I’ve tried to link to the official site, helpful derivative sites, instructions, and parts.  I’ve also included some notes.

  1. RepRap – The ultimate in DIY personal fabrication technology.  Source everything yourself and put it together!
    1. Mendel –
      1. parts on ebay
      2. bearings – http://www.vxb.com/page/bearings/PROD/kit9060
  2. Darwin –
    1. Ponoko Darwin Acrylic lasercut parts – http://www.ponoko.com/showroom/reprap/free-acrylic-reprap-v1-1–2083
  3. Mini-Mendel
  4. Isaac Mendel http://isaac-mendel.blogspot.com/
  5. Fab@Home
  6. MakerBot –
  7. McWire – http://reprap.org/wiki/McWire_Cartesian_Bot_1_2#This_project_is_no_longer_actively_developed.___For_newer_mcwire_info.2C_please_see_http:.2F.2Fobjects.reprap.org.2Fwiki.2FDevelopment:McWire
  8. ShaperCube –
    1. http://wiki.shapercube.com/wagn/Shapercube_Assembly
  9. Profound Devices –
    1. http://www.profounddevices.com/
  10. RepMan –
    1. http://www.bitsfrombytes.com/index.php?page=shop.product_details&product_id=168&category_id=5&flypage=flypage-ask.tpl&option=com_virtuemart&Itemid=100005
  11. Tommilese –

Drafts Zero - The Lost Blog Posts

  1. The Lost Blog Posts
  2. Plastruder! [Draft 12/25/2009]
  3. UNTITLED [Draft 12/25/2009]
  4. Preparing to print [Draft 12/27/2009]
  5. More prints [Draft 01/04/2010]
  6. Prototype Pricing [Draft 01/19/2010]
  7. MakerBot tuning [Draft 01/20/2010]
  8. Plastic Screw Anchor [Draft 02/02/2010]
  9. Magic [Draft 02/03/2010]
  10. How are you printing with PLA? [Draft 02/16/2010]
  11. Rebuilding my extruder [Draft 02/16/2010]
  12. MY robot [Draft 02/18/2010]
  13. more things i learned [Draft 02/20/2010]
  14. First commissioned piece! [Draft 02/22/2010]
  15. MakerBot: Toy or Tool? [02/25/2010]
  16. Idea for Skeinforge settings… [Draft 03/27/2010]
  17. RepRap and MakerBot alternatives [Draft 04/05/2010]
  18. RepRap Parts for Sale [Draft 04/07/2010]

Idea for Skeinforge settings… [Draft 03/27/2010]

Dialing in Skeinforge settings and calibrating a MakerBot can be a frustrating and time consuming process.  I’m always tempted to just start tweaking settings and start printing.  Part of the reason I’m impatient is that making a change to Skeinforge, printing a test, noting observations, and LRR1 is SOOOOoooo incredibly boring next to the magic of watching things materialize inside a MakerBot.

Now, I don’t want to it sound like I’m down on Skeinforge.  It’s an incredible piece of software that does some amazing things.  However, the dozens of identically sounding settings put me in the mind set of deer and headlights.

Drafts Zero - The Lost Blog Posts

  1. The Lost Blog Posts
  2. Plastruder! [Draft 12/25/2009]
  3. UNTITLED [Draft 12/25/2009]
  4. Preparing to print [Draft 12/27/2009]
  5. More prints [Draft 01/04/2010]
  6. Prototype Pricing [Draft 01/19/2010]
  7. MakerBot tuning [Draft 01/20/2010]
  8. Plastic Screw Anchor [Draft 02/02/2010]
  9. Magic [Draft 02/03/2010]
  10. How are you printing with PLA? [Draft 02/16/2010]
  11. Rebuilding my extruder [Draft 02/16/2010]
  12. MY robot [Draft 02/18/2010]
  13. more things i learned [Draft 02/20/2010]
  14. First commissioned piece! [Draft 02/22/2010]
  15. MakerBot: Toy or Tool? [02/25/2010]
  16. Idea for Skeinforge settings… [Draft 03/27/2010]
  17. RepRap and MakerBot alternatives [Draft 04/05/2010]
  18. RepRap Parts for Sale [Draft 04/07/2010]

  1. Lather, rinse, repeat []

MakerBot: Toy or Tool? [02/25/2010]

or this post could be titled …  “Open source intern tells all!”1

A review of the MakerBot Industries Cupcake CNC today from a former MakerBot intern discusses the MakerBot’s use as a tool.  Some of the comments bring to suggest its usage as an expensive toy.  I’ve used my MakerBot as a tool to print tools and as a tool to print toys.  I suppose at the point I’m using it to print up toys I’m really using as a toy.

I’m fairly confident my MakerBot will pay for itself.  That’s not a claim most people can make about their toys.  I have printed replacement parts for toys, broken parts around the house, and broken tools – thereby saving me those replacement costs.  This probably doesn’t amount to more than $20 or so.  That’s not a great return on an investment, but it is returning

Drafts Zero - The Lost Blog Posts

  1. The Lost Blog Posts
  2. Plastruder! [Draft 12/25/2009]
  3. UNTITLED [Draft 12/25/2009]
  4. Preparing to print [Draft 12/27/2009]
  5. More prints [Draft 01/04/2010]
  6. Prototype Pricing [Draft 01/19/2010]
  7. MakerBot tuning [Draft 01/20/2010]
  8. Plastic Screw Anchor [Draft 02/02/2010]
  9. Magic [Draft 02/03/2010]
  10. How are you printing with PLA? [Draft 02/16/2010]
  11. Rebuilding my extruder [Draft 02/16/2010]
  12. MY robot [Draft 02/18/2010]
  13. more things i learned [Draft 02/20/2010]
  14. First commissioned piece! [Draft 02/22/2010]
  15. MakerBot: Toy or Tool? [02/25/2010]
  16. Idea for Skeinforge settings… [Draft 03/27/2010]
  17. RepRap and MakerBot alternatives [Draft 04/05/2010]
  18. RepRap Parts for Sale [Draft 04/07/2010]

  1. …  ’cause, you know, it was all… open source. []

First commissioned piece! [Draft 02/22/2010]

[That’s it.  Just the title.  I have no idea what this piece may have been, how much I was paid, or how long it took!  I was just excited that my little 3D printer was making a little bit of money and started to share it with the world…  before sitting in my drafts folder for … more than 15 years]

Drafts Zero - The Lost Blog Posts

  1. The Lost Blog Posts
  2. Plastruder! [Draft 12/25/2009]
  3. UNTITLED [Draft 12/25/2009]
  4. Preparing to print [Draft 12/27/2009]
  5. More prints [Draft 01/04/2010]
  6. Prototype Pricing [Draft 01/19/2010]
  7. MakerBot tuning [Draft 01/20/2010]
  8. Plastic Screw Anchor [Draft 02/02/2010]
  9. Magic [Draft 02/03/2010]
  10. How are you printing with PLA? [Draft 02/16/2010]
  11. Rebuilding my extruder [Draft 02/16/2010]
  12. MY robot [Draft 02/18/2010]
  13. more things i learned [Draft 02/20/2010]
  14. First commissioned piece! [Draft 02/22/2010]
  15. MakerBot: Toy or Tool? [02/25/2010]
  16. Idea for Skeinforge settings… [Draft 03/27/2010]
  17. RepRap and MakerBot alternatives [Draft 04/05/2010]
  18. RepRap Parts for Sale [Draft 04/07/2010]

more things i learned [Draft 02/20/2010]

  • put screws through the opto endstops first – to make sure they’ll go through
  • put the hex key through the body in order to line up the spacers
  • not all spacers are the same size
  • the heads that bite into the ribbon cable are difficult to clamp on
  • Adjust the y tension pulley as best as you can before installation of the caps
  • clipping the heads off of ethernet cables is very satisfying

Drafts Zero - The Lost Blog Posts

  1. The Lost Blog Posts
  2. Plastruder! [Draft 12/25/2009]
  3. UNTITLED [Draft 12/25/2009]
  4. Preparing to print [Draft 12/27/2009]
  5. More prints [Draft 01/04/2010]
  6. Prototype Pricing [Draft 01/19/2010]
  7. MakerBot tuning [Draft 01/20/2010]
  8. Plastic Screw Anchor [Draft 02/02/2010]
  9. Magic [Draft 02/03/2010]
  10. How are you printing with PLA? [Draft 02/16/2010]
  11. Rebuilding my extruder [Draft 02/16/2010]
  12. MY robot [Draft 02/18/2010]
  13. more things i learned [Draft 02/20/2010]
  14. First commissioned piece! [Draft 02/22/2010]
  15. MakerBot: Toy or Tool? [02/25/2010]
  16. Idea for Skeinforge settings… [Draft 03/27/2010]
  17. RepRap and MakerBot alternatives [Draft 04/05/2010]
  18. RepRap Parts for Sale [Draft 04/07/2010]

MY robot [Draft 02/18/2010]

There really is something special about having built this robot for myself.  I know it pretty well how it works and why certain design and engineering decisions were made.

I’ve also modified and customized this robot as I’ve used it.  I’ve moved the extruder board, rotated the motherboard to give me better access to the SD card, drilled a few holes in the sides, yanked out the opto-endstops, extended the wires running to the extruder motor, thermistor, and nichrome.  I’ve even designed a few minor printable upgrades.

When my extruder stopped working (twice) I just took it apart.  I know I’m not going to break it as I do so.  And, hell, if I do break it I’ll just fix it.

Drafts Zero - The Lost Blog Posts

  1. The Lost Blog Posts
  2. Plastruder! [Draft 12/25/2009]
  3. UNTITLED [Draft 12/25/2009]
  4. Preparing to print [Draft 12/27/2009]
  5. More prints [Draft 01/04/2010]
  6. Prototype Pricing [Draft 01/19/2010]
  7. MakerBot tuning [Draft 01/20/2010]
  8. Plastic Screw Anchor [Draft 02/02/2010]
  9. Magic [Draft 02/03/2010]
  10. How are you printing with PLA? [Draft 02/16/2010]
  11. Rebuilding my extruder [Draft 02/16/2010]
  12. MY robot [Draft 02/18/2010]
  13. more things i learned [Draft 02/20/2010]
  14. First commissioned piece! [Draft 02/22/2010]
  15. MakerBot: Toy or Tool? [02/25/2010]
  16. Idea for Skeinforge settings… [Draft 03/27/2010]
  17. RepRap and MakerBot alternatives [Draft 04/05/2010]
  18. RepRap Parts for Sale [Draft 04/07/2010]

Rebuilding my extruder [Draft 02/16/2010]

[I put down the title and then did nothing.  :)  I suspect the other adjacent draft about printing with PLA was related to the need to re-re-re-build my extruder.  The way extruders were built back then didn’t involve careful machining of custom nozzles and shaped channels for the plastic to flow.  Instead, the PTFE tube went into the extruder and you kinda hoped for the best.  If you had heat creep, didn’t cool down properly, etc, you had to disassemble everything and rebuild it all.  But, such was the course of the hobbyist 3D printer enthusiast in the winter of 2010!]

Drafts Zero - The Lost Blog Posts

  1. The Lost Blog Posts
  2. Plastruder! [Draft 12/25/2009]
  3. UNTITLED [Draft 12/25/2009]
  4. Preparing to print [Draft 12/27/2009]
  5. More prints [Draft 01/04/2010]
  6. Prototype Pricing [Draft 01/19/2010]
  7. MakerBot tuning [Draft 01/20/2010]
  8. Plastic Screw Anchor [Draft 02/02/2010]
  9. Magic [Draft 02/03/2010]
  10. How are you printing with PLA? [Draft 02/16/2010]
  11. Rebuilding my extruder [Draft 02/16/2010]
  12. MY robot [Draft 02/18/2010]
  13. more things i learned [Draft 02/20/2010]
  14. First commissioned piece! [Draft 02/22/2010]
  15. MakerBot: Toy or Tool? [02/25/2010]
  16. Idea for Skeinforge settings… [Draft 03/27/2010]
  17. RepRap and MakerBot alternatives [Draft 04/05/2010]
  18. RepRap Parts for Sale [Draft 04/07/2010]

How are you printing with PLA? [Draft 02/16/2010]

[There were two drafts with this title, one empty, and one with the single sentence below unfinished.  Up until about January of 2010 I was printing in ABS which smelled bad and warped like crazy.  But, it did print.  When I started printing with PLA I found it difficult to work with, temperamental, wouldn’t melt or it would and then clog the extruder.  I think at some point I suggested that PLA was only suitable for printing tears.  Obviously, printers, PLA, and my maturity have come a long way since.]

I’d like to know, I really would.

Drafts Zero - The Lost Blog Posts

  1. The Lost Blog Posts
  2. Plastruder! [Draft 12/25/2009]
  3. UNTITLED [Draft 12/25/2009]
  4. Preparing to print [Draft 12/27/2009]
  5. More prints [Draft 01/04/2010]
  6. Prototype Pricing [Draft 01/19/2010]
  7. MakerBot tuning [Draft 01/20/2010]
  8. Plastic Screw Anchor [Draft 02/02/2010]
  9. Magic [Draft 02/03/2010]
  10. How are you printing with PLA? [Draft 02/16/2010]
  11. Rebuilding my extruder [Draft 02/16/2010]
  12. MY robot [Draft 02/18/2010]
  13. more things i learned [Draft 02/20/2010]
  14. First commissioned piece! [Draft 02/22/2010]
  15. MakerBot: Toy or Tool? [02/25/2010]
  16. Idea for Skeinforge settings… [Draft 03/27/2010]
  17. RepRap and MakerBot alternatives [Draft 04/05/2010]
  18. RepRap Parts for Sale [Draft 04/07/2010]