chiark / gitweb /
light-bracket: wip hollow base
[reprap-play.git] / light-bracket.scad
index 66d406fc5cd954407ea48468808dca719bafc4f7..73edbe7ba6118dbae49bf36f7f6acd34dc6ca487 100644 (file)
@@ -9,6 +9,9 @@ base_thick=6;
 base_margin=4.0;
 base_width=remote_width-base_margin*2;
 base_height=remote_height-base_margin*2;
+base_edgewidth=4;
+
+// origin is base of mainhole
 
 module mainhole() {
        translate([ -remote_width/2, 0, 0 ])
@@ -19,9 +22,12 @@ module mainhole() {
 module hhook(extent) {
        difference() {
                translate([ -hook_stem_thick, 0, -base_thick*2 ])
-                       cube(center=false, size=[ hook_stem_thick+15, extent,
-                               base_thick*2 + mainhole_thick
-                                       + hook_hook_thick ]);
+                       cube(center=false,
+                               size=[
+                       hook_stem_thick+base_margin+base_edgewidth-1,
+                       extent,
+                       base_thick*2 + mainhole_thick + hook_hook_thick
+                                       ]);
                translate([hook_hook_len, -5, 0])
                         cube(center=false, size=[ 20, extent+10, 30 ]);
        }
@@ -42,16 +48,43 @@ module hstuff() {
        translate([-10,0,0]) hhookbot(15);
 }
 
+module base() {
+       translate([ 0, base_height/2 + base_margin, -base_thick/2 ])
+       difference() {
+               cube(center=true,
+                       [ base_width, base_height, base_thick+10 ]);
+               cube(center=true,
+                       [ base_width - base_edgewidth*2,
+                         base_height - base_edgewidth*2,
+                         base_thick + 15 ]);
+               
+       }
+//     translate([-base_width/2, base_margin, -base_thick*2])
+//             cube(center=false, [base_width,base_height,base_thick+10]);
+}
+
+screw_ys=[ 20, remote_height-30 ];
+
 module stuff() {
        hstuff();
        mirror([1,0,0]) hstuff();
-       translate([-base_width/2, base_margin, -base_thick*2])
-               cube(center=false, [base_width,base_height,base_thick+10]);
+       base();
+       for (y=screw_ys) translate([0, y, -20])
+               cylinder(r=7.5, h=21);
+}
+
+module screwhole(holedia, csdia) {
+       // screw goes along z axis downwards
+       // origin is base of countersink
+       // results are positive, so this should be subtracted
+       translate([0,0,-100]) cylinder(h=200, r=holedia/2);
+       cylinder(h=100, r=csdia/2);
 }
 
 difference() {
        stuff();
        mainhole();
+       for (y=screw_ys) translate([0, y, -base_thick+2]) screwhole(4,10);
        translate([0,0,-50 - base_thick])
                cube(center=true,[300,300,100]); // print bed
 }