diameter_wheel = 180; // Diameter of the wheel (mm) thickness_wheel = 30; // Thickness of the wheel (mm) length_handle = 130; // Length of the handle (mm) diameter_handle = 20; // Diameter of the handle (mm) radius_holes_handle = 5; // Radius of holes for the handle (mm) radius_holes_reduction = 2; // Radius of reduction holes (mm) diameter_axle = 10; // Diameter of the central axle (mm) // Function to create the wheel module wheel(){ difference() { // Main wheel cylinder(h = thickness_wheel, d = diameter_wheel, $fn = 100); // Central hole for the axle translate([0, 0, -1]) cylinder(h = thickness_wheel + 2, d = diameter_axle, $fn = 100); } } // Function to create the handle that passes through the central hole of the wheel module handle(){ // Handle passing through the central hole of the wheel translate([0, 0, -length_handle / 2]) cylinder(h = length_handle, d = diameter_handle, $fn = 50); } // Function to create the central axle module central_axle(){ cylinder(h = thickness_wheel + 20, d = diameter_axle, $fn = 50); } // Assembly of the wheel, handle, and central axle translate([0, 0, 0]) { // Wheel wheel(); // Handle (positioned correctly through the central hole of the wheel) translate([0, 0, 10]) // Position the handle in the correct place handle(); // Central axle (added to allow the handle to rotate) translate([0, 0, -10]) // Correctly positions the axle central_axle(); }