positive_dia = inch * 3/8. - 0.375;
positive_l = inch * 1/2.;
-stem_l = 7;
+stem_l = 40;
stem_dia = 12;
-
-base_th = 3;
-base_dia = 60;
-
-module Base(){
- translate([0,0,-0.1])
- english_thread(diameter=positive_dia/inch, threads_per_inch=16,
- leadin=1, test=$test,
- length= (positive_l + 0.1) / inch);
-
- rotate([180,0,0]) {
- cylinder(r= stem_dia/2 * 1/(0.5 * sqrt(3)),
- h = stem_l + 1,
- $fn=6);
- translate([0,0, stem_l])
- cylinder(r= base_dia/2, h= base_th);
- }
-}
+stem_th = 3;
+stem_ceil = 2;
+stem_base_th = 4;
+stem_base_dia = 25;
+stem_inner_l = 30;
thread_nom = 8;
thread_pitch = 1.25;
-thread_act = thread_nom + 0.250;
+thread_act = thread_nom + 0.600;
wingnut_th = 5;
wingnut_wall = 4;
wingnut_wing_xh = 5;
wingnut_wing_th = 3;
-//$test= true;
-$test= false;
+$test= true;
+///$test= false;
-$fa= 3;
-$fs= 0.2;
+//$fa= 3;
+//$fs= 0.2;
// calculated
wingnut_cnr = wingnut_wing_th/2 -0.1;
+module OurThread(l){
+ translate([0,0,-0.01])
+ metric_thread(diameter=thread_act, pitch=thread_pitch,
+ leadin=3, internal=true,
+ test=$test, length=l);
+}
+
+module Stem(){
+ translate([0,0, stem_l -0.1])
+ english_thread(diameter=positive_dia/inch, threads_per_inch=16,
+ leadin=1, test=$test,
+ length= (positive_l + 0.1) / inch);
+
+ difference(){
+ union(){
+ cylinder(r= stem_dia/2 * 1/(0.5 * sqrt(3)),
+ h = stem_l,
+ $fn=6);
+ cylinder(r= stem_base_dia/2,
+ h = stem_base_th);
+ }
+ OurThread(stem_inner_l);
+ }
+}
+
module Wingnut(){
difference(){
union(){
square(wingnut_wing_mindia, center=true);
translate([0,0, wingnut_th])
rotate([180,0,0])
- translate([0,0,-0.01])
- metric_thread(diameter=thread_act, pitch=thread_pitch,
- leadin=3, internal=true,
- test=$test, length=wingnut_th+3);
+ OurThread(wingnut_th+3);
mirror([0,0,1])
linear_extrude(height=5)
square(center=true, wingnut_wing_mindia*2);
}
}
-Wingnut();
+//Wingnut();
+Stem();