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
15 base_top = 5; // above the xz plane
24 base_top_l = axle_cube;
26 bottom_strut_l = base_l-5;
34 scale([base_w/base_h, 1, 1])
35 cylinder(r = base_h/2, h = base_l);
37 translate([-infty/2, base_top, -infty/2]) cube(infty);
40 translate([0, base_top, base_top_l])
41 rotate([-atan((base_l - base_top_l)/(base_h/2 + base_top)), 0, 0])
42 translate([-infty/2, -infty/2, 0]) cube(infty);
48 translate([wheel_base/2-axle_cube,
49 -wheel_h-axle_cube/2, 0])
56 translate([base_w/2 - strut_wall/2, 0, 0])
57 cylinder(r = strut_wall/2, h = base_top_l, $fn = 16);
59 translate([wheel_base/2-strut_wall/2,
60 -wheel_h+axle_cube/2, 0])
61 cylinder(r = strut_wall/2, h = axle_cube, $fn = 16);
65 module bottom_strut() {
69 translate([0, -base_w/2 + base_wall/2, 0])
70 cylinder(r = strut_wall/2, h = bottom_strut_l, $fn = 16);
72 // translate([wheel_base/2-axle_cube+strut_wall/2,
73 // -wheel_h+axle_cube/2-strut_wall/2 , 0])
74 translate([wheel_base/2-strut_wall/2,
75 -wheel_h-axle_cube/2+strut_wall/2 , 0])
76 cylinder(r = strut_wall/2, h = axle_cube, $fn = 16);
80 module horiz_strut() {
81 translate([-wheel_base/2, -wheel_h-axle_cube/2, 0])
82 cube([wheel_base, strut_wall, axle_cube]);
88 for (x = [-1, 1]) scale([x, 1, 1]) {
100 // hole in the base, no matter what gets in
101 translate([0, 0, -eps])
102 scale([(base_w - base_wall)/(base_h - base_wall), 1, 1])
103 cylinder(r = base_h/2 - base_wall, h = base_l + 2*eps, $fn=128);
105 // hole for the wheel axle
106 translate([-infty/2, -wheel_h, axle_cube/2])
109 cylinder(r = axle_hole/2, h = infty);