5 sirka trupu u nabezne hrany 80mm
7 sirka trupu 50mm pred nabeznou hranou 84mm
9 vyska osy se spodni hranou trupu az cca 30mm pod trupem
24 wheel_h = axle_cube/2+base_d/2 - leg_wall; // under the base_d/2
32 cylinder(r = base_d/2, h = base_l);
33 translate([0, 0, -eps])
34 cylinder(r = base_d/2 - base_wall, h = base_l + 2*eps);
36 translate([-infty/2, 0, -infty/2]) cube(infty);
37 // angled cut to top_l
38 for (i = [-1, 1]) scale([i, 1, 1])
39 translate([0, 0, base_l])
40 // rotate([atan((base_d/2-base_wall)/(base_l - top_l)), 0, 0])
42 translate([-infty, -infty/2, -infty/2]) cube(infty);
47 for (x = [-1, 1]) scale([x, 1, 1])
48 translate([wheel_base/2-axle_cube,
49 -wheel_h-axle_cube/2, 0])
51 translate([-infty/2, -wheel_h, axle_cube/2])
53 cylinder(r = axle_hole/2, h = infty);
57 for (x = [-1, 1]) scale([x, 1, 1]) hull() {
60 translate([0, -base_d/2 + base_wall/2, 0])
61 cylinder(r = leg_wall/2, h = (base_l-axle_cube)*(90-30)/90, $fn = 16);
63 translate([wheel_base/2-axle_cube+leg_wall/2,
64 -wheel_h+axle_cube/2-leg_wall/2 , 0])
65 cylinder(r = leg_wall/2, h = axle_cube, $fn = 16);
69 for (x = [-1, 1]) scale([x, 1, 1]) hull() {
71 translate([base_d/2 - base_wall/2, -leg_wall/2, 0])
72 cylinder(r = leg_wall/2, h = top_l+1, $fn = 16);
74 translate([wheel_base/2-leg_wall/2,
75 -wheel_h+axle_cube/2-leg_wall/2 , 0])
76 cylinder(r = leg_wall/2, h = axle_cube, $fn = 16);
84 cylinder(r = base_d/2, h = base_l);
85 translate([0, 0, -eps])
86 cylinder(r = base_d/2 - base_wall, h = base_l + 2*eps);
87 translate([-infty/2, 0, -infty/2]) cube(infty);
91 for (x = [-1, 1]) scale([x, 1, 1])
92 translate([base_d/2+side_d/2-base_wall, 0, 0])
94 cylinder(r = side_d/2, h = base_l);
95 translate([0, 0, -eps])
96 cylinder(r = side_d/2 - base_wall, h = base_l + 2*eps);
97 translate([-infty/2, -infty, -infty/2]) cube(infty);
101 for (x = [-1, 1]) scale([x, 1, 1])
102 translate([base_d/2 + side_d-2*base_wall, -base_d/2-wheel_h, 0])
103 cube([base_wall, base_d/2+wheel_h, base_l]);
106 for (x = [-1, 1]) scale([x, 1, 1])
108 translate([0, -base_d/2, 0]) cube([base_wall, base_wall, base_l]);
109 translate([base_d/2+side_d-2*base_wall, -base_d/2-wheel_h, 0]) cube([base_wall, base_wall, base_l]);
112 for (x = [-1, 1]) scale([x, 1, 1])
113 translate([base_d/2+side_d-2*base_wall, -base_d/2-wheel_h-axle_cube/2, 0])
119 for (x = [-1, 1]) scale([x, 1, 1])
120 translate([base_d/2+wheel_h, -base_d/2-wheel_h, axle_cube])
121 translate([-infty/2, -base_d/2-wheel_h, axle_cube/2])
123 cylinder(r = axle_hole/2, h = infty);