summaryrefslogtreecommitdiffabout
path: root/delta.jscad
Side-by-side diff
Diffstat (limited to 'delta.jscad') (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);
}) );