summaryrefslogtreecommitdiffabout
path: root/delta.jscad
authorMichael Krelin <hacker@klever.net>2016-01-08 22:12:54 (UTC)
committer Michael Krelin <hacker@klever.net>2016-01-08 22:12:54 (UTC)
commit34a65279effcec5f51a9853846f6593dadb72246 (patch) (unidiff)
tree940d9336e321939778770b7fd5d59da5946aacec /delta.jscad
parent27efa0c51613605858ead6186af5b7e47f50c687 (diff)
downloadredelta-34a65279effcec5f51a9853846f6593dadb72246.zip
redelta-34a65279effcec5f51a9853846f6593dadb72246.tar.gz
redelta-34a65279effcec5f51a9853846f6593dadb72246.tar.bz2
duet holder in alltogethernow
Diffstat (limited to 'delta.jscad') (more/less context) (ignore whitespace changes)
-rw-r--r--delta.jscad13
1 files changed, 12 insertions, 1 deletions
diff --git a/delta.jscad b/delta.jscad
index 855d4f9..01a5dc7 100644
--- a/delta.jscad
+++ b/delta.jscad
@@ -729,49 +729,60 @@ function refaxes(o) {
729 var l = o.l||20, g = o.g||0.7; 729 var l = o.l||20, g = o.g||0.7;
730 return union([ 730 return union([
731 CSG.roundedCylinder({start:[0,0,0],end:[l,0,0]}).setColor([1,0,0,g]), 731 CSG.roundedCylinder({start:[0,0,0],end:[l,0,0]}).setColor([1,0,0,g]),
732 CSG.roundedCylinder({start:[0,0,0],end:[0,l,0]}).setColor([0,1,0,g]), 732 CSG.roundedCylinder({start:[0,0,0],end:[0,l,0]}).setColor([0,1,0,g]),
733 CSG.roundedCylinder({start:[0,0,0],end:[0,0,l]}).setColor([0,0,1,g]) 733 CSG.roundedCylinder({start:[0,0,0],end:[0,0,l]}).setColor([0,0,1,g])
734 ]); 734 ]);
735} 735}
736 736
737function P(x) { 737function P(x) {
738 return x.connectTo(x.properties.P,new CSG.Connector([0,0,0],[0,0,1],[1,0,0]), false, 0); 738 return x.connectTo(x.properties.P,new CSG.Connector([0,0,0],[0,0,1],[1,0,0]), false, 0);
739} 739}
740 740
741var PARTS = { 741var PARTS = {
742 wip: function(params) { 742 wip: function(params) {
743 return foot(); 743 return foot();
744 return union(base_extrusions(),column_extrusions(),duet()); 744 return union(base_extrusions(),column_extrusions(),duet());
745 alltogethernow: function(params) { 745 alltogethernow: function(params) {
746 var cols = columns(); 746 var cols = columns();
747 var sides = base_sides(); 747 var sides = base_sides();
748 var feet = THREEWINDS.map(function(w,i) { 748 var feet = THREEWINDS.map(function(w,i) {
749 var rv = foot(); 749 var rv = foot();
750 rv = rv.connectTo(rv.properties.c_column,cols[i].properties.c_bottom,false,0); 750 rv = rv.connectTo(rv.properties.c_column,cols[i].properties.c_bottom,false,0);
751 return rv; 751 return rv;
752 }); 752 });
753 var rv = union(cols).union(sides.map(union)).union(feet); 753 var dh = duetholder();
754 var dhsw = dh.connectTo(dh.properties.c_h,
755 new CSG.Connector([-CONFIG.duet.hole_spacing.x/2,-CD.base.mid_inscription_r,CONFIG.foot.h],[0,0,1],[1,0,0]),
756 false,0);
757 var d = duet();
758 d = d.connectTo(d.properties.holes.c_sw,dhsw.properties.duet.c_sw,false,0);
759 var dhse = dh.connectTo(dh.properties.duet.c_se,d.properties.holes.c_se,false,0);
760 var dhne = dh.connectTo(dh.properties.duet.c_ne,d.properties.holes.c_ne,false,0);
761 var dhnw = dh.connectTo(dh.properties.duet.c_nw,d.properties.holes.c_nw,false,0);
762 var rv = union(cols).union(sides.map(union)).union(feet).union([
763 d,dhsw,dhse,dhne,dhnw
764 ]);
754 rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]); 765 rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]);
755 return rv; 766 return rv;
756 }, 767 },
757 duetholder: function(params) { 768 duetholder: function(params) {
758 return duetholder(); 769 return duetholder();
759 } 770 }
760}; 771};
761 772
762function main(params) { 773function main(params) {
763 var part = params.part && PARTS[params.part]; 774 var part = params.part && PARTS[params.part];
764 if(!part) return refaxes(); 775 if(!part) return refaxes();
765 var rv = P(part(params)); 776 var rv = P(part(params));
766 if(!params.print) rv = rv.union(refaxes()); 777 if(!params.print) rv = rv.union(refaxes());
767 return rv; 778 return rv;
768} 779}
769 780
770function _main(params) { 781function _main(params) {
771 var e = EFFECTOR.effector(); 782 var e = EFFECTOR.effector();
772 var hs = E3DV6.heatsink(); 783 var hs = E3DV6.heatsink();
773 hs = hs.connectTo(hs.properties.grove_connector,e.properties.grove_connector,false,0); 784 hs = hs.connectTo(hs.properties.grove_connector,e.properties.grove_connector,false,0);
774 var ms = microswitch(); 785 var ms = microswitch();
775 var hd = EFFECTOR.hinged({ 786 var hd = EFFECTOR.hinged({
776 microswitch:ms,effector:e 787 microswitch:ms,effector:e
777 }); 788 });