// 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); }