summaryrefslogtreecommitdiffabout
path: root/delta.jscad
Unidiff
Diffstat (limited to 'delta.jscad') (more/less context) (ignore whitespace changes)
-rw-r--r--delta.jscad36
1 files changed, 35 insertions, 1 deletions
diff --git a/delta.jscad b/delta.jscad
index 45e8765..12bdb97 100644
--- a/delta.jscad
+++ b/delta.jscad
@@ -861,49 +861,83 @@ var PARTS = {
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 = U.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 platform: function(params) { return U.P(EFFECTOR.effector()) },
887 hinged: function(params) {
888 // TODO: handle print mode
889 var ms = microswitch();
890 var e = EFFECTOR.effector();
891 var hd = EFFECTOR.hinged({
892 microswitch:ms,effector:e
893 });
894 ms = ms.connectTo(
895 ms.properties.screw_connector[0],
896 hd.properties.microswitch_screw_connector[0],
897 false, 0);
898 var hdhd = EFFECTOR.split_hinged(hd);
899 return U.P(hdhd[1]);
900 },
901 // TODO: eliminate common code above and below
902 clamp: function(params) {
903 // TODO: handle print mode
904 var ms = microswitch();
905 var e = EFFECTOR.effector();
906 var hd = EFFECTOR.hinged({
907 microswitch:ms,effector:e
908 });
909 ms = ms.connectTo(
910 ms.properties.screw_connector[0],
911 hd.properties.microswitch_screw_connector[0],
912 false, 0);
913 var hdhd = EFFECTOR.split_hinged(hd);
914 return U.P(hdhd[0]);
915 },
916 fanholder: function(params) {
917 EFFECTOR.effector(); // to set up rmount
918 return U.P(EFFECTOR.fanholder());
919 }
886}; 920};
887 921
888function main(params) { 922function main(params) {
889 var part = params.part && PARTS[params.part]; 923 var part = params.part && PARTS[params.part];
890 if(!part) return U.axes(); 924 if(!part) return U.axes();
891 var rv = U.P(part(params)); 925 var rv = U.P(part(params));
892 if(!params.print) rv = rv.union(U.axes()); 926 if(!params.print) rv = rv.union(U.axes());
893 return rv; 927 return rv;
894} 928}
895 929
896function _main(params) { 930function _main(params) {
897 var e = EFFECTOR.effector(); 931 var e = EFFECTOR.effector();
898 var hs = E3DV6.heatsink(); 932 var hs = E3DV6.heatsink();
899 hs = hs.connectTo(hs.properties.grove_connector,e.properties.grove_connector,false,0); 933 hs = hs.connectTo(hs.properties.grove_connector,e.properties.grove_connector,false,0);
900 var ms = microswitch(); 934 var ms = microswitch();
901 var hd = EFFECTOR.hinged({ 935 var hd = EFFECTOR.hinged({
902 microswitch:ms,effector:e 936 microswitch:ms,effector:e
903 }); 937 });
904 ms = ms.connectTo( 938 ms = ms.connectTo(
905 ms.properties.screw_connector[0], 939 ms.properties.screw_connector[0],
906 hd.properties.microswitch_screw_connector[0], 940 hd.properties.microswitch_screw_connector[0],
907 false, 0); 941 false, 0);
908 var hdhd = EFFECTOR.split_hinged(hd); 942 var hdhd = EFFECTOR.split_hinged(hd);
909 var fh = EFFECTOR.fanholder(); 943 var fh = EFFECTOR.fanholder();