• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
springs and springmaker - OpenSCAD library 3D Printer File Image 1
springs and springmaker - OpenSCAD library 3D Printer File Image 2
springs and springmaker - OpenSCAD library 3D Printer File Image 3
springs and springmaker - OpenSCAD library 3D Printer File Image 4
springs and springmaker - OpenSCAD library 3D Printer File Image 5
springs and springmaker - OpenSCAD library 3D Printer File Image 6
springs and springmaker - OpenSCAD library 3D Printer File Image 7
springs and springmaker - OpenSCAD library 3D Printer File Image 8
springs and springmaker - OpenSCAD library 3D Printer File Image 9
springs and springmaker - OpenSCAD library 3D Printer File Thumbnail 1
springs and springmaker - OpenSCAD library 3D Printer File Thumbnail 2
springs and springmaker - OpenSCAD library 3D Printer File Thumbnail 3
springs and springmaker - OpenSCAD library 3D Printer File Thumbnail 4
springs and springmaker - OpenSCAD library 3D Printer File Thumbnail 5
springs and springmaker - OpenSCAD library 3D Printer File Thumbnail 6
springs and springmaker - OpenSCAD library 3D Printer File Thumbnail 7
springs and springmaker - OpenSCAD library 3D Printer File Thumbnail 8
springs and springmaker - OpenSCAD library 3D Printer File Thumbnail 9

springs and springmaker - OpenSCAD library

Parkinbot avatarParkinbot

December 1, 2018

thingiverse-icon
DescriptionCommentsTags

Description

###Inventors need springs!
I posted a first OpenSCAD library - Springs, helicoils, elliptic rings some years ago, but it renders quite slow, as the implementation is based on a programming technique that uses a union of slices along a trajectory - and a large number of unions can take hours in OpenSCAD.

Looking around in thingiverse I found this wonderful idea for a Device to produce PLA springs. Unfortunately I couldn't find any OpenSCAD code in this post. So I dug out my own sweep library and implemented a fast rendering springs and springmaker library. As shown in the pictures section, it supports different spring types: cylindric, conical and flat springs, with and without loops at the ends, and with circular, rectangular or quadratic cross-section. By means of a single difference operation with a cylinder or cone, one gets a spring maker device, just like the mentioned wonderful device.

The library is quite concise, but offers a help module that outputs some help text with the modules' calling conventions and defaults as well as some usage examples to the console. The main module spring() has this parameters and default values:

spring(r=5, R=40, windings=5, H=150, center = true, R1 = undef, 
       start=false, end=false, ends=undef, w = undef, h=undef)

with r, w, h denoting the radius (respectively the width and height) of the cross-section, R and R1 the spring radii, and H the full height. start, end, ends are flags that control whether the code adds a loop at one or both ends of the spring.

The springs.scad library itself refers to the Naca_sweep library explained here. To use it you must download the two *.scad files from the download section into your library folder or current project folder and add a use command for springs.scad at the beginning of your program.

use <springs.scad>; 
// spring with default values 
    spring();

// rect spring
   spring(R1=100, w = 20,  h=10); 

// quadratic spring reversed
   spring(w=10, H=100, reverse=true); 

// negative height, partial windings allowed, ring at start added 
   spring(windings = 2.5, H=-50, center = false, start=true);   

// conical spring
   spring(windings = 5.5, R = 30, R1=100, ends=true); 

// ** error ** this radius causes self intersection
   spring(r=15);  

// flat spring
   spring(H=0, R=100, R1 = 10); 

// flat rect spring
   spring(H=0, R=70, R1=10, w=2, h=10); 

// flat quadratic spring ccw
   spring(H=0, R=100, R1=10, w=8); 

// flat quadratic spring cw
   spring(H=0, R=10, R1=100, w=8); 

// device to roll your own springs
   springmaker(r=3, R=20, R1=40, h=50, ends =true); 

License:

Creative Commons - Attribution - Non-Commercial

Related Models

Conical Spring Thing preview image

Conical Spring Thing

GregSpilman profile image

GregSpilman

73

Printable Spring Configurator preview image

Printable Spring Configurator

piodeer profile image

piodeer

3,287

No Support Needed Octagonal Compression Spring preview image

No Support Needed Octagonal Compression Spring

nokiri profile image

nokiri

393

Compression Spring Generator (Parametric) preview image

Compression Spring Generator (Parametric)

Farmand profile image

Farmand

326