// Copyright 2022 Pascal Engélibert // License CC0 module TeensyCase( bolt_d = 4, // adapted for M3 bolts bolt_d2 = 7.4, bolt_h = 5, l = 39, w = 39, th = 2, bolt1_x = 4.5, bolt1_y = 4, bolt2_x = 33.75, bolt2_y = 4, bolt3_x = 21, bolt3_y = 35, ) { difference() { union() { cube([l, w, th]); translate([bolt1_x, bolt1_y, 0]) cylinder(d=bolt_d2, h=th+bolt_h, $fn=60); translate([bolt2_x, bolt2_y, 0]) cylinder(d=bolt_d2, h=th+bolt_h, $fn=60); translate([bolt3_x, bolt3_y, 0]) cylinder(d=bolt_d2, h=th+bolt_h, $fn=60); } translate([bolt1_x, bolt1_y, 0]) cylinder(d=bolt_d, h=th+bolt_h+1, $fn=40); translate([bolt2_x, bolt2_y, 0]) cylinder(d=bolt_d, h=th+bolt_h+1, $fn=40); translate([bolt3_x, bolt3_y, 0]) cylinder(d=bolt_d, h=th+bolt_h+1, $fn=40); } } TeensyCase(bolt_h=9.2); translate([0, -5, 0]) mirror([0, 1, 0]) TeensyCase(bolt_h=2);