x_size = 75; y_size = 40; z_size = 6; wall_size = 1; hole_rad = 2; filament_x = 10; filament_size = 2; union() { difference() { // Main cube([x_size, y_size, z_size], center = true); // Hollow translate([0, 0, wall_size]) { cube([x_size - 2 * wall_size, y_size - 2 * wall_size, z_size], center = true); } // Fillament Hole translate([filament_x, 0, wall_size]) { cube([filament_size, y_size + 1, z_size], center = true); } } // Hole Mounts for (i = [-1:1:1]) { translate([i * 32, ((i == 0) ? 1 : 0) * 29 - 14.5, 0]) { difference() { cylinder(z_size - 1, hole_rad + 1, hole_rad + 1, $fn = 360, center = true); translate([0, 0, wall_size]) { cylinder(z_size - 1, hole_rad, hole_rad, $fn = 360, center = true); } } } } // Bearing Mount translate([3, 0, 0]) { cylinder(z_size, 2, 2, $fn = 360, center = true); } // Left Walls for fillament for (i = [-1:2:1]) { translate([filament_x + i * ((filament_size + wall_size) / 2), 0, 0]) { difference() { cube([wall_size, y_size, z_size - 1], center = true); cube([wall_size + 1, 5.625 + i * 0.875, z_size], center = true); } } } }