}
}
-Base();
+thread_nom = 8;
+thread_act = thread_nom - 0.375;
+
+wingnut_th = 5;
+wingnut_wall = 4;
+wingnut_wing_mindia = 17.0;
+wingnut_wing_xrad = 5; // xxx 8;
+wingnut_wing_xh = 5;
+wingnut_wing_th = 3;
+
+//$test= true;
+$test= false;
+
+$fa= 3;
+$fs= 0.2;
+
+// calculated
+
+wingnut_cnr = wingnut_wing_th/2 -0.1;
+
+module Wingnut(){
+ difference(){
+ union(){
+ cylinder(r= (thread_nom+wingnut_wall)/2,
+ h= wingnut_th);
+ linear_extrude(height= wingnut_wing_xh + wingnut_th)
+ offset(r= wingnut_cnr)
+ square([wingnut_wing_mindia + wingnut_wing_xrad*2 - wingnut_cnr*2,
+ wingnut_wing_th - wingnut_cnr*2],
+ center=true);
+ }
+ translate([0,0, wingnut_th])
+ linear_extrude(height= wingnut_wing_xh+1)
+ 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, leadin=3, internal=true,
+ test=$test, length=wingnut_th+3);
+ }
+}
+
+Wingnut();