height = 20;
+roundedgedia = 7.5;
+
ziglen = hcentredist/2;
feedxgap = 5;
}
}
+module VExtrude(){
+ translate([0,0, -height/2])
+ linear_extrude(height=20)
+ children(0);
+}
+
+module OuterOval(){
+ Oval(hcentredist, houterrad);
+}
+
module Hoop(){
difference(){
hull(){
- Oval(hcentredist, houterrad);
+ OuterOval();
translate([0, (blockdepth + hoopthick)/2 + hinnerrad])
square([blockwidth,
blockdepth + hoopthick],
}
}
+module RoundEdges(){
+ intersection(){
+ VExtrude()
+ OuterOval();
+
+ for (xi=[-1,1]) {
+ hull(){
+ for (yi=[-1,1]) {
+ translate([xi * (hcentredist/2 + hinnerrad),
+ houterrad,
+ yi * (height/2 - roundedgedia / 4 * sqrt(2))])
+ rotate([90,0,0])
+ cylinder(r=roundedgedia/2, h=houterrad*2, $fn=20);
+ }
+ }
+ }
+ }
+}
+
module Positive(){
difference(){
- translate([0,0, -height/2])
- linear_extrude(height=20)
+ VExtrude()
Hoop();
rotate([90,0,0])
translate([0,0,-50])
cylinder(r=screwholedia/2, h=100);
}
+
+ RoundEdges();
}
module Ribs(){
color("blue") B();
}
+module APrint(){ ////toplevel
+ rotate([0,180,0])
+ A();
+}
+
+module BPrint(){ ////toplevel
+ B();
+}
+
+module Kit(){ ////toplevel
+ translate([0, hinnerrad, 0])
+ APrint();
+ rotate([0,0,180])
+ BPrint();
+}
+
//Ribs();
//Demo();
//Hoop();
-Demo();
+//Demo();
+//BPrint();
+
+//Kit();