]> www.fi.muni.cz Git - things.git/blob - rc-plane-wheel.scad
rc-plane-wheel: another iteration
[things.git] / rc-plane-wheel.scad
1 infty = 100;
2 eps = 0.01;
3
4 wheel_d = 60;
5 wheel_h = 4;
6 wheel_thick = 0.75;
7 wheel_rim = 4;
8
9 min_wall = 0.5;
10
11 spokes = 5;
12 spoke_w =  4;
13 spoke_h = 2;
14
15 center_d = 10;
16 center_hole = 3;
17
18 module body() {
19         // rim
20         difference() {
21                 cylinder(r = wheel_d/2, h = wheel_h, $fn = 128);
22                 translate([0,0,min_wall-eps])
23                         cylinder(r1 = wheel_d/2 - 2*wheel_thick,
24                                 r2 = wheel_d/2 - wheel_thick,
25                                 h = wheel_h - min_wall+ 2*eps);
26                 translate([0,0,-eps])
27                         cylinder(r = wheel_d/2 - wheel_rim,
28                                 h = min_wall+2*eps);
29         }
30
31         // spokes
32         for (a = [0:360/spokes:360-eps]) {
33                 rotate([0, 0, a])
34                 hull() {
35                         translate([-spoke_w/2, 0, 0])
36                                 cube([spoke_w, wheel_d/2 - min_wall/2, min_wall]);
37                         translate([-min_wall/2, 0, spoke_h-eps])
38                                 cube([min_wall, wheel_d/2 - min_wall/2, eps]);
39                 }
40         }
41
42         cylinder(r1 = center_d/2, r2 = center_hole/2 + 2*min_wall, h = wheel_h);
43 }
44
45 difference() {
46         body();
47         // center hole
48         translate([0, 0, -eps])
49                 cylinder(r = center_hole/2, h = wheel_h + 2*eps);
50 }