summaryrefslogtreecommitdiffabout
path: root/delta.jscad
Unidiff
Diffstat (limited to 'delta.jscad') (more/less context) (ignore whitespace changes)
-rw-r--r--delta.jscad23
1 files changed, 4 insertions, 19 deletions
diff --git a/delta.jscad b/delta.jscad
index 35a777c..45e8765 100644
--- a/delta.jscad
+++ b/delta.jscad
@@ -851,115 +851,100 @@ var PARTS = {
851 return union(base_extrusions(),column_extrusions(),duet().translate([0,-20,0])); 851 return union(base_extrusions(),column_extrusions(),duet().translate([0,-20,0]));
852 }, 852 },
853 alltogethernow: function(params) { 853 alltogethernow: function(params) {
854 var cols = columns(); 854 var cols = columns();
855 var sides = base_sides(); 855 var sides = base_sides();
856 var feet = THREEWINDS.map(function(w,i) { 856 var feet = THREEWINDS.map(function(w,i) {
857 var rv = foot(); 857 var rv = foot();
858 rv = rv.connectTo(rv.properties.c_column,cols[i].properties.c_bottom,false,0); 858 rv = rv.connectTo(rv.properties.c_column,cols[i].properties.c_bottom,false,0);
859 var s = shoe(); 859 var s = shoe();
860 s = s.connectTo(s.properties.c_foot,rv.properties.c_shoe,false,0); 860 s = s.connectTo(s.properties.c_foot,rv.properties.c_shoe,false,0);
861 return rv.union(s); 861 return rv.union(s);
862 }); 862 });
863 var dh = duetholder(); 863 var dh = duetholder();
864 var dhsw = dh.connectTo(dh.properties.c_h, 864 var dhsw = dh.connectTo(dh.properties.c_h,
865 new CSG.Connector([-CONFIG.duet.hole_spacing.x/2,-CD.base.mid_inscription_r,CONFIG.foot.h],[0,0,1],[1,0,0]), 865 new CSG.Connector([-CONFIG.duet.hole_spacing.x/2,-CD.base.mid_inscription_r,CONFIG.foot.h],[0,0,1],[1,0,0]),
866 false,0); 866 false,0);
867 var d = duet(); 867 var d = duet();
868 d = d.connectTo(d.properties.holes.c_sw,dhsw.properties.duet.c_sw,false,0); 868 d = d.connectTo(d.properties.holes.c_sw,dhsw.properties.duet.c_sw,false,0);
869 var dhse = dh.connectTo(dh.properties.duet.c_se,d.properties.holes.c_se,false,0); 869 var dhse = dh.connectTo(dh.properties.duet.c_se,d.properties.holes.c_se,false,0);
870 var dhne = dh.connectTo(dh.properties.duet.c_ne,d.properties.holes.c_ne,false,0); 870 var dhne = dh.connectTo(dh.properties.duet.c_ne,d.properties.holes.c_ne,false,0);
871 var dhnw = dh.connectTo(dh.properties.duet.c_nw,d.properties.holes.c_nw,false,0); 871 var dhnw = dh.connectTo(dh.properties.duet.c_nw,d.properties.holes.c_nw,false,0);
872 var rv = union(cols).union(sides.map(union)).union(feet).union([ 872 var rv = union(cols).union(sides.map(union)).union(feet).union([
873 d,dhsw,dhse,dhne,dhnw 873 d,dhsw,dhse,dhne,dhnw
874 ]); 874 ]);
875 var p = P(platform()); 875 var p = U.P(platform());
876 rv = rv.union(p); 876 rv = rv.union(p);
877 rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]); 877 rv.properties.P = new CSG.Connector([0,0,0],[0,0,1],[1,0,0]);
878 return rv; 878 return rv;
879 }, 879 },
880 duetholder: function(params) { 880 duetholder: function(params) {
881 return duetholder(); 881 return duetholder();
882 }, 882 },
883 foot: foot, 883 foot: foot,
884 shoe: shoe, 884 shoe: shoe,
885 bedholder: bedholder 885 bedholder: bedholder
886}; 886};
887 887
888function main(params) { 888function main(params) {
889 var part = params.part && PARTS[params.part]; 889 var part = params.part && PARTS[params.part];
890 if(!part) return refaxes(); 890 if(!part) return U.axes();
891 var rv = P(part(params)); 891 var rv = U.P(part(params));
892 if(!params.print) rv = rv.union(refaxes()); 892 if(!params.print) rv = rv.union(U.axes());
893 return rv; 893 return rv;
894} 894}
895 895
896function _main(params) { 896function _main(params) {
897 var e = EFFECTOR.effector(); 897 var e = EFFECTOR.effector();
898 var hs = E3DV6.heatsink(); 898 var hs = E3DV6.heatsink();
899 hs = hs.connectTo(hs.properties.grove_connector,e.properties.grove_connector,false,0); 899 hs = hs.connectTo(hs.properties.grove_connector,e.properties.grove_connector,false,0);
900 var ms = microswitch(); 900 var ms = microswitch();
901 var hd = EFFECTOR.hinged({ 901 var hd = EFFECTOR.hinged({
902 microswitch:ms,effector:e 902 microswitch:ms,effector:e
903 }); 903 });
904 ms = ms.connectTo( 904 ms = ms.connectTo(
905 ms.properties.screw_connector[0], 905 ms.properties.screw_connector[0],
906 hd.properties.microswitch_screw_connector[0], 906 hd.properties.microswitch_screw_connector[0],
907 false, 0); 907 false, 0);
908 var hdhd = EFFECTOR.split_hinged(hd); 908 var hdhd = EFFECTOR.split_hinged(hd);
909 var fh = EFFECTOR.fanholder(); 909 var fh = EFFECTOR.fanholder();
910 return union({ 910 return union({
911 platform: e, 911 platform: e,
912 hinged: hdhd[1], 912 hinged: hdhd[1],
913 clamp: hdhd[0], 913 clamp: hdhd[0],
914 fanholder: fh, 914 fanholder: fh,
915 alltogethernow: [e,hdhd[0],hdhd[1], columns(),hs,ms,fh] 915 alltogethernow: [e,hdhd[0],hdhd[1], columns(),hs,ms,fh]
916 }[params.part||'alltogethernow']) 916 }[params.part||'alltogethernow'])
917 var rv = union( 917 var rv = union(
918 e, 918 e,
919 hs, 919 hs,
920 columns(), 920 columns(),
921 ///hd, 921 ///hd,
922 hdhd[0], hdhd[1], 922 hdhd[0], hdhd[1],
923 ms); 923 ms);
924 return rv; 924 return rv;
925} 925}
926 926
927function refaxes(o) {
928 if(!o) o = {};
929 var l = o.l||20, g = o.g||0.7;
930 return union([
931 CSG.roundedCylinder({start:[0,0,0],end:[l,0,0]}).setColor([1,0,0,g]),
932 CSG.roundedCylinder({start:[0,0,0],end:[0,l,0]}).setColor([0,1,0,g]),
933 CSG.roundedCylinder({start:[0,0,0],end:[0,0,l]}).setColor([0,0,1,g])
934 ]);
935}
936
937function P(x) {
938 return x.connectTo(x.properties.P,new CSG.Connector([0,0,0],[0,0,1],[1,0,0]), false, 0);
939}
940
941
942function getParameterDefinitions() { 927function getParameterDefinitions() {
943 return [{ 928 return [{
944 name: 'part', 929 name: 'part',
945 type: 'choice', 930 type: 'choice',
946 values: [ 931 values: [
947 'platform', 932 'platform',
948 'hinged', 933 'hinged',
949 'clamp', 934 'clamp',
950 'fanholder', 935 'fanholder',
951 'duetholder', 936 'duetholder',
952 'foot', 'shoe', 937 'foot', 'shoe',
953 'bedholder', 938 'bedholder',
954 'alltogethernow', 939 'alltogethernow',
955 'wip' 940 'wip'
956 ], 941 ],
957 captions: [ 942 captions: [
958 'Effector platform', 943 'Effector platform',
959 'Hinged part', 944 'Hinged part',
960 'Clamp', 945 'Clamp',
961 'Fan holder', 946 'Fan holder',
962 'Duet holder', 947 'Duet holder',
963 'Foot', 'Shoe', 948 'Foot', 'Shoe',
964 'Bed holder', 949 'Bed holder',
965 'All together now!', 950 'All together now!',