mirror of
https://github.com/adrianschlatter/threadlib.git
synced 2025-01-16 20:58:26 +01:00
Added nut_sides parameter to allow creation of non-cylinder nut
This commit is contained in:
parent
32c20eb982
commit
40c02e5ecb
@ -97,7 +97,11 @@ argument for higbee_arc):
|
||||
:alt: M12x0.5 nut
|
||||
|
||||
Note that for a nut you also have to specify an outer diameter. The inner
|
||||
diameter is implicitly given by the thread designator ("M12x0.5" in this case).
|
||||
diameter is implicitly given by the thread designator ("M12x0.5" in this case). You can set the number of sides for the nut! So you can make hex nuts:
|
||||
|
||||
.. code-block:: OpenScad
|
||||
|
||||
nut("M30", turns=4, Douter=46, nut_sides=6);
|
||||
|
||||
To make a threaded hole (e.g. in a plate), an intuitive approach would be to
|
||||
create the difference of the plate and a bolt. However, this part would not work
|
||||
|
@ -48,7 +48,8 @@ module bolt(designator, turns, higbee_arc=20, fn=120, table=THREAD_TABLE) {
|
||||
};
|
||||
};
|
||||
|
||||
module nut(designator, turns, Douter, higbee_arc=20, fn=120, table=THREAD_TABLE) {
|
||||
module nut(designator, turns, Douter, higbee_arc=20, fn=120, nut_sides=120, table=THREAD_TABLE) {
|
||||
nut_sides = nut_sides == 120 ? fn : nut_sides;
|
||||
union() {
|
||||
specs = thread_specs(str(designator, "-int"), table=table);
|
||||
P = specs[0]; Dsupport = specs[2];
|
||||
@ -57,7 +58,7 @@ module nut(designator, turns, Douter, higbee_arc=20, fn=120, table=THREAD_TABLE)
|
||||
|
||||
translate([0, 0, -P / 2])
|
||||
difference() {
|
||||
cylinder(h=H, d=Douter, $fn=fn);
|
||||
cylinder(h=H, d=Douter, $fn=nut_sides);
|
||||
translate([0, 0, -0.1])
|
||||
cylinder(h=H+0.2, d=Dsupport, $fn=fn);
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user