include use use use // === 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(); }