chiark / gitweb /
light-bracket: wip, new base
[reprap-play.git] / light-bracket.scad
index 167ce9fe2af638234f134e1c0adb0b9a09d67c47..3b4297072d1e785478cc96e5f8d3b7554cd02c99 100644 (file)
@@ -2,13 +2,79 @@ remote_width=56.2;
 remote_height=124.7;
 remote_thick=6.8;
 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_width=remote_width-base_margin*2;
+base_height=remote_height-base_margin*2;
 
-module hmainhole() {
-       cube(center=0,size=[ remote_width/2, remote_height, mainhole_thick ]);
+// origin is base of mainhole
+
+module mainhole() {
+       translate([ -remote_width/2, 0, 0 ])
+       cube(center=false,
+               size=[ remote_width, remote_height, mainhole_thick ] );
+}
+
+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 ]);
+               translate([hook_hook_len, -5, 0])
+                        cube(center=false, size=[ 20, extent+10, 30 ]);
+       }
+}
+
+module hhookside(extent) {
+       translate([ -remote_width/2, 0, 0 ])
+               hhook(extent);
+}
+
+module hhookbot(extent) {
+       rotate(a=90, v=[0,0,1]) hhook(extent);
 }
 
+module hstuff() {
+       translate([0,70,0]) hhookside(15);
+       translate([0,10,0]) hhookside(15);
+       translate([-10,0,0]) hhookbot(15);
+}
+
+module base() {
+       difference() {
+               translate([ 0, base_height/2 + base_margin, -base_thick/2 ])
+                       cube(center=true,
+                               [ base_width, base_height, base_thick+10 ]);
+       }
+//     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();
+       base();
+       //for (y=screw_ys)
+}
+
+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);
+}
 
-mirror([1,0,0]){
-  hmainhole();
+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
 }
-hmainhole();