96 lines
2.5 KiB
OpenSCAD
96 lines
2.5 KiB
OpenSCAD
use <angle_bracket.scad>;
|
|
use <horizontal_angle_bracket.scad>;
|
|
use <Motorhalter.scad>;
|
|
use <YRollHolder.scad>;
|
|
use <Motor.scad>;
|
|
|
|
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, 240, 81]) rotate([0, 180, 0]) Nema17();
|
|
translate([-20, 240, 97]) linear_rail(500);
|
|
|
|
// add lead screws
|
|
translate([420, 240, 81]) rotate([0, 180, 0]) Nema17();
|
|
translate([420, 240, 97]) linear_rail(500);
|
|
}
|
|
|
|
// -- 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);
|
|
}
|
|
|
|
module bearing(){
|
|
cylinder(h = length, d = 8, $fn=33);
|
|
} |