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

View file

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

View file

@ -1,15 +1,25 @@
include <dimensions.scad> include <dimensions.scad>
module beam(){ module beam(){
cube(size=[topbeamthickness, toplength - 2 * topsidethickness, topheight], center=false); cube(size=[topbeamthickness, toplength - 2 * topsidewidth, topheight], center=false);
echo("#### Top beam: length = ", toplength - 2*topsidethickness + 2*topslitdepth, " height = ", topheight, "width = ", topbeamthickness); 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(){ module topside(){
color("red") color("red")
cube(size=[topdepth, topsidethickness, topheight], center=false); difference(){
echo("#### Top side beam: length = ", topdepth, " height = ", topheight, "width = ", topbeamthickness); 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(); beam();
topside(); topside();