6 houterrad = hinnerrad + hoopthick;
10 blockwidth = hcentredist*2 + 6;
14 ziglen = hcentredist/2;
27 screwholedia = 4 + 0.5;
29 module Oval(centredist, rad) {
31 translate([-centredist/2,0,0]) circle(r=rad);
32 translate([+centredist/2,0,0]) circle(r=rad);
39 Oval(hcentredist, houterrad);
40 translate([0, (blockdepth + hoopthick)/2 + hinnerrad])
42 blockdepth + hoopthick],
45 Oval(hcentredist, hinnerrad);
51 translate([0,0, -height/2])
52 linear_extrude(height=20)
57 cylinder(r=screwholedia/2, h=100);
62 imax = ceil(height*2 / ribheight);
63 for (i=[-imax:imax]) {
65 translate([-ribdepth/2,
69 [ribdepth, -ribheight],
70 [ribdepth, +ribheight]]);
72 square([1, height*2], center=true);
77 module Division(cutmore) {
79 translate([0, 0, -cutmore*feedzgap/2]) {
80 translate([-ziglen + -cutmore*feedxgap/2, -100, 0])
84 translate([blockwidth/2 - blockoverlapcnr + -cutmore*backxgap/2,
87 cube([100, 100, 100]);
89 translate([ziglen + -cutmore*feedxgap/2,
95 hinnerrad/2 + houterrad/2 + blockdepth/2 + -cutmore*ribsgap/2,
98 linear_extrude(height=100)