author | Michael Krelin <hacker@klever.net> | 2016-01-06 23:46:23 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2016-01-06 23:46:23 (UTC) |
commit | 8cd03b0c3f807d552a6721886a3af0af8b592a1c (patch) (side-by-side diff) | |
tree | 79ce55cc3f5cb564be9801f5ac276db649ad4d4b | |
parent | 70e08848566d909a76fa3f611d35570c57f8e048 (diff) | |
download | redelta-8cd03b0c3f807d552a6721886a3af0af8b592a1c.zip redelta-8cd03b0c3f807d552a6721886a3af0af8b592a1c.tar.gz redelta-8cd03b0c3f807d552a6721886a3af0af8b592a1c.tar.bz2 |
column extrusions
-rw-r--r-- | delta.jscad | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/delta.jscad b/delta.jscad index 9941125..043f6f8 100644 --- a/delta.jscad +++ b/delta.jscad @@ -536,32 +536,40 @@ var E2020 = { var THREEWINDS = [0,120,240]; 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); }) ); rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]); return rv.setColor(CONFIG.color.extrusion); } +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); + }) ); + rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]); + return rv.setColor(CONFIG.color.extrusion); +} + function refaxes(o) { if(!o) o = {}; var l = o.l||20, g = o.g||0.7; return union([ CSG.cylinder({start:[0,0,0],end:[l,0,0]}).setColor([1,0,0,g]), CSG.cylinder({start:[0,0,0],end:[0,l,0]}).setColor([0,1,0,g]), CSG.cylinder({start:[0,0,0],end:[0,0,l]}).setColor([0,0,1,g]) ]); } function P(x) { return x.connectTo(x.properties.P,new CSG.Connector([0,0,0],[0,0,1],[1,0,0]), false, 0); } function main(params) { return refaxes().union(P(base_extrusions())); |