initial draft

This commit is contained in:
wardwouts 2024-04-09 20:13:09 +02:00
parent da59840606
commit f3b5f12750
7 changed files with 138 additions and 0 deletions

View file

@ -0,0 +1,58 @@
include <dimensions.scad>
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-topheight]){
topside();
}
translate([0, toplength - topsidethickness, benchheight-topheight]){
topside();
}
// === stand bottom ===
translate([standoffset, standsideoffset, 0]){
standbottom();
}
translate([standoffset, toplength-standbeamthickness-standsideoffset, 0]){
standbottom();
}
// === stand top ===
translate([standoffset+standvertoffset, standsideoffset, benchheight-topheight-standbeamthickness]){
standtop();
}
translate([standoffset+standvertoffset, toplength-standbeamthickness-standsideoffset, benchheight-topheight-standbeamthickness]){
standtop();
}
// === stand verticals ===
translate([standoffset+standvertoffset, standsideoffset, standbeamthickness]){
standvertical();
}
translate([topdepth-standoffset-standvertoffset-standbeamthickness, standsideoffset, standbeamthickness]){
standvertical();
}
translate([standoffset+standvertoffset, toplength-standsideoffset-standbeamthickness, standbeamthickness]){
standvertical();
}
translate([topdepth-standoffset-standvertoffset-standbeamthickness, toplength-standsideoffset-standbeamthickness, standbeamthickness]){
standvertical();
}
// === connector beams ===
translate([topdepth-standoffset-standvertoffset-standbeamthickness/2-connectorthickness/2, standsideoffset+standbeamthickness, connectorgroundoffset]){
connector();
}
translate([standoffset+standvertoffset+standbeamthickness/2-connectorthickness/2, standsideoffset+standbeamthickness, connectorgroundoffset]){
connector();
}

View file

@ -0,0 +1,9 @@
include <dimensions.scad>
module connector(){
color("pink")
cube(size=[connectorthickness, toplength - 2*standbeamthickness - 2*standsideoffset, connectorheight], center=false);
echo("#### Connector: length = ", toplength - 2*standbeamthickness - 2*standsideoffset, " height = ", connectorheight, "width = ", connectorthickness);
}
connector();

View file

@ -0,0 +1,20 @@
// details in arcs
FN=40;
toplength = 1500;
topdepth = 630;
topheight = 50;
topbeamthickness = 45;
topsidethickness = 50;
topslitdepth = 20;
connectorheight = 100;
connectorthickness = 30;
connectorgroundoffset= 200;
benchheight = 960;
standbeamthickness = 70;
standoffset = 50;
standsideoffset = 100;
standvertoffset = 50;

3
Werkbank-balken/partlist.sh Executable file
View file

@ -0,0 +1,3 @@
#!/bin/sh
openscad -o blup.dxf assembly.scad 2>&1|grep '####'|sort|awk 'BEGIN{count=0;prevline=""}{if(prevline == $0){count += 1} else {print(count, "x ", prevline);count=1;prevline=$0; }}END{print(count, "x ", prevline)}'

10
Werkbank-balken/parts Normal file
View file

@ -0,0 +1,10 @@
0 x
1 x ECHO: "#### Back: width = ", 477, " height = ", 570
2 x ECHO: "#### Bottom length = ", 807, " width = ", 477
1 x ECHO: "#### Divider: width = ", 441, " height = ", 570
1 x ECHO: "#### Middle: width = ", 441, " height = ", 570
2 x ECHO: "#### Side panel height = ", 570, " length = ", 348
20 x ECHO: "#### Slider: thickness = ", 18, " height = ", 18, " length = ", 300
2 x ECHO: "#### Strengthening piece width = ", 88, " length = ", 477
2 x ECHO: "#### Strengthening piece width = ", 88, " length = ", 631
1 x ECHO: "#### Total height: ", 697

View file

@ -0,0 +1,22 @@
include <dimensions.scad>
module standbottom(){
cube(size=[topdepth - 2*standoffset, standbeamthickness, standbeamthickness], center=false);
echo("#### Stand bottom beam: length = ", topdepth - 2*standoffset, " height = ", standbeamthickness, "width = ", standbeamthickness);
}
module standtop(){
color("blue")
cube(size=[topdepth - 2*standoffset - 2*standvertoffset, standbeamthickness, standbeamthickness], center=false);
echo("#### Stand top beam: length = ", topdepth - 2*standoffset - 2*standvertoffset, " height = ", standbeamthickness, "width = ", standbeamthickness);
}
module standvertical(){
color("green")
cube(size=[standbeamthickness, standbeamthickness, benchheight-topheight-2*standbeamthickness], center=false);
echo("#### Stand vertical beam: length = ", benchheight-topheight-2*standbeamthickness, " height = ", standbeamthickness, "width = ", standbeamthickness);
}
standbottom();
standvertical();
standtop();

16
Werkbank-balken/top.scad Normal file
View file

@ -0,0 +1,16 @@
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);
}
module topside(){
color("red")
cube(size=[topdepth, topsidethickness, topheight], center=false);
echo("#### Top side beam: length = ", topdepth, " height = ", topheight, "width = ", topbeamthickness);
}
beam();
topside();