2024-04-09 20:13:09 +02:00
|
|
|
include <dimensions.scad>
|
|
|
|
|
|
|
|
|
|
module beam(){
|
2024-04-09 20:53:34 +02:00
|
|
|
cube(size=[topbeamthickness, toplength - 2 * topsidewidth, topheight], center=false);
|
2024-04-22 09:16:34 +02:00
|
|
|
// add lip for tongue/groove connection
|
|
|
|
|
translate([0, - topslitdepth, topheight - topslitoffsetfromtop - topslitheight])
|
2024-04-09 20:53:34 +02:00
|
|
|
cube([topbeamthickness, topslitdepth, topslitheight]);
|
2024-04-22 09:16:34 +02:00
|
|
|
// add lip for tongue/groove connection
|
|
|
|
|
translate([0, toplength - 2 * topsidewidth, topheight - topslitoffsetfromtop - topslitheight])
|
2024-04-09 20:53:34 +02:00
|
|
|
cube([topbeamthickness, topslitdepth, topslitheight]);
|
|
|
|
|
echo("#### Top beam: length = ", toplength - 2*topsidewidth + 2*topslitdepth, " height = ", topheight, "width = ", topbeamthickness);
|
2024-04-09 20:13:09 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
module topside(){
|
|
|
|
|
color("red")
|
2024-04-09 20:53:34 +02:00
|
|
|
difference(){
|
|
|
|
|
cube(size=[topdepth, topsidewidth, topsideheight], center=false);
|
2024-04-22 09:16:34 +02:00
|
|
|
translate([-20, topsidewidth-topslitdepth, topsideheight - topslitheight - topslitoffsetfromtop ]){
|
2024-04-09 20:53:34 +02:00
|
|
|
cube([topdepth+40, topslitdepth, topslitheight]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
echo("#### Top side beam: length = ", topdepth, " height = ", topsideheight, "width = ", topsidewidth);
|
2024-04-09 20:13:09 +02:00
|
|
|
}
|
|
|
|
|
|
2024-04-09 20:53:34 +02:00
|
|
|
|
2024-04-09 20:13:09 +02:00
|
|
|
beam();
|
|
|
|
|
topside();
|
|
|
|
|
|