summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2016-01-08 22:12:31 (UTC)
committer Michael Krelin <hacker@klever.net>2016-01-08 22:12:31 (UTC)
commit27efa0c51613605858ead6186af5b7e47f50c687 (patch) (unidiff)
treee91853f102742ead6950c0a08b303a4ecea4bba8
parentaf783b9334f536d8adde19d39ed948c5274fe948 (diff)
downloadredelta-27efa0c51613605858ead6186af5b7e47f50c687.zip
redelta-27efa0c51613605858ead6186af5b7e47f50c687.tar.gz
redelta-27efa0c51613605858ead6186af5b7e47f50c687.tar.bz2
duet holder part
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--delta.jscad5
1 files changed, 5 insertions, 0 deletions
diff --git a/delta.jscad b/delta.jscad
index dcf6fcc..855d4f9 100644
--- a/delta.jscad
+++ b/delta.jscad
@@ -732,48 +732,51 @@ function refaxes(o) {
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 rv = union(cols).union(sides.map(union)).union(feet);
754 rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]); 754 rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]);
755 return rv; 755 return rv;
756 },
757 duetholder: function(params) {
758 return duetholder();
756 } 759 }
757}; 760};
758 761
759function main(params) { 762function main(params) {
760 var part = params.part && PARTS[params.part]; 763 var part = params.part && PARTS[params.part];
761 if(!part) return refaxes(); 764 if(!part) return refaxes();
762 var rv = P(part(params)); 765 var rv = P(part(params));
763 if(!params.print) rv = rv.union(refaxes()); 766 if(!params.print) rv = rv.union(refaxes());
764 return rv; 767 return rv;
765} 768}
766 769
767function _main(params) { 770function _main(params) {
768 var e = EFFECTOR.effector(); 771 var e = EFFECTOR.effector();
769 var hs = E3DV6.heatsink(); 772 var hs = E3DV6.heatsink();
770 hs = hs.connectTo(hs.properties.grove_connector,e.properties.grove_connector,false,0); 773 hs = hs.connectTo(hs.properties.grove_connector,e.properties.grove_connector,false,0);
771 var ms = microswitch(); 774 var ms = microswitch();
772 var hd = EFFECTOR.hinged({ 775 var hd = EFFECTOR.hinged({
773 microswitch:ms,effector:e 776 microswitch:ms,effector:e
774 }); 777 });
775 ms = ms.connectTo( 778 ms = ms.connectTo(
776 ms.properties.screw_connector[0], 779 ms.properties.screw_connector[0],
777 hd.properties.microswitch_screw_connector[0], 780 hd.properties.microswitch_screw_connector[0],
778 false, 0); 781 false, 0);
779 var hdhd = EFFECTOR.split_hinged(hd); 782 var hdhd = EFFECTOR.split_hinged(hd);
@@ -783,46 +786,48 @@ function _main(params) {
783 hinged: hdhd[1], 786 hinged: hdhd[1],
784 clamp: hdhd[0], 787 clamp: hdhd[0],
785 fanholder: fh, 788 fanholder: fh,
786 alltogethernow: [e,hdhd[0],hdhd[1], columns(),hs,ms,fh] 789 alltogethernow: [e,hdhd[0],hdhd[1], columns(),hs,ms,fh]
787 }[params.part||'alltogethernow']) 790 }[params.part||'alltogethernow'])
788 var rv = union( 791 var rv = union(
789 e, 792 e,
790 hs, 793 hs,
791 columns(), 794 columns(),
792 ///hd, 795 ///hd,
793 hdhd[0], hdhd[1], 796 hdhd[0], hdhd[1],
794 ms); 797 ms);
795 return rv; 798 return rv;
796} 799}
797 800
798function getParameterDefinitions() { 801function getParameterDefinitions() {
799 return [{ 802 return [{
800 name: 'part', 803 name: 'part',
801 type: 'choice', 804 type: 'choice',
802 values: [ 805 values: [
803 'platform', 806 'platform',
804 'hinged', 807 'hinged',
805 'clamp', 808 'clamp',
806 'fanholder', 809 'fanholder',
810 'duetholder',
807 'alltogethernow', 811 'alltogethernow',
808 'wip' 812 'wip'
809 ], 813 ],
810 captions: [ 814 captions: [
811 'Effector platform', 815 'Effector platform',
812 'Hinged part', 816 'Hinged part',
813 'Clamp', 817 'Clamp',
814 'Fan holder', 818 'Fan holder',
819 'Duet holder',
815 'All together now!', 820 'All together now!',
816 'Work in progress' 821 'Work in progress'
817 ], 822 ],
818 caption: 'Part', 823 caption: 'Part',
819 initial: 'wip' 824 initial: 'wip'
820 },{ 825 },{
821 name: 'print', 826 name: 'print',
822 type: 'checkbox', 827 type: 'checkbox',
823 caption: 'For print, no nonsense', 828 caption: 'For print, no nonsense',
824 initial: false 829 initial: false
825 }]; 830 }];
826} 831}
827 832
828/* vim:set ft=javascript ai: */ 833/* vim:set ft=javascript ai: */