1 include <yenyalib.scad>;
9 outer_w = inner_w + 2*30;
13 top_w = bottom_w + 3*wall;
22 Tx(outer_w/2 - 4*wall)
24 cylinder(r = 2*wall, h = body_h);
27 translate([-outer_w/2-eps, -2*wall-eps, -eps])
28 cube([outer_w + 2*eps, 2*wall-inner_w_round_r,
30 Mx() translate([inner_w/2 + inner_w_round_r,
31 -inner_w_round_r, -eps]) hull() {
32 cylinder(r = inner_w_round_r, h = body_h + 2*eps);
33 cube([inner_w/2, inner_w_round_r, body_h + 2*eps]);
40 hole_xoff = 0.2*(bottom_w-hole_d);
41 hole_yoff = bottom_h - 0.2*hole_d;
46 module bottom_part() {
49 Tx(-inner_w/2) Ty(-inner_w_round_r)
50 cube([inner_w, wall/2, body_h]);
51 Ty(-bottom_h) cylinder(r = bottom_w/2, h = body_h);
56 translate([hole_xoff, -hole_yoff, -eps])
57 cylinder(r = hole_d/2, h = body_h+2*eps);
59 -hole_yoff-hole_d+hole_l, -eps])
60 cylinder(r = hole_d/2, h = body_h+2*eps);
62 // rounded hook inner bottom
63 translate([-inner_w/2, -hole_yoff-hole_d/2, body_h/2])
66 cylinder(r = 0.55*body_h, h = inner_w);
70 translate([inner_w/2+inner_w_round_r,
71 -hole_top_l-hole_top_yoff, -eps])
72 cube([eps, hole_top_l, body_h+2*eps]);
73 translate([hole_xoff, -hole_yoff-hole_d+hole_l, -eps])
75 cylinder(r = hole_d/2, h = body_h+2*eps);
76 translate([-infty, 0, -infty/2])
82 translate([hole_xoff, -hole_yoff, -eps])
83 cube([inner_w/2, hole_l-hole_d/2, body_h+2*eps]);
84 translate([hole_xoff + hole_d/2 + hook_top_rx - 2*eps,
86 Sy(hook_top_ry/hook_top_rx)
87 cylinder(r = hook_top_rx, h = body_h + 4*eps);
93 Mz() cylinder(r1 = 2, r2 = 0, h = 3, $fn = 8);
100 // pro prichyceni ABS, ale stejne nefunguje
101 // Mx() Tx(outer_w/2-3) Ty(3)
102 // cylinder(r = 15, h = 0.4);
111 // rotate_extrude(angle=360, convexity=10) {
113 outer_d = 1.1*body_h;
114 inner_d = body_h - 1.7*wall;
116 hole_depth = 0.01*bottom_h;
120 Ty(outer_d/2-eps) square([body_h, bottom_h - outer_d/2 + eps]);
123 Tx(body_h/2) Ty(outer_d/2)
124 circle(r = outer_d/2);
128 Tx(body_h) Ty(bottom_h-hole_depth)
129 square([eps, hole_depth]);
130 Tx(wall + inner_d/2) Ty(wall + inner_scale*inner_d/2)
132 circle(r = inner_d/2);
133 Tx(wall + inner_d/2) Ty(wall + inner_d/2)
134 circle(r = inner_d/2);