chiark / gitweb /
light-bracket: wip, has base
[reprap-play.git] / light-bracket.scad
1 remote_width=56.2;
2 remote_height=124.7;
3 remote_thick=6.8;
4 mainhole_thick=remote_thick+1;
5 hook_hook_thick=1.5;
6 hook_stem_thick=1.5;
7 hook_hook_len=1.5;
8 base_thick=6;
9 base_margin=4.0;
10 base_width=remote_width-base_margin*2;
11 base_height=remote_height-base_margin*2;
12
13 module mainhole() {
14         translate([ -remote_width/2, 0, 0 ])
15         cube(center=false,
16                 size=[ remote_width, remote_height, mainhole_thick ] );
17 }
18
19 module hhook(extent) {
20         difference() {
21                 translate([ -hook_stem_thick, 0, -base_thick*2 ])
22                         cube(center=false, size=[ hook_stem_thick+15, extent,
23                                 base_thick*2 + mainhole_thick
24                                         + hook_hook_thick ]);
25                 translate([hook_hook_len, -5, 0])
26                          cube(center=false, size=[ 20, extent+10, 30 ]);
27         }
28 }
29
30 module hhookside(extent) {
31         translate([ -remote_width/2, 0, 0 ])
32                 hhook(extent);
33 }
34
35 module hhookbot(extent) {
36         rotate(a=90, v=[0,0,1]) hhook(extent);
37 }
38
39 module hstuff() {
40         translate([0,70,0]) hhookside(15);
41         translate([0,10,0]) hhookside(15);
42         translate([-10,0,0]) hhookbot(15);
43 }
44
45 module stuff() {
46         hstuff();
47         mirror([1,0,0]) hstuff();
48         translate([-base_width/2, base_margin, -base_thick*2])
49                 cube(center=false, [base_width,base_height,base_thick+10]);
50 }
51
52 difference() {
53         stuff();
54         mainhole();
55         translate([0,0,-50 - base_thick])
56                 cube(center=true,[300,300,100]); // print bed
57 }