-rw-r--r-- | delta.jscad | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/delta.jscad b/delta.jscad index e6516f9..7dedfab 100644 --- a/delta.jscad +++ b/delta.jscad @@ -541,24 +541,29 @@ var E2020 = { return rv; } }; var THREEWINDS = [0,120,240]; +function base_sides() { + return [0,1].map(function(l) { + return THREEWINDS.map(function(w) { + var e = E2020.extrusion({l:CONFIG.base.el}); + e = e.connectTo(e.properties.c_midway, + new CSG.Connector([0,-CD.base.mid_inscription_r,CONFIG.extrusion.w/2],[1,0,0],[0,0,1]), + false, 0); + return ( e.translate([0,0,CONFIG.foot.h+l*(CONFIG.extrusion.w+CONFIG.base.gap)]) + .rotateZ(w) + .setColor(CONFIG.color.extrusion) ); + }); + }); +} function base_extrusions() { - var rv = union( THREEWINDS.map(function(w) { - var e = E2020.extrusion({l:CONFIG.base.el}); - e = e.connectTo(e.properties.c_midway, - new CSG.Connector([0,-CD.base.mid_inscription_r,CONFIG.extrusion.w/2],[1,0,0],[0,0,1]), - false, 0); - return union( [0,CONFIG.extrusion.w+CONFIG.base.gap].map(function(z) { - return e.translate([0,0,z]); - }) ).rotateZ(w); - }) ); + var rv = union( base_sides().map(function(x){return union(x)}) ); rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]); - return rv.setColor(CONFIG.color.extrusion); + return rv; } function column_extrusions() { var rv = union( THREEWINDS.map(function(w) { return E2020.extrusion({l:CONFIG.column.h}).translate([0,CD.base.column_r,0]).rotateZ(w); }) ); |