summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2016-01-12 21:17:08 (UTC)
committer Michael Krelin <hacker@klever.net>2016-01-12 21:17:08 (UTC)
commit64a6bb173fd448fd0b8557f3ae79625380127a7e (patch) (unidiff)
tree1ed100596d79aa95899df14e3889970996629664
parent717f3676d93e8b2f8d71ea4b25461614becb79ef (diff)
downloadredelta-64a6bb173fd448fd0b8557f3ae79625380127a7e.zip
redelta-64a6bb173fd448fd0b8557f3ae79625380127a7e.tar.gz
redelta-64a6bb173fd448fd0b8557f3ae79625380127a7e.tar.bz2
added foot and shoe parts, connected to alltogethernow
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--delta.jscad15
1 files changed, 11 insertions, 4 deletions
diff --git a/delta.jscad b/delta.jscad
index 8233e74..5621f0f 100644
--- a/delta.jscad
+++ b/delta.jscad
@@ -647,17 +647,17 @@ function foot() {
647 ]).union(CSG.cylinder({ // bridging patch 647 ]).union(CSG.cylinder({ // bridging patch
648 start: [0,0,F.h-F.nut.h-PRINT.play_tolerance-PRINT.layer_height], 648 start: [0,0,F.h-F.nut.h-PRINT.play_tolerance-PRINT.layer_height],
649 end: [0,0,F.h-F.nut.h-PRINT.play_tolerance], 649 end: [0,0,F.h-F.nut.h-PRINT.play_tolerance],
650 radius: F.nut.d/2 650 radius: F.nut.d/2
651 })); 651 }));
652 rv.properties.c_column = new CSG.Connector([0,0,F.h],[0,0,1],[1,0,0]); 652 rv.properties.c_column = new CSG.Connector([0,0,F.h],[0,0,1],[1,0,0]);
653 rv.properties.c_shoe = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]);
653 rv.properties.P = new CSG.Connector([0,0,F.h],[0,0,-1],[1,0,0]); 654 rv.properties.P = new CSG.Connector([0,0,F.h],[0,0,-1],[1,0,0]);
654 return rv.setColor(CONFIG.color.parts); 655 return rv.setColor(CONFIG.color.parts);
655} 656}
656function foot_foot() { 657function shoe() {
657 // TODO: connect in the altogethernow?
658 var F = CONFIG.foot; 658 var F = CONFIG.foot;
659 var rv = CSG.cylinder({ 659 var rv = CSG.cylinder({
660 start: [0,0,0], end: [0,0,F.foot.ho], 660 start: [0,0,0], end: [0,0,F.foot.ho],
661 radius: F.bolt.hd/2+F.margin 661 radius: F.bolt.hd/2+F.margin
662 }).union(CSG.cylinder({ 662 }).union(CSG.cylinder({
663 start: [0,0,0], end: [0,0,F.foot.ho+F.foot.hi], 663 start: [0,0,0], end: [0,0,F.foot.ho+F.foot.hi],
@@ -749,13 +749,15 @@ var PARTS = {
749 alltogethernow: function(params) { 749 alltogethernow: function(params) {
750 var cols = columns(); 750 var cols = columns();
751 var sides = base_sides(); 751 var sides = base_sides();
752 var feet = THREEWINDS.map(function(w,i) { 752 var feet = THREEWINDS.map(function(w,i) {
753 var rv = foot(); 753 var rv = foot();
754 rv = rv.connectTo(rv.properties.c_column,cols[i].properties.c_bottom,false,0); 754 rv = rv.connectTo(rv.properties.c_column,cols[i].properties.c_bottom,false,0);
755 return rv; 755 var s = shoe();
756 s = s.connectTo(s.properties.c_foot,rv.properties.c_shoe,false,0);
757 return rv.union(s);
756 }); 758 });
757 var dh = duetholder(); 759 var dh = duetholder();
758 var dhsw = dh.connectTo(dh.properties.c_h, 760 var dhsw = dh.connectTo(dh.properties.c_h,
759 new CSG.Connector([-CONFIG.duet.hole_spacing.x/2,-CD.base.mid_inscription_r,CONFIG.foot.h],[0,0,1],[1,0,0]), 761 new CSG.Connector([-CONFIG.duet.hole_spacing.x/2,-CD.base.mid_inscription_r,CONFIG.foot.h],[0,0,1],[1,0,0]),
760 false,0); 762 false,0);
761 var d = duet(); 763 var d = duet();
@@ -768,13 +770,15 @@ var PARTS = {
768 ]); 770 ]);
769 rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]); 771 rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]);
770 return rv; 772 return rv;
771 }, 773 },
772 duetholder: function(params) { 774 duetholder: function(params) {
773 return duetholder(); 775 return duetholder();
774 } 776 },
777 foot: foot,
778 shoe: shoe
775}; 779};
776 780
777function main(params) { 781function main(params) {
778 var part = params.part && PARTS[params.part]; 782 var part = params.part && PARTS[params.part];
779 if(!part) return refaxes(); 783 if(!part) return refaxes();
780 var rv = P(part(params)); 784 var rv = P(part(params));
@@ -820,21 +824,24 @@ function getParameterDefinitions() {
820 values: [ 824 values: [
821 'platform', 825 'platform',
822 'hinged', 826 'hinged',
823 'clamp', 827 'clamp',
824 'fanholder', 828 'fanholder',
825 'duetholder', 829 'duetholder',
830 'foot', 'shoe',
826 'alltogethernow', 831 'alltogethernow',
827 'wip' 832 'wip'
828 ], 833 ],
829 captions: [ 834 captions: [
830 'Effector platform', 835 'Effector platform',
831 'Hinged part', 836 'Hinged part',
832 'Clamp', 837 'Clamp',
833 'Fan holder', 838 'Fan holder',
834 'Duet holder', 839 'Duet holder',
840 'Foot',
841 'Shoe',
835 'All together now!', 842 'All together now!',
836 'Work in progress' 843 'Work in progress'
837 ], 844 ],
838 caption: 'Part', 845 caption: 'Part',
839 initial: 'wip' 846 initial: 'wip'
840 },{ 847 },{