//------------------------------------ // Twin extruder left side filament // drive with mount for Z-probe //------------------------------------ union() { difference() { // union() { translate([0, 0, 0]) // import("single_filament_drive.stl"); import("test_drive.stl"); // Cut-out for probe translate([-3.8, 61.77 - 32, 13]) rotate([90, 0, 0]) cylinder(h=32, r=6.3, $fn=64); } // Also add the filament guide difference() { translate([20.25, 58, 14.3]) rotate([90, 0, 0]) cylinder(r=3.0, h=8, $fn=60); translate([20.25, 59, 14.3]) rotate([90, 0, 0]) cylinder(r=2.2, h=10, $fn=60); } translate([19.5, 51, 0]) cube([2.5, 7, 12]); difference() { union() { translate([6, 3.5, 0]) cube([16.5, 6, 23]); translate([-12.5, -1, 0]) cube([23.8, 6, 23]); translate([6, 5, 0]) cube([5, 10, 20]); } translate([20.25, 10.5, 14.3]) rotate([90, 0, 0]) cylinder(r=1, h=12, $fn=60); // Bevel corners translate([17.5, 2.5, 23.5]) rotate([0, 45, 0]) cube([8, 8, 8]); translate([-18.5, -2.5, 23.5]) rotate([0, 45, 0]) cube([8, 8, 8]); translate([-18.5, -2.5, 0]) rotate([0, 45, 0]) cube([8, 8, 8]); // Air flow cut-out translate([11, 2.5, -1]) cube([7.5, 8, 6]); translate([13, 2.5, -1]) cube([10, 8, 9]); translate([14.75, 10, 5]) rotate([90, 0, 0]) cylinder(r=3.75, h=8, $fn=60); // Simple cut-out translate([4, 10.5, 26]) rotate([90, 0, 0]) cylinder(r=5, h=12, $fn=60); // And this just chops off excess material translate([4, -2, 21]) cube([16, 12, 6]); // Likewise translate([7.75, -7.1, -1]) rotate([0, 0, 45]) cube([10, 5, 24]); // Cut-out for probe translate([-3.8, 61.77 - 32, 13]) rotate([90, 0, 0]) cylinder(h=32, r=6.3, $fn=64); // Critically, must clear the mount plate translate([-3, -2.5, 0]) rotate([0, 45, 0]) cube([8, 3, 17]); } } // This cylinder represents the Z-probe itself. // Remove for rendering and STL generation // Position = 38mm from drive tip to nozzle tip, // Add back about 2mm /* translate([-3.8, 61.77 - 38, 13]) rotate([90, 0, 0]) cylinder(h=61.77, r=6, $fn=64); translate([-3.8, 61.77 - 52.5, 13]) rotate([90, 0, 0]) cylinder(h=4, r=19.2 / 2, $fn=6); translate([-3.8, 61.77 - 63, 13]) rotate([90, 0, 0]) cylinder(h=4, r=19.2 / 2, $fn=6); */ // This models the mount plate /* difference() { translate([0, -6, 22 - 100]) cube([32, 5, 100]); translate([-20.4, -17, 9]) rotate([0, 45, 0]) cube([20, 20, 20]); translate([-12, -17, 9]) cube([20, 20, 30]); translate([20, -0.5, 14.3]) rotate([90, 0, 0]) cylinder(r=4, h=10, $fn=60); } */