summaryrefslogtreecommitdiff
path: root/wheel.scad
blob: f7c168be28e1ea3decb42e8061a2f868afced358 (plain)
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
// this is an approximation of a wheel; all measurements are *guessed*
module wheel() {
    r_rim=150;
    r_tire=15;
    r_hub=30;
    r_axis=5;
    
    // tire (modelled as torus)
    rotate_extrude(convexity=4)
    translate([r_rim,0])
    circle(r_tire);

    // hub
    for (side = [-1,1])
    translate([0, 0, side * (r_tire - 1/2)])
    cylinder(r=r_hub, h=1, center=true);

    cylinder(r=r_axis, h=125, center=true);
    
    
    // spokes
    angular_step=360/8;
    for (angle = [0:angular_step:360])
    for (side = [-1,1])
    for (dir = [-1,1])
    rotate(angle + side * angular_step/4)
    translate([r_hub - 1, -dir*4, side*r_tire])
    rotate([0, 90 + side*8, dir*20])
    cylinder(r=1, h=r_rim - r_hub);
}

wheel();
contact: Jan Huwald // Impressum