add side mortice connection

This commit is contained in:
wardwouts 2024-04-09 20:53:34 +02:00
parent f3b5f12750
commit 554b1a4552
3 changed files with 29 additions and 16 deletions

View file

@ -4,19 +4,20 @@ use <top.scad>
use <stand.scad>
use <connector.scad>
// === topbeams ===
for (i=[0:topdepth/topbeamthickness-1]) {
translate([topbeamthickness*i, topsidethickness, benchheight-topheight]) {
beam();
}
// === top sides ===
translate([0, 0, benchheight-topsideheight]){
topside();
}
translate([topdepth, toplength, benchheight-topsideheight]){
rotate([0, 0, 180])
topside();
}
// === top sides ===
translate([0, 0, benchheight-topheight]){
topside();
}
translate([0, toplength - topsidethickness, benchheight-topheight]){
topside();
// === topbeams ===
for (i=[0:topdepth/topbeamthickness-1]) {
translate([topbeamthickness*i, topsidewidth, benchheight-topheight]) {
beam();
}
}
// === stand bottom ===

View file

@ -5,8 +5,10 @@ toplength = 1500;
topdepth = 630;
topheight = 50;
topbeamthickness = 45;
topsidethickness = 50;
topsidewidth = 65;
topsideheight = 80;
topslitdepth = 20;
topslitheight = 14;
connectorheight = 100;
connectorthickness = 30;

View file

@ -1,16 +1,26 @@
include <dimensions.scad>
module beam(){
cube(size=[topbeamthickness, toplength - 2 * topsidethickness, topheight], center=false);
echo("#### Top beam: length = ", toplength - 2*topsidethickness + 2*topslitdepth, " height = ", topheight, "width = ", topbeamthickness);
cube(size=[topbeamthickness, toplength - 2 * topsidewidth, topheight], center=false);
translate([0, - topslitdepth, topheight/2 - topslitheight/2])
cube([topbeamthickness, topslitdepth, topslitheight]);
translate([0, toplength - 2 * topsidewidth, topheight/2 - topslitheight/2])
cube([topbeamthickness, topslitdepth, topslitheight]);
echo("#### Top beam: length = ", toplength - 2*topsidewidth + 2*topslitdepth, " height = ", topheight, "width = ", topbeamthickness);
}
module topside(){
color("red")
cube(size=[topdepth, topsidethickness, topheight], center=false);
echo("#### Top side beam: length = ", topdepth, " height = ", topheight, "width = ", topbeamthickness);
difference(){
cube(size=[topdepth, topsidewidth, topsideheight], center=false);
translate([-20, topsidewidth-topslitdepth, topsideheight - topheight/2 - topslitheight/2]){
cube([topdepth+40, topslitdepth, topslitheight]);
}
}
echo("#### Top side beam: length = ", topdepth, " height = ", topsideheight, "width = ", topsidewidth);
}
beam();
topside();