6 wheel_d1 = wheel_d + wheel_h/2;
7 wheel_thick_outer = 0.5;
8 wheel_thick_inner = 1.5;
22 center_hole = 1.2 + 1;
27 translate([-spoke_r, spoke_xoff, 0])
28 rotate_extrude($fn = 128) {
29 translate([spoke_r, 0, 0])
31 [-spoke_w/2, 0], [spoke_w/2, 0],
32 [spoke_w/2, min_wall], [min_wall/2, spoke_h],
33 [-min_wall/2, spoke_h],
34 [-spoke_w/2, min_wall]]
37 cylinder(r = wheel_d/2, h = infty);
38 translate([-infty/2, spoke_xoff, 0]) cube(infty);
42 translate([-spoke_w/2, spoke_xoff, 0])
43 cube([spoke_w, eps, min_wall]);
45 translate([-min_wall/2, spoke_xoff, 0])
46 cube([min_wall, eps, spoke_h]);
48 translate([-spoke_w, 0, 0])
49 cube([2*spoke_w, eps, min_wall]);
51 translate([-min_wall/2, 0, spoke_center_h])
52 cube([min_wall, eps, eps]);
61 cylinder(r = wheel_d/2, h = wheel_h, $fn = 128);
62 translate([0, 0, wheel_h/2-eps])
63 cylinder(r = wheel_d1/2, h = 2*eps, $fn = 128);
65 translate([0,0,min_wall-eps])
66 cylinder(r1 = wheel_d/2 - wheel_thick_inner,
67 r2 = wheel_d/2 - wheel_thick_outer,
68 h = wheel_h - min_wall+ 2*eps);
70 cylinder(r = wheel_d/2 - wheel_rim,
75 for (a = [0:360/spokes:360-eps]) {
81 cylinder(r1 = center_d/2, r2 = center_d2/2, h = center_h/2+eps, $fn = 4*spokes);
82 translate([0, 0, center_h/2])
83 cylinder(r1 = center_d2/2, r2 = center_hole/2 + 2*min_wall, h = center_h/2, $fn = 4*spokes);
90 translate([0, 0, -eps])
91 cylinder(r = center_hole/2, h = center_h + 2*eps);
97 stopper_hole = 1.2 + 0.5;
101 cylinder(r1 = stopper_d/2, r2 = stopper_hole/2 + 2*min_wall, h = stopper_h);
102 translate([0, 0, -eps])
103 cylinder(r = stopper_hole/2, h = stopper_h + 2*eps);
107 for (y = [-1, 1]) scale([1, y, 1]) translate([0, wheel_d/2 + 3, 0]) {
110 translate([wheel_d/2 + stopper_d, 0, 0])