$fn = 180; wheel_dia = 100; wheel_width = 10; wheel_height = 5; wheel_height2 = 10; tube_outer_dia = 16; shaft_dia = 25; shaft_length = 25; wire_dia = 3.5; delta = 0.01; difference() { union() { difference() { cylinder(d = wheel_dia, h = wheel_height, center = true); cylinder(d = wheel_dia - 2*wheel_width, h = wheel_height + delta, center = true); } cube([wheel_width, wheel_dia, wheel_height], center = true); translate([0, 0, -wheel_height/2 + wheel_height2/2]) cube([wheel_dia, wheel_width, wheel_height2], center = true); translate([0, 0, shaft_length/2 - wheel_height/2]) cylinder(d = shaft_dia, h=shaft_length, center = true); } translate([0, 0, shaft_length/2 - wheel_height/2]) cylinder(d = tube_outer_dia, h=shaft_length + delta, center=true); translate([0, 0, wheel_height/2]) rotate([0,90, 90]) cylinder(d = wire_dia, h = wheel_dia + delta, center=true); translate([0, 0, wheel_height/2 + wheel_height2/2]) rotate([0,90, 0]) cylinder(d = wire_dia, h = wheel_dia + delta, center=true); }