blockdepth = 5;
blockwidth = hcentredist*2 + 6;
+height = 20;
+
+ziglen = hcentredist/2;
+
+feedxgap = 5;
+
+feedzgap = 5;
+
+ribdepth = 2;
+ribheight = 3;
+
module Oval(centredist, rad) {
hull() {
translate([-centredist/2,0,0]) circle(r=rad);
module Hoop(){
difference(){
- Oval(hcentredist, houterrad);
+ hull(){
+ Oval(hcentredist, houterrad);
+ translate([0, (blockdepth + hoopthick)/2 + hinnerrad])
+ square([blockwidth,
+ blockdepth + hoopthick],
+ center=true);
+ }
Oval(hcentredist, hinnerrad);
}
}
module Positive(){
- Hoop();
- translate([0, (blockdepth + hoopthick)/2 + hinnerrad])
- square([blockwidth,
- blockdepth + hoopthick],
- center=true);
+ translate([0,0, -height/2])
+ linear_extrude(height=20)
+ Hoop();
+}
+
+module Division(biggerpi) {
+ xgap = feedxgap * biggerpi;
+ zgap = feedzgap * biggerpi;
+ mirror([0,0,1])
+ translate([-(ziglen + xgap/2), -100, zgap/2])
+ cube([100, 100, 10]);
+}
+
+module Ribs(){
+ imax = ceil(height*2 / ribheight);
+ for (i=[-imax:imax]) {
+ hull(){
+ translate([-ribdepth/2,
+ ribheight*i,
+ 0])
+ polygon([[0, 0],
+ [ribdepth, -ribheight],
+ [ribdepth, +ribheight]]);
+ translate([50, 0])
+ square([1, height*2], center=true);
+ }
+ }
+}
+
+module Demo(){
+ //difference(){
+ % Positive();
+ // Division(0);
+ //}
+ Division(1);
}
-Positive();
+Ribs();