width = 12; length = 55; height = 3; // 3 mm after curve // 6 offset 1, 21 offset 2 // 24 width module quarter() { difference() { cylinder(h=width, r=8, center=true); translate(v=[0,-8,-width/2-.05]) { cube([8,16,width+.1]); } translate(v=[-8,-8,-width/2-.05]) { cube([16,8,width+.1]); } translate(v=[-3, 0, 0]) cylinder(h=width+.1, r=3, center=true); } } // 17mm /* // Top */ union() { /* translate(v=[-3,9,0]) { */ /* difference() { */ /* cylinder(h=width, r=5, center=true); */ /* cylinder(h=width+.1, r=3, center=true); */ /* translate(v=[0,-2.5,0]){ */ /* cube([10,5,width+.1], center=true); */ /* } */ /* } */ /* } */ translate(v=[0,9,0]) quarter(); translate(v=[0,0,-12]) cube([3,17,24]); } /* // Bottom */ /* translate(v=[0, 20, 0]) { */ /* difference(){ */ /* translate(v=[0, 0, -12]) { */ /* cube([height, 38, 24]); */ /* } */ /* translate(v=[(height/2),38 - 6, 0]) { */ /* rotate([0,90,0]) { */ /* cylinder(h=height+.1, d=4, center=true); */ /* } */ /* } */ /* translate(v=[(height/2),38 - 21, 0]) { */ /* rotate([0,90,0]) { */ /* cylinder(h=height+.1, d=4, center=true); */ /* } */ /* } */ /* } */ /* } */