initial draft
This commit is contained in:
parent
da59840606
commit
f3b5f12750
7 changed files with 138 additions and 0 deletions
58
Werkbank-balken/assembly.scad
Normal file
58
Werkbank-balken/assembly.scad
Normal 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();
|
||||||
|
}
|
||||||
9
Werkbank-balken/connector.scad
Normal file
9
Werkbank-balken/connector.scad
Normal 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();
|
||||||
20
Werkbank-balken/dimensions.scad
Normal file
20
Werkbank-balken/dimensions.scad
Normal 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
3
Werkbank-balken/partlist.sh
Executable 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
10
Werkbank-balken/parts
Normal 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
|
||||||
22
Werkbank-balken/stand.scad
Normal file
22
Werkbank-balken/stand.scad
Normal 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
16
Werkbank-balken/top.scad
Normal 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();
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue