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);
69 translate([xi * (hcentredist/2 + hinnerrad),
71 yi * (height/2 - roundedgedia / 4 * sqrt(2))])
73 cylinder(r=roundedgedia/2, h=houterrad*2, $fn=20);
87 cylinder(r=screwholedia/2, h=100);
94 imax = ceil(height*2 / ribheight);
95 for (i=[-imax:imax]) {
97 translate([-ribdepth/2,
101 [ribdepth, -ribheight],
102 [ribdepth, +ribheight]]);
104 square([1, height*2], center=true);
109 module Division(cutmore) {
111 translate([0, 0, -cutmore*feedzgap/2]) {
112 translate([-ziglen + -cutmore*feedxgap/2, -100, 0])
113 cube([100, 100, 50]);
116 translate([blockwidth/2 - blockoverlapcnr + -cutmore*backxgap/2,
119 cube([100, 100, 100]);
121 translate([ziglen + -cutmore*feedxgap/2,
124 cube([100, 51, 100]);
127 hinnerrad/2 + houterrad/2 + blockdepth/2 + -cutmore*ribsgap/2,
130 linear_extrude(height=100)
161 module APrint(){ ////toplevel
166 module BPrint(){ ////toplevel
170 module Kit(){ ////toplevel
171 translate([0, hinnerrad, 0])