1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
// Wheel radius
r = 20;
// Vertical clearance for the wheel, as a ratio
r_clear = 1.25;
// Handle radius
handle_r = 6;
// Handle height (excluding wheel support)
handle_h = 100;
// Axle radius
axle_r = 2.5;
supp_x = 4;
supp_y = handle_r * sqrt(3);
supp_z = r * r_clear + supp_y/2;
rotate([90,0,0]) difference() {
union() {
translate([0, 0, -handle_h]) cylinder(r=handle_r, h=handle_h, $fn=6);
hull() {
translate([0, 0, -handle_r*2])
cylinder(r=handle_r, h=handle_r*2, $fn=6);
translate([-handle_r, -supp_y/2, 0])
cube([supp_x, supp_y, supp_z]);
translate([handle_r-supp_x, -supp_y/2, 0])
cube([supp_x, supp_y, supp_z]);
}
}
translate([-handle_r+supp_x, -supp_y/2-1, 0])
cube([(handle_r-supp_x)*2, supp_y+2, supp_z+2]);
translate([0, 0, r*r_clear]) rotate([0, 90, 0])
cylinder(r=axle_r, h=handle_r*2+2, center=true);
}
|