include <../conf.scad>
use <../parts/crossbar.scad>
use <../parts/support_plate.scad>
use <../parts/stand.scad>
use <../parts/foot.scad>
use <../parts/rack_mount.scad>
use <../parts/rack_plate.scad>
$fn=10;
explode=0;
module main(explode=0) {
translate([0,0,-explode])
rotate([0,0,45])
crossbar();
translate([0,0,explode])
rotate([180,0,-45])
crossbar();
}
module support(explode=0) {
translate([0,0,explode])
translate([0,0,(frame_outer+support_height)/2])
support_plate();
translate([0,0,-explode])
translate([0,0,-(frame_outer+support_height)/2])
support_plate();
}
module stands(explode=0) {
translate([0,0,-explode])
for (i = [0:3]) {
rotate([0,0,i*90])
translate([stand_width/2,stand_width/2,-stand_height/2 - frame_outer/2])
stand();
}
}
module feet(explode=0) {
translate([0,0,-explode]) {
translate([0, stand_width/2, -stand_height - frame_outer/2])
foot();
translate([0, -stand_width/2, -stand_height - frame_outer/2])
foot();
}
}
module rack_mounts(explode=0) {
translate([0,0,explode])
for (i = [0:3]) {
rotate([0,0,i*90])
translate([rack_inner/2,rack_inner/2,0])
rack_mount();
}
}
main(explode);
support(explode*2);
stands(explode*3);
feet(explode*4);
rack_mounts(explode*10);
translate([0,0,30])
rack_plate();
translate([0,0,70])
rack_plate();
translate([0,0,-40])
rack_plate();
translate([0,0,-110])
rack_plate();