aboutsummaryrefslogtreecommitdiff
path: root/src/rotary_tools_handle.scad
blob: b4dc581126b23bb2bf9a268ca781db951748e126 (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
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);
}