chiark / gitweb /
light bracket: countersunk holes, better base, etc.
[reprap-play.git] / light-bracket.scad
index 6e42bf1c16cf2964faac032c7aec02b59d40f9ec..0ec13379f96b382f9898937f72ba070dd20645a2 100644 (file)
@@ -1,16 +1,19 @@
-remote_width=56.2;
-remote_height=124.7;
-remote_thick=6.8;
+shrinkage = 1.0126; // width of 56.2 gives 55.5
+remote_width= 56.2 * shrinkage;
+remote_height=124.7 * shrinkage;
+remote_thick=7.3; // height of 6.8 gives 6.3
 mainhole_thick=remote_thick+1;
 hook_hook_thick=1.5;
 hook_stem_thick=1.5;
 hook_hook_len=1.5;
-base_thick=6;
-base_margin=4.0;
+base_thick=3.5;
+base_margin=3.0;
 base_width=remote_width-base_margin*2;
 base_height=remote_height-base_margin*2;
 base_edgewidth=4;
 
+screw_ys=[ 28, remote_height-28 ];
+
 // origin is base of mainhole
 
 module mainhole() {
@@ -77,21 +80,21 @@ module base() {
 //             cube(center=false, [base_width,base_height,base_thick+10]);
 }
 
-screw_ys=[ 20, remote_height-30 ];
-
 module stuff() {
        hstuff();
        mirror([1,0,0]) hstuff();
        base();
        for (y=screw_ys) translate([0, y, -20])
-               cylinder(r=7.5, h=21);
+               cylinder(r=6.5, h=21);
 }
 
 module screwhole(holedia, csdia) {
        // screw goes along z axis downwards
-       // origin is base of countersink
+       // origin is top of head
        // results are positive, so this should be subtracted
        translate([0,0,-100]) cylinder(h=200, r=holedia/2);
+       csdist=(csdia-holedia)/2;
+       translate([0,0,-csdist]) cylinder(h=csdist, r1=holedia/2, r2=csdia/2);
        cylinder(h=100, r=csdia/2);
 }
 
@@ -100,8 +103,9 @@ module bracket() {
        difference() {
                stuff();
                mainhole();
-               for (y=screw_ys) translate([0, y, -base_thick+2])       
-                       screwhole(4,10);
+               for (y=screw_ys) translate([0, y, 0])   
+                       screwhole(5,9); //dia=4 gives 2.9
+                                        //holedia=10 gives 9.0 want 7.0
                translate([0,0,-50 - base_thick])
                        cube(center=true,[300,300,100]); // print bed
        }