--- /dev/null
+// -*- C -*-
+
+basel = 20;
+basew = 27;
+baset = 4.0;
+
+wallt = 4.0;
+
+wallh = 42;
+
+baseholesz = 4; // fixme check
+baseholeslot = 4;
+
+holeslop = 0.5;
+
+walll = basel;
+wallholeh = 6+14+2;
+wallholesz = 3.0; // fixme check
+wallholeslot = 3.0;
+
+module slothole(sz, slot, thick) {
+ hull(){
+ for (y = [-slot/2,slot/2]) {
+ translate([0,y,-0.05])
+ cylinder(r1=sz/2 + holeslop,
+ r2=sz/2+thick + holeslop,
+ h=thick+0.10);
+ }
+ }
+}
+
+difference(){
+ translate([0, -basew, 0])
+ cube([basel, basew, baset]);
+
+ translate([basel/2, -(basew+wallt)/2, 0])
+ slothole(baseholesz, baseholeslot, baset);
+}
+
+difference(){
+ translate([0, -wallt, 0])
+ cube([walll, wallt, wallh]);
+
+ translate([basel/2, 0, wallholeh])
+ rotate([90,0,0])
+ slothole(wallholesz, wallholeslot, wallt);
+}