use ; use ; use ; use ; use ; bottmoutline(); bottomAngleBrackets(); horizontalProfile(); YAxis(); printBed(); zMotor(); module bottmoutline() { // draw alu profiles translate([0, - 40, 0]) aluProfile(400); translate([0, 400, 0]) aluProfile(400); translate([0, - 40, 0]) rotate([0, 0, 90]) aluProfile(480); translate([440, - 40, 0]) rotate([0, 0, 90]) aluProfile(480); // linear rails translate([70, 0, 20]) rotate([-90, 0, 0]) linear_rail(400); translate([330, 0, 20]) rotate([-90, 0, 0]) linear_rail(400); } module bottomAngleBrackets() { // draw angle bracktes angle_bracket(); translate([400, 0, 0]) rotate([0, 0, 90]) angle_bracket(); translate([400, 400, 0]) rotate([0, 0, 180]) angle_bracket(); translate([0, 400, 0]) rotate([0, 0, 270]) angle_bracket(); } module horizontalProfile() { height = 600; translate([- 40, 180, 0]) rotate([0, - 90, 0]) halfAluProfile(height); translate([460, 180, 0]) rotate([0, - 90, 0]) halfAluProfile(height); // upper part translate([- 60, 180, height]) halfAluProfile(520); // add the horitzontal angle bracktes translate([- 40, 135, 0]) rotate([0, 0, 90]) horizontal_angle_bracket(); translate([440, 265, 0]) rotate([0, 0, 270]) horizontal_angle_bracket(); // angle brackets up translate([- 40, 220, height]) rotate([90, 90, 0]) angle_bracket(); translate([440, 180, height]) rotate([- 90, 90, 0]) angle_bracket(); } module YAxis() { translate([160, 0, 0]) Motorhalter(); translate([214, 400, 0]) rotate([0, 0, 180]) YRollHolder(); translate([202.5, 26.6, 21]) rotate([0, -90, 0]) Nema17(); } module printBed() { translate([50, 50, 50]) halfAluProfile(300); translate([50, 300, 50]) halfAluProfile(300); translate([90, 90, 50]) rotate([0, 0, 90]) halfAluProfile(220); translate([350, 90, 50]) rotate([0, 0, 90]) halfAluProfile(220); } module zMotor(){ translate([20, 200, 41]) rotate([0, 180, 0]) Nema17(); translate([380, 200, 41]) rotate([0, 180, 0]) Nema17(); } // -- MODULES -- // module aluProfile(length) { color("#dddddd") cube([length, 40, 40]); } module halfAluProfile(length) { color("#dddddd") cube([length, 40, 20]); } module linear_rail(length) { color("#cccccc") cylinder(h = length, d = 8, $fn=33); }