84 lines
2.7 KiB
OpenSCAD
84 lines
2.7 KiB
OpenSCAD
include <../box/box.scad>;
|
|
//mode = "layout";
|
|
//mode = "assembly";
|
|
|
|
outer_width = 2*inch;
|
|
outer_depth = outer_width * golden_ratio;
|
|
outer_height = outer_depth * golden_ratio;
|
|
//echo(str(outer_width/inch, " by ", outer_depth/inch, " by ", outer_height/inch, " inches"));
|
|
|
|
inc_top = false;
|
|
|
|
module barrier_A() {
|
|
panel("A", outer_width, outer_depth*0.5, 0, 1, 0, 1, margin=5);
|
|
}
|
|
|
|
module barrier_B() {
|
|
panel("B", outer_width, outer_depth*0.4, 0, 1, 0, 1, margin=5);
|
|
}
|
|
|
|
module barrier_C() {
|
|
panel("C", outer_width, outer_depth*0.7, 0, 1, 0, 1, margin=5);
|
|
}
|
|
|
|
module left_side() {
|
|
difference() {
|
|
union() {
|
|
left_side_base();
|
|
translate([outer_depth/2 - thickness, -outer_height/2 + 20 + thickness/2, 0])
|
|
square([2*thickness, 40 - thickness], center=true);
|
|
}
|
|
translate([-0.7*inch, 1.85*inch,0]) rotate([0,0,-25]) holes(1, outer_depth*0.5 - 10);
|
|
translate([ 0.8*inch, 0.10*inch,0]) rotate([0,0, 30]) holes(1, outer_depth*0.4 - 10);
|
|
translate([-0.3*inch,-1.80*inch,0]) rotate([0,0,-25]) holes(1, outer_depth*0.7 - 10);
|
|
}
|
|
}
|
|
|
|
module right_side() {
|
|
difference() {
|
|
union() {
|
|
right_side_base();
|
|
translate([-(outer_depth/2 - thickness), -outer_height/2 + 20 + thickness/2, 0])
|
|
square([2*thickness, 40 - thickness], center=true);
|
|
}
|
|
translate([ 0.7*inch, 1.85*inch,0]) rotate([0,0, 25]) holes(1, outer_depth*0.5 - 10);
|
|
translate([-0.8*inch, 0.10*inch,0]) rotate([0,0,-30]) holes(1, outer_depth*0.4 - 10);
|
|
translate([ 0.3*inch,-1.80*inch,0]) rotate([0,0, 25]) holes(1, outer_depth*0.7 - 10);
|
|
}
|
|
}
|
|
|
|
module front_side() {
|
|
difference() {
|
|
front_side_base();
|
|
translate([0,-outer_height/2 - 1*inch + 40,0]) square([outer_width+0.2, 2*inch], center=true);
|
|
}
|
|
}
|
|
|
|
module bottom_side() {
|
|
union() {
|
|
bottom_side_base();
|
|
translate([0, outer_depth/2 - thickness, 0])
|
|
square([outer_width, 2*thickness], center=true);
|
|
}
|
|
}
|
|
|
|
module extra_layout() {
|
|
translate([0, -(outer_height/2 + spacing + outer_width/2), 0]) {
|
|
translate([-(outer_width/2 + spacing + outer_depth + spacing + outer_width/2), 0, 0])
|
|
barrier_A();
|
|
translate([0, 48, 0]) barrier_B();
|
|
//translate([outer_width/2 + spacing + outer_depth/2, 0, 0])
|
|
translate([4, 0, 0])
|
|
rotate([0, 0, 90])
|
|
barrier_C();
|
|
}
|
|
}
|
|
|
|
module extra_assembly() {
|
|
translate([0, 0.7*inch, 1.85*inch]) rotate([ 25,0,0]) thicken() barrier_A();
|
|
translate([0,-0.8*inch, 0.10*inch]) rotate([-30,0,0]) thicken() barrier_B();
|
|
translate([0, 0.3*inch,-1.80*inch]) rotate([ 25,0,0]) thicken() barrier_C();
|
|
%translate([0,-10,20]) rotate([-30,45,0]) cube([19.5,19.5,19.5], center=true);
|
|
%translate([0,20,-15]) rotate([ 60,76,0]) cube([19.5,19.5,19.5], center=true);
|
|
}
|