- README.rst: nice images
- .gitignore
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
.DS_Store
|
||||||
|
*.xcf
|
||||||
|
.*.swp
|
||||||
|
design/THREAD_TABLE.csv
|
52
README.rst
@@ -17,13 +17,31 @@ Creating a thread is as simple as
|
|||||||
|
|
||||||
.. code-block:: OpenSCAD
|
.. code-block:: OpenSCAD
|
||||||
|
|
||||||
thread("G1/2-ext", turns=10, higbee_arc=20);
|
thread("G1/2-ext", turns=10);
|
||||||
|
|
||||||
to create a British Standard Pipe parallel external thread. Furthermore,
|
.. image:: docs/imgs/thread-G1o2-ext-10turns.png
|
||||||
threadlib allows for production tolerances by choosing thread dimensions well
|
:alt: bolt-in-nut logo
|
||||||
inside the ranges allowed by the norms.
|
|
||||||
|
to create a British Standard Pipe parallel external thread.
|
||||||
|
|
||||||
|
|
||||||
|
Why you may want to use threadlib
|
||||||
|
==================================
|
||||||
|
|
||||||
|
- really easy to use
|
||||||
|
- creates nice threads
|
||||||
|
- configurable higbee arc
|
||||||
|
- creates working threads (clearances are left for production tolerances)
|
||||||
|
- flexible:
|
||||||
|
- choose the $fn you need to fit the rest of your design
|
||||||
|
- let threadlib tell you the thread specs so you can do with them what *you*
|
||||||
|
want
|
||||||
|
- extensible: Add your own threads
|
||||||
|
- tried and tested in the real world: Um no, not yet. But with your help, it
|
||||||
|
will soon be.
|
||||||
|
|
||||||
|
|
||||||
|
===========================
|
||||||
Usage
|
Usage
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
@@ -31,20 +49,19 @@ To create a bolt (without head) with 5 turns of M4 thread:
|
|||||||
|
|
||||||
.. code-block:: OpenSCAD
|
.. code-block:: OpenSCAD
|
||||||
|
|
||||||
bolt("M4", turns=5);
|
bolt("M4", turns=5, higbee_arc=30);
|
||||||
|
|
||||||
.. image:: docs/imgs/bolt-M4.png
|
.. image:: docs/imgs/bolt-M4.png
|
||||||
:width: 30%
|
|
||||||
:alt: Bolt with M4 thread
|
:alt: Bolt with M4 thread
|
||||||
|
|
||||||
See these nice lead-in / lead-outs? Try a nut:
|
See these nice lead-in / lead-outs? Try a nut (this time using the default
|
||||||
|
argument for higbee_arc):
|
||||||
|
|
||||||
.. code-block:: OpenSCAD
|
.. code-block:: OpenSCAD
|
||||||
|
|
||||||
nut("M12x0.5", turns=10, Douter=40);
|
nut("M12x0.5", turns=10, Douter=16);
|
||||||
|
|
||||||
.. image:: docs/imgs/nut-M12x0.5.png
|
.. image:: docs/imgs/nut-M12x0.5.png
|
||||||
:width: 30%
|
|
||||||
:alt: M12x0.5 nut
|
:alt: M12x0.5 nut
|
||||||
|
|
||||||
Note that for a nut you also have to specify an outer diameter. The inner
|
Note that for a nut you also have to specify an outer diameter. The inner
|
||||||
@@ -54,7 +71,10 @@ If you only need the threads alone:
|
|||||||
|
|
||||||
.. code-block:: OpenSCAD
|
.. code-block:: OpenSCAD
|
||||||
|
|
||||||
thread("G2 1/2-ext", turns=5);
|
thread("G1/2-ext", turns=5);
|
||||||
|
|
||||||
|
.. image:: docs/imgs/thread-G1o2-ext.png
|
||||||
|
:alt: G1/2 external thread
|
||||||
|
|
||||||
Then, add the support you want. In the simplest case, a cylinder (which is what
|
Then, add the support you want. In the simplest case, a cylinder (which is what
|
||||||
nut(...) uses):
|
nut(...) uses):
|
||||||
@@ -68,18 +88,25 @@ nut(...) uses):
|
|||||||
translate([0, 0, -P / 2])
|
translate([0, 0, -P / 2])
|
||||||
cylinder(h=H, d=Dsupport, $fn=120);
|
cylinder(h=H, d=Dsupport, $fn=120);
|
||||||
|
|
||||||
|
.. image:: docs/imgs/flexible.png
|
||||||
|
:alt: G1/2 bolt
|
||||||
|
|
||||||
Here, we have used the function thread_specs(...) to look up the threads
|
Here, we have used the function thread_specs(...) to look up the threads
|
||||||
specifications - including the recommended diameter of the support structure.
|
specifications - including the recommended diameter of the support structure.
|
||||||
|
|
||||||
|
|
||||||
|
===========================
|
||||||
List of supported threads
|
List of supported threads
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
Currently, threadlib knows these threads:
|
Currently, threadlib knows these threads:
|
||||||
|
|
||||||
- British Standard Pipe Parallel Threads G1/16 to G6
|
|
||||||
- Metric threads (coarse, fine, and super-fine pitches) M0.25 to M600
|
- Metric threads (coarse, fine, and super-fine pitches) M0.25 to M600
|
||||||
|
- British Standard Pipe Parallel Threads G1/16 to G6
|
||||||
|
- PCO-1881 (PET-bottle thread)
|
||||||
|
|
||||||
|
|
||||||
|
===========================
|
||||||
Extensibility
|
Extensibility
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
@@ -102,9 +129,10 @@ accomplished and get the fame you deserve: Send in your tried and tested threads
|
|||||||
for addition to threadlib!
|
for addition to threadlib!
|
||||||
|
|
||||||
|
|
||||||
|
===========================
|
||||||
Change Log
|
Change Log
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
- 0.2: Metric threads
|
- 0.2: Metric threads, PCO-1881
|
||||||
- 0.1: Initial release supporting BSP parallel thread
|
- 0.1: Initial release supporting BSP parallel thread
|
||||||
|
|
||||||
|
@@ -1,19 +1,28 @@
|
|||||||
os = /usr/local/bin/openscad
|
os = /usr/local/bin/openscad
|
||||||
opts =
|
opts =
|
||||||
imgs = imgs/bolt-M4.png imgs/nut-M12x0.5.png imgs/nutNbolt.png
|
imgs = bolt-M4.png nut-M12x0.5.png nutNbolt.png thread-G1o2-ext.png thread-G1o2-ext-10turns.png flexible.png
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
all: $(imgs)
|
all: $(imgs)
|
||||||
|
|
||||||
imgs/bolt-M4.png: bolt.scad
|
bolt-M4.png: bolt.scad
|
||||||
$(os) $(opts) --D 'type="M4"' --camera=0.49,-0.26,1.55,74.6,0.0,78.9,20 --imgsize=2048,2048 -o $@ $<
|
$(os) $(opts) --D 'type="M4"' --D 'turns=5' --D 'higbee_arc=30' --camera=0.49,-0.26,1.55,74.6,0.0,78.9,20 --imgsize=2048,2048 -o $@ $<
|
||||||
|
|
||||||
imgs/nut-M12x0.5.png: nut.scad
|
nut-M12x0.5.png: nut.scad
|
||||||
$(os) $(opts) --D 'type="M12x0.5"' --D 'turns=10' --D 'Douter=16' --camera=-2.2,1.2,1.8,66,0,73,52 --imgsize=2048,2048 --projection=ortho -o $@ $<
|
$(os) $(opts) --D 'type="M12x0.5"' --D 'turns=10' --D 'higbee_arc=20' --D 'Douter=16' --camera=-2.2,1.2,1.8,66,0,73,52 --imgsize=2048,2048 --projection=ortho -o $@ $<
|
||||||
|
|
||||||
imgs/nutNbolt.png: nutNbolt.scad
|
nutNbolt.png: nutNbolt.scad
|
||||||
$(os) $(opts) --camera=-0.24,1.19,4.24,83,0,326.9,40.3 --imgsize=2048,2048 --projection=ortho -o $@ $<
|
$(os) $(opts) --camera=-0.24,1.19,4.24,83,0,326.9,40.3 --imgsize=2048,2048 --projection=ortho -o $@ $<
|
||||||
|
|
||||||
|
thread-G1o2-ext-10turns.png: thread.scad
|
||||||
|
$(os) $(opts) --D 'type="G1/2-ext"' --D 'turns=10' --D 'higbee_arc=20' --camera=-0.7,-0.6,3.4,75,0,110,100 --imgsize=2048,2048 --projection=ortho -o $@ $<
|
||||||
|
|
||||||
|
thread-G1o2-ext.png: thread.scad
|
||||||
|
$(os) $(opts) --D 'type="G1/2-ext"' --D 'turns=5' --D 'higbee_arc=20' --camera=-0.7,-0.6,3.4,75,0,110,57 --imgsize=2048,2048 --projection=ortho -o $@ $<
|
||||||
|
|
||||||
|
flexible.png: flexible.scad
|
||||||
|
$(os) $(opts) --D 'type="G1/2-ext"' --D 'turns=5' --D 'higbee_arc=20' --camera=-0.7,-0.6,3.4,75,0,110,57 --imgsize=2048,2048 --projection=ortho -o $@ $<$
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
rm imgs/*.png
|
rm *.png
|
||||||
|
22
docs/flexible.scad
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
/*
|
||||||
|
Create nice previews for documentation
|
||||||
|
|
||||||
|
:Author: Adrian Schlatter
|
||||||
|
:Date: 2019-04-13
|
||||||
|
:License: 3-Clause BSD. See LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
use <threadlib/threadlib.scad>
|
||||||
|
|
||||||
|
type = "G1/2-ext";
|
||||||
|
turns = 5;
|
||||||
|
higbee_arc = 20;
|
||||||
|
|
||||||
|
thread(type, turns, higbee_arc=higbee_arc);
|
||||||
|
|
||||||
|
specs = thread_specs(type);
|
||||||
|
P = specs[0]; Rrot = specs[1]; Dsupport = specs[2];
|
||||||
|
section_profile = specs[3];
|
||||||
|
H = (turns + 1) * P;
|
||||||
|
translate([0, 0, -P / 2])
|
||||||
|
cylinder(h=H, d=Dsupport, $fn=120);
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 128 KiB |
BIN
docs/imgs/flexible.png
Normal file
After Width: | Height: | Size: 147 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 207 KiB |
BIN
docs/imgs/thread-G1o2-ext-10turns.png
Normal file
After Width: | Height: | Size: 159 KiB |
BIN
docs/imgs/thread-G1o2-ext.png
Normal file
After Width: | Height: | Size: 157 KiB |
15
docs/thread.scad
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
/*
|
||||||
|
Create nice previews for documentation
|
||||||
|
|
||||||
|
:Author: Adrian Schlatter
|
||||||
|
:Date: 2019-04-13
|
||||||
|
:License: 3-Clause BSD. See LICENSE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
use <threadlib/threadlib.scad>
|
||||||
|
|
||||||
|
type = "G1/2-ext";
|
||||||
|
turns = 10;
|
||||||
|
higbee_arc = 45;
|
||||||
|
|
||||||
|
thread(type, turns, higbee_arc=higbee_arc);
|