OpenScad library. Threads for screws and nuts V1 by Cuiso 3d model
Warning. This content is not moderated and could be offensive.
m4
3dmdb logo
Thingiverse
OpenScad library. Threads for screws and nuts V1 by Cuiso

OpenScad library. Threads for screws and nuts V1 by Cuiso

by Thingiverse
Last crawled date: 3 years, 1 month ago
This is an OpenSCAD library to include threads for screws and nuts in your own designs.
This library is focused to provide simple functions with preset parameters by default,
and not to be too demanding in CPU consumption neither in previsualizacion nor in rendering
This library has been tested printing on PLA with 0.1 layer. Except for smaller diameter
threads layers greater than 0.1 should work well.
Diamaters tested between 3mm and 10mm, but you can use any diameter of your choice.
Shape of the threads are similar (but not equal) to ISO METRIC threads.
Some tests have been done using screws and nuts printed with this library in
combination with screws and nuts of metal with acceptable results. However, they have
not been exhaustive tests.
Included:
Library file named threads-library-by-cuiso-v1.scad
A file with examples of use named examples.scad
For use this library you can put the file threads-library-by-cuiso-v1.scad in the same directory of your proyect and put the line use in your own .scad file
You can also open it in customizer to obtain a screw and / or nut thread of the desired size that you can include in your own designs.
AVAILABLE FUNCTIONS:
BASIC FUNCTIONS (USING PREDEFINED PARAMETERS):
thread_for_screw(diameter, length);
Generates a screw thread of the diameter indicated by the "diameter" parameter and of the length indicated by "length".
This function uses standard pitch values depending on the diameter specified.
diameter: Free value, in milimeters.
length: Free value, in milimeters.
Example:
thread_for_screw(diameter=10, length=30);
thread_for_nut(diameter, length, usrclearance=0);
Generates a nut thread of the diameter indicated by the "diameter" parameter and of the length indicated by "length".
This function uses standard pitch values depending on the diameter specified.
The generated thread can be subtracted from any element of your design using the operator "difference()", thus obtaining a thread where a screw will fit.
This function uses standard clearance for adjustment between screw and nut depending on the diameter specified.
diameter: Free value, in milimeters.
length: Free value, in milimeters.
usrclearance: (optional) If the screw fits too tight on the nut you can specify a positive correction value (try 0.1 for example).
If the screw fits too loose in the nut you can specify a negative correction value (try -0.1 for example).
Example:
thread_for_nut(diameter=10, length=20);
MORE AVAILABLE FUNCTIONS (WITH ADDITIONAL PARAMETERS):
thread_for_screw_fullparm(diameter, length, pitch, divs=50);
Generates a screw thread of the diameter indicated by the "diameter" parameter and of the length indicated by "length",
with pitch indicated by "pitch", and a resolution indicated by "divs".
This function allows you to specify a non-standard "pitch" value.
diameter: Free value, in milimeters.
length: Free value, in milimeters.
pitch: Pitch value.
divs: (optional) you can obtain more or less resolution with parm. Higher values for more resolution (and more rendering time). Default value is 50.
Example:
thread_for_screw_fullparm(diameter=10, length=30, pitch=2, divs=60);
thread_for_nut_fullparm(diameter, length, usrclearance=0, pitch, divs=50, entry=1);
Generates a nut thread with additional parameters:
diameter: Free value, in milimeters.
length: Free value, in milimeters.
usrclearance: (optional) If the screw fits too tight on the nut you can specify a positive correction value (try 0.1 for example).
If the screw fits too loose in the nut you can specify a negative correction value (try -0.1 for example).
pitch: Pitch value.
divs: (optional) you can obtain more or less resolution with parm. Higher values for more
resolution (and more rendering time). Default value is 50.
entry: (optional) By default, the nut threads include a wider entrance area at the beginning and end to facilitate the introduction of the screw and minimize "elephant foot" problems.
Specify 1 in entry to use these zones and 0 to not use them.
Example:
thread_for_nut_fullparm(diameter=10,length=20,usrclearance=0.1,pitch=1.5,divs=60, entry=1);
More details into library file.
This library has been useful for me, I hope it can be useful for you too.
Change log:
-> 03/10/2018 Changed documentation of function thread_for_nut(diameter, length, usrclearance=0) (documentation now includes parameter usrclearance)
-> 23/08/2019:
-Fixed bug. Using fullparms functions with "divs" no divider of 360 (200 for example) the thread could be incomplete. Now you can use any number of "divs" without problem. Thanks to user Jedi_Knyghte for this.
-A small improvement. Now the diameter reductions at the beginning of the screw for easy entry are created with the same level of detail as the rest of the screw.
(Note: For some reason, if you use "DOWNLOAD ALL FILES" only download the old version, however if the file "threads-library-by-cuiso-v1.scad" is downloaded independently, download the latest version.).
-> 30/03/2021 Uploaded a new version, now compatible with OpenScad 2021.01.
Thanks for the notice davorl !!!

Tags