mirror of
https://github.com/nophead/Mendel90.git
synced 2025-01-16 20:38:15 +01:00
101 lines
3.5 KiB
OpenSCAD
101 lines
3.5 KiB
OpenSCAD
//
|
|
// Mendel90
|
|
//
|
|
// GNU GPL v2
|
|
// nop.head@gmail.com
|
|
// hydraraptor.blogspot.com
|
|
//
|
|
// Bed with glass and support pillars
|
|
//
|
|
include <conf/config.scad>
|
|
include <positions.scad>
|
|
|
|
module bed_assembly(y = 0) {
|
|
glass_width = vero_bed ? bed_width - 6 * 2.54 : bed_width;
|
|
glass_depth = vero_bed ? bed_depth : bed_depth - 12;
|
|
|
|
//
|
|
// Screws pillars and washers
|
|
//
|
|
for(x = [-bed_holes[0] / 2, bed_holes[0] / 2]) {
|
|
translate([x, bed_holes[1] / 2, 0])
|
|
washer(M3_washer);
|
|
|
|
translate([x, -bed_holes[1] / 2 - washer_diameter(M3_washer) / 2 - 3 / 2, 0])
|
|
washer(M3_washer);
|
|
|
|
for(y = [-bed_holes[1] / 2, bed_holes[1] /2])
|
|
translate([x, y, washer_thickness(M3_washer)]) {
|
|
hex_pillar(bed_pillars);
|
|
|
|
translate([0,0, pillar_height(bed_pillars) + pcb_thickness])
|
|
screw(M3_cap_screw, 10);
|
|
}
|
|
}
|
|
|
|
//
|
|
// PCB, glass and clips
|
|
//
|
|
translate([0, 0, washer_thickness(M3_washer)]) {
|
|
vitamin(str("BED", bed_width, bed_depth,": PCB bed ", bed_width, "mm x ", bed_depth, "mm"));
|
|
translate([0,0, pillar_height(bed_pillars) + pcb_thickness / 2])
|
|
color(bed_color) cube([bed_width, bed_depth, pcb_thickness], center = true);
|
|
|
|
translate([0,0, pillar_height(bed_pillars) + pcb_thickness + sheet_thickness(bed_glass) / 2 + eta * 3])
|
|
sheet(bed_glass, glass_width, glass_depth);
|
|
|
|
for(x = [-1, 1])
|
|
for(y = [-1,1])
|
|
if(glass_width == bed_width)
|
|
translate([glass_width / 2 * x,
|
|
(glass_depth / 2 - bulldog_length(small_bulldog) / 2) * y,
|
|
pillar_height(bed_pillars) + (pcb_thickness + sheet_thickness(bed_glass))/ 2])
|
|
rotate([0, 0, 90 + x * 90])
|
|
bulldog(small_bulldog, pcb_thickness + sheet_thickness(bed_glass));
|
|
else
|
|
translate([(glass_width / 2 - bulldog_length(small_bulldog) / 2) * x,
|
|
glass_depth / 2 * y,
|
|
pillar_height(bed_pillars) + (pcb_thickness + sheet_thickness(bed_glass))/ 2])
|
|
rotate([0, 0, -y * 90])
|
|
bulldog(small_bulldog, pcb_thickness + sheet_thickness(bed_glass));
|
|
|
|
//
|
|
// Mark the origin
|
|
//
|
|
if(show_rays)
|
|
translate([0, 0, pillar_height(bed_pillars) + pcb_thickness + sheet_thickness(bed_glass)])
|
|
color("green")
|
|
render()
|
|
sphere();
|
|
|
|
|
|
}
|
|
|
|
|
|
translate([0, 40, pillar_height(bed_pillars) - 1])
|
|
rotate([-90, 0, 0])
|
|
sleeved_resistor(EpcosBlue, PTFE07, heatshrink = HSHRNK16);
|
|
|
|
for(i = [-1, 1]) {
|
|
translate([i * 10, bed_depth / 2 - y + 17.5, -(Y_carriage_height + sheet_thickness(Y_carriage) / 2) + 3.4])
|
|
rotate([90, 0, 0])
|
|
tubing(HSHRNK64, 30);
|
|
|
|
translate([i * 3, bed_depth / 2 - y + 10, -(Y_carriage_height + sheet_thickness(Y_carriage) / 2) + 1.4])
|
|
rotate([90, 0, 0])
|
|
tubing(HSHRNK24);
|
|
}
|
|
wire("Red", 32, 600 + 20);
|
|
wire("Black", 32, 615 + 20);
|
|
ribbon_cable(bed_ways,
|
|
10 + // strip
|
|
70 + // loop under bed
|
|
5 + // loop to other side of carriage
|
|
cable_strip_length(y_cable_strip_depth, Y_travel)
|
|
+ 25 // tail for connection to wire
|
|
);
|
|
|
|
}
|
|
|
|
bed_assembly();
|