4 mainhole_thick=remote_thick+1;
10 base_width=remote_width-base_margin*2;
11 base_height=remote_height-base_margin*2;
13 // origin is base of mainhole
16 translate([ -remote_width/2, 0, 0 ])
18 size=[ remote_width, remote_height, mainhole_thick ] );
21 module hhook(extent) {
23 translate([ -hook_stem_thick, 0, -base_thick*2 ])
24 cube(center=false, size=[ hook_stem_thick+15, extent,
25 base_thick*2 + mainhole_thick
27 translate([hook_hook_len, -5, 0])
28 cube(center=false, size=[ 20, extent+10, 30 ]);
32 module hhookside(extent) {
33 translate([ -remote_width/2, 0, 0 ])
37 module hhookbot(extent) {
38 rotate(a=90, v=[0,0,1]) hhook(extent);
42 translate([0,70,0]) hhookside(15);
43 translate([0,10,0]) hhookside(15);
44 translate([-10,0,0]) hhookbot(15);
48 translate([-base_width/2, base_margin, -base_thick*2])
49 cube(center=false, [base_width,base_height,base_thick+10]);
54 mirror([1,0,0]) hstuff();
58 module screwhole(holedia, csdia) {
59 // screw goes along z axis downwards
60 // origin is base of countersink
61 // results are positive, so this should be subtracted
62 translate([0,0,-100]) cylinder(h=200, r=holedia/2);
63 cylinder(h=100, r=csdia/2);
69 translate([0, 20, -base_thick+2]) screwhole(4,10);
70 translate([0, remote_height-30, -base_thick+2]) screwhole(4,10);
71 translate([0,0,-50 - base_thick])
72 cube(center=true,[300,300,100]); // print bed