// Circunference c = 100; // Number of marks marks = 10; // Wheel tickness thickness = 2; // Hub tickness max_thickness = 3; // Axle radius axle_r = 3; r = c/PI/2; difference() { union() { cylinder(r=r, h=thickness); cylinder(r=axle_r*2, h=max_thickness); } for (i = [0:marks]) { rotate([0, 0, i*360/marks]) translate([r*0.75, -0.5, thickness-1]) cube([r, 1, 2]); } translate([r/2, -0.5, thickness-1]) cube([r, 1, 2]); cylinder(r=axle_r, h=max_thickness*2+1, center=true, $fn=30); }