6 houterrad = hinnerrad + hoopthick;
10 blockwidth = hcentredist*2 + 6;
16 ziglen = hcentredist/2;
29 screwholedia = 4 + 0.5;
31 module Oval(centredist, rad) {
33 translate([-centredist/2,0,0]) circle(r=rad);
34 translate([+centredist/2,0,0]) circle(r=rad);
39 translate([0,0, -height/2])
40 linear_extrude(height=20)
45 Oval(hcentredist, houterrad);
52 translate([0, (blockdepth + hoopthick)/2 + hinnerrad])
54 blockdepth + hoopthick],
57 Oval(hcentredist, hinnerrad);
68 translate([xi * (hcentredist/2 + hinnerrad),
70 yi * (height/2 - roundedgedia / 4 * sqrt(2))])
72 cylinder(r=roundedgedia/2, h=houterrad*2, $fn=20);
85 cylinder(r=screwholedia/2, h=100);
92 imax = ceil(height*2 / ribheight);
93 for (i=[-imax:imax]) {
95 translate([-ribdepth/2,
99 [ribdepth, -ribheight],
100 [ribdepth, +ribheight]]);
102 square([1, height*2], center=true);
107 module Division(cutmore) {
109 translate([0, 0, -cutmore*feedzgap/2]) {
110 translate([-ziglen + -cutmore*feedxgap/2, -100, 0])
111 cube([100, 100, 50]);
114 translate([blockwidth/2 - blockoverlapcnr + -cutmore*backxgap/2,
117 cube([100, 100, 100]);
119 translate([ziglen + -cutmore*feedxgap/2,
122 cube([100, 51, 100]);
125 hinnerrad/2 + houterrad/2 + blockdepth/2 + -cutmore*ribsgap/2,
128 linear_extrude(height=100)