1 include <yenyalib.scad>;
10 outer_w = inner_w + 2*30;
12 body_h = thin_version ? 8 : 30;
13 bottom_w = thin_version ? 35 : 70;
15 top_w = bottom_w + 3*wall;
24 Tx(outer_w/2 - 4*wall)
26 cylinder(r = 2*wall, h = body_h);
29 translate([-outer_w/2-eps, -2*wall-eps, -eps])
30 cube([outer_w + 2*eps, 2*wall-inner_w_round_r,
32 Mx() translate([inner_w/2 + inner_w_round_r,
33 -inner_w_round_r, -eps]) hull() {
34 cylinder(r = inner_w_round_r, h = body_h + 2*eps);
35 cube([inner_w/2, inner_w_round_r, body_h + 2*eps]);
40 hole_d = thin_version ? 20 : 35;
42 hole_xoff = 0.2*(bottom_w-hole_d);
43 hole_yoff = bottom_h - 0.2*hole_d;
45 hole_top_l = thin_version ? 30 : 20;
46 hook_top_rx = thin_version ? 4 : 8;
47 hook_top_ry = thin_version ? 6 : 12;
48 module bottom_part() {
51 Tx(-inner_w/2) Ty(-inner_w_round_r)
52 cube([inner_w, wall/2, body_h]);
53 Ty(-bottom_h) cylinder(r = bottom_w/2, h = body_h);
58 translate([hole_xoff, -hole_yoff, -eps])
59 cylinder(r = hole_d/2, h = body_h+2*eps);
61 -hole_yoff-hole_d+hole_l, -eps])
62 cylinder(r = hole_d/2, h = body_h+2*eps);
64 // rounded hook inner bottom
65 translate([-inner_w/2, -hole_yoff-hole_d/2, body_h/2])
68 cylinder(r = 0.55*body_h, h = inner_w);
72 translate([inner_w/2+inner_w_round_r,
73 -hole_top_l-hole_top_yoff, -eps])
74 cube([eps, hole_top_l, body_h+2*eps]);
75 translate([hole_xoff, -hole_yoff-hole_d+hole_l, -eps])
77 cylinder(r = hole_d/2, h = body_h+2*eps);
78 translate([-infty, 0, -infty/2])
84 translate([hole_xoff, -hole_yoff, -eps])
85 cube([inner_w/2, hole_l-hole_d/2, body_h+2*eps]);
86 translate([hole_xoff + hole_d/2 + hook_top_rx - 2*eps,
88 Sy(hook_top_ry/hook_top_rx)
89 cylinder(r = hook_top_rx, h = body_h + 4*eps);
96 Mz() cylinder(r1 = 2, r2 = 0, h = 3, $fn = 8);
98 Mz() cylinder(r1 = 3, r2 = 0, h = 4.5, $fn = 8);
106 // pro prichyceni ABS, ale stejne nefunguje
107 // Mx() Tx(outer_w/2-3) Ty(3)
108 // cylinder(r = 15, h = 0.4);
117 // rotate_extrude(angle=360, convexity=10) {
119 outer_d = 1.1*body_h;
120 inner_d = body_h - 1.7*wall;
122 hole_depth = 0.01*bottom_h;
126 Ty(outer_d/2-eps) square([body_h, bottom_h - outer_d/2 + eps]);
129 Tx(body_h/2) Ty(outer_d/2)
130 circle(r = outer_d/2);
134 Tx(body_h) Ty(bottom_h-hole_depth)
135 square([eps, hole_depth]);
136 Tx(wall + inner_d/2) Ty(wall + inner_scale*inner_d/2)
138 circle(r = inner_d/2);
139 Tx(wall + inner_d/2) Ty(wall + inner_d/2)
140 circle(r = inner_d/2);