Most of the frame up to the Y sleds is done
This commit is contained in:
82
assembly.scad
Normal file
82
assembly.scad
Normal file
@@ -0,0 +1,82 @@
|
||||
use_colors = true;
|
||||
|
||||
xsize = 500;
|
||||
ysize = 400;
|
||||
sled_size = 6 * 25.4;
|
||||
|
||||
cur_xpos = 100;
|
||||
cur_ypos = 200;
|
||||
|
||||
include <parts.scad>;
|
||||
|
||||
|
||||
csize = 15;
|
||||
|
||||
module frame() {
|
||||
translate([corner_offset, 0, 0])
|
||||
rotate([0, 90, 0])
|
||||
tslot(xsize - 2 * corner_offset);
|
||||
|
||||
translate([0, corner_offset, 0])
|
||||
rotate([-90, 0, 0])
|
||||
tslot(ysize - 2*corner_offset);
|
||||
|
||||
translate([corner_offset, ysize, 0])
|
||||
rotate([0, 90, 0])
|
||||
tslot(xsize - 2*corner_offset);
|
||||
|
||||
translate([xsize, corner_offset, 0])
|
||||
rotate([-90, 0, 0])
|
||||
tslot(ysize - 2*corner_offset);
|
||||
}
|
||||
module corners() {
|
||||
render() {
|
||||
translate([0,0]) flcorner();
|
||||
translate([xsize, 0, 0]) frcorner();
|
||||
translate([xsize, ysize, 0]) brcorner();
|
||||
translate([0, ysize, 0]) blcorner();
|
||||
}
|
||||
}
|
||||
|
||||
module rails() {
|
||||
frame_offset = frame_size / 2 + corner_size / 2;
|
||||
colorize(stock_color)
|
||||
{
|
||||
for (xpos = [frame_offset, xsize - frame_offset]) {
|
||||
translate([xpos,
|
||||
frame_size / 2 + wall_thickness])
|
||||
rotate([-90, 0, 0])
|
||||
cylinder(d = rail_diam, h = ysize - corner_offset * 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module ysled_rails() {
|
||||
frame_offset = frame_size + corner_size / 2;
|
||||
yoff = (sled_size + ysled_extralen * 2 - frame_size) / 2;
|
||||
colorize(stock_color)
|
||||
for (ypos = [-yoff, yoff])
|
||||
translate([frame_size / 2, ypos, 0])
|
||||
rotate([0, 90, 0])
|
||||
cylinder(d = rail_diam, h = xsize - frame_size * 2 - corner_size);
|
||||
}
|
||||
|
||||
|
||||
|
||||
union() {
|
||||
frame();
|
||||
rails();
|
||||
corners();
|
||||
}
|
||||
|
||||
translate([frame_size / 2 + corner_size / 2, cur_ypos, 0]) {
|
||||
ysled(associated_parts = true);
|
||||
translate([xsize - frame_size - corner_size, 0, 0])
|
||||
rotate([0, 180, 0])
|
||||
ysled(associated_parts = true);
|
||||
ysled_rails();
|
||||
}
|
||||
|
||||
//translate([0, 0, -1000]) cube(2000, center=true);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user