summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2016-01-07 20:55:09 (UTC)
committer Michael Krelin <hacker@klever.net>2016-01-07 20:55:09 (UTC)
commit38331f5dc2cb18d65baf24c5a181de1656c9b8c4 (patch) (side-by-side diff)
tree2f9f5c3dafce947d74ac94a9e212d18336242910
parent07d64020a23339f759f183c12ebda7a5f69acc78 (diff)
downloadredelta-38331f5dc2cb18d65baf24c5a181de1656c9b8c4.zip
redelta-38331f5dc2cb18d65baf24c5a181de1656c9b8c4.tar.gz
redelta-38331f5dc2cb18d65baf24c5a181de1656c9b8c4.tar.bz2
base sides generation separated
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--delta.jscad25
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);
}) );