author | Michael Krelin <hacker@klever.net> | 2016-01-07 20:55:09 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2016-01-07 20:55:09 (UTC) |
commit | 38331f5dc2cb18d65baf24c5a181de1656c9b8c4 (patch) (unidiff) | |
tree | 2f9f5c3dafce947d74ac94a9e212d18336242910 | |
parent | 07d64020a23339f759f183c12ebda7a5f69acc78 (diff) | |
download | redelta-38331f5dc2cb18d65baf24c5a181de1656c9b8c4.zip redelta-38331f5dc2cb18d65baf24c5a181de1656c9b8c4.tar.gz redelta-38331f5dc2cb18d65baf24c5a181de1656c9b8c4.tar.bz2 |
base sides generation separated
-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 | |||
@@ -544,18 +544,23 @@ var E2020 = { | |||
544 | 544 | ||
545 | var THREEWINDS = [0,120,240]; | 545 | var THREEWINDS = [0,120,240]; |
546 | 546 | ||
547 | function base_sides() { | ||
548 | return [0,1].map(function(l) { | ||
549 | return THREEWINDS.map(function(w) { | ||
550 | var e = E2020.extrusion({l:CONFIG.base.el}); | ||
551 | e = e.connectTo(e.properties.c_midway, | ||
552 | new CSG.Connector([0,-CD.base.mid_inscription_r,CONFIG.extrusion.w/2],[1,0,0],[0,0,1]), | ||
553 | false, 0); | ||
554 | return ( e.translate([0,0,CONFIG.foot.h+l*(CONFIG.extrusion.w+CONFIG.base.gap)]) | ||
555 | .rotateZ(w) | ||
556 | .setColor(CONFIG.color.extrusion) ); | ||
557 | }); | ||
558 | }); | ||
559 | } | ||
547 | function base_extrusions() { | 560 | function base_extrusions() { |
548 | var rv = union( THREEWINDS.map(function(w) { | 561 | var rv = union( base_sides().map(function(x){return union(x)}) ); |
549 | var e = E2020.extrusion({l:CONFIG.base.el}); | ||
550 | e = e.connectTo(e.properties.c_midway, | ||
551 | new CSG.Connector([0,-CD.base.mid_inscription_r,CONFIG.extrusion.w/2],[1,0,0],[0,0,1]), | ||
552 | false, 0); | ||
553 | return union( [0,CONFIG.extrusion.w+CONFIG.base.gap].map(function(z) { | ||
554 | return e.translate([0,0,z]); | ||
555 | }) ).rotateZ(w); | ||
556 | }) ); | ||
557 | rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]); | 562 | rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]); |
558 | return rv.setColor(CONFIG.color.extrusion); | 563 | return rv; |
559 | } | 564 | } |
560 | 565 | ||
561 | function column_extrusions() { | 566 | function column_extrusions() { |