From f0b47ccebfa730ff1fcc96a26ec7561737495523 Mon Sep 17 00:00:00 2001 From: lawgicau Date: Thu, 15 Jul 2021 11:17:36 +1000 Subject: [PATCH] Remove redundant gcode processing functions --- js/gcodeprocessing.js | 806 ------------------------------------------ 1 file changed, 806 deletions(-) diff --git a/js/gcodeprocessing.js b/js/gcodeprocessing.js index df563bb..4cdd80a 100644 --- a/js/gcodeprocessing.js +++ b/js/gcodeprocessing.js @@ -501,812 +501,6 @@ function processGcode(formName) { downloadFile(description+'.gcode', gcode); } -function processFirstlayer(){ - var nozzleLayer = document.firstlayerForm.nozzleLayer.value; - var hotendTemp = document.firstlayerForm.hotendtemp.value; - var bedTemp = document.firstlayerForm.bedtemp.value; - var centre = document.firstlayerForm.centre.checked; - var bedX = document.firstlayerForm.bedx.value - 50; - var bedY = document.firstlayerForm.bedy.value - 50; - var bedRad = Math.round((document.firstlayerForm.beddia.value)/2); - var retDist = document.firstlayerForm.retdist.value; - var retDistExtra = document.firstlayerForm.retdistextra.value; - var retSpeed = document.firstlayerForm.retspeed.value*60; - var zhop = document.firstlayerForm.zhop.value; - var abl = document.firstlayerForm.abl.value; - var customStart = document.firstlayerForm.startgcode.value; - var customEnd = document.firstlayerForm.endgcode.value; - var firstlayerStart = commonStart; - var offsets = [0,0,0,0,0,0,0,0,0,0]; - var delt = 30; - var xy = 30; - var margin = parseInt(document.firstlayerForm.margin.value); - if(centre == true) { - // left - offsets[0] = (bedRad*-1) - 50 + delt + margin; - offsets[1] = -50; - // bottom - offsets[2] = -50; - offsets[3] = (bedRad*-1) - 50 + delt + margin; - // centre - offsets[4] = -50; - offsets[5] = -50; - // top - offsets[6] = -50; - offsets[7] = (bedRad - 50 - delt) - margin; - //right - offsets[8] = (bedRad - 50 - delt) - margin; - offsets[9] = -50; - } else { - // bottom left - offsets[0] = 0 + xy - 50 + margin; - offsets[1] = 0 + xy - 50 + margin; - // top left - offsets[2] = 0 + xy - 50 + margin; - offsets[3] = bedY - xy - margin; - // centre - offsets[4] = bedX/2 - 25; - offsets[5] = bedY/2 - 25; - // bottom right - offsets[6] = bedX - xy - margin; - offsets[7] = 0 + xy - 50 + margin; - // top right - offsets[8] = bedX - xy - margin; - offsets[9] = bedY - xy - margin; - } - if(bedTemp == 0){ - firstlayerStart = firstlayerStart.replace(/M140 S60/g, "; no heated bed"); - firstlayerStart = firstlayerStart.replace(/M190 S60/g, "; no heated bed"); - } else { - firstlayerStart = firstlayerStart.replace(/M140 S60/g, "M140 S"+bedTemp+" ; custom bed temp"); - firstlayerStart = firstlayerStart.replace(/M190 S60/g, "M190 S"+bedTemp+" ; custom bed temp"); - } - - if(abl != 4){ - firstlayerStart = firstlayerStart.replace(/M104 S210 T0/g, "M104 S"+hotendTemp+" T0 ; custom hot end temp"); - firstlayerStart = firstlayerStart.replace(/M109 S210 T0/g, "M109 S"+hotendTemp+" T0 ; custom hot end temp"); - } else { - firstlayerStart = firstlayerStart.replace(/M104 S210 T0/g, "; Prusa Mini"); - firstlayerStart = firstlayerStart.replace(/M109 S210 T0/g, "; Prusa Mini"); - } - if(abl == 1){ - firstlayerStart = firstlayerStart.replace(/;G29 ; probe ABL/, "G29 ; probe ABL"); - } - if(abl == 2){ - firstlayerStart = firstlayerStart.replace(/;M420 S1 ; restore ABL mesh/, "M420 S1 ; restore ABL mesh"); - } - if(abl == 3){ - firstlayerStart = firstlayerStart.replace(/G28 ; home all axes/, "G28 W ; home all without mesh bed level"); - firstlayerStart = firstlayerStart.replace(/;G29 ; probe ABL/, "G80 ; mesh bed leveling"); - } - if(abl == 4){ - firstlayerStart = firstlayerStart.replace(/G28 ; home all axes/, "M109 S170 T0 ; probing temperature\nG28 ; home all"); - firstlayerStart = firstlayerStart.replace(/;G29 ; probe ABL/, "G29 ; probe ABL"); - firstlayerStart = firstlayerStart.replace(/;M420 S1 ; restore ABL mesh/, "M109 S"+hotendTemp+" T0 ; custom hot end temp"); - } - if(abl == 5){ - firstlayerStart = firstlayerStart.replace(/;G29 ; probe ABL/, "G29 L1 ; Load the mesh stored in slot 1\nG29 J ; Probe 3 points to tilt mesh"); - } - - for(var i = 0; i <= 4; i++){ - var square = "; square "+(i+1)+"\n"+originalSquare; - var firstlayerArray = square.split(/\n/g); - var regexp = /X[0-9\.]+/; - firstlayerArray.forEach(function(index, item){ - if(firstlayerArray[item].search(/X/) > -1){ - var value = parseFloat(firstlayerArray[item].match(regexp)[0].substring(1)) + offsets[i*2]; - firstlayerArray[item] = firstlayerArray[item].replace(regexp, "X"+String(value)); - } - }); - var regexp = /Y[0-9\.]+/; - firstlayerArray.forEach(function(index, item){ - if(firstlayerArray[item].search(/Y/) > -1){ - var value = parseFloat(firstlayerArray[item].match(regexp)[0].substring(1)) + offsets[i*2+1]; - firstlayerArray[item] = firstlayerArray[item].replace(regexp, "Y"+String(value)) - } - }); - square = firstlayerArray.join("\n"); - squares += square; - } - var firstlayer = firstlayerStart+squares+commonEnd; - firstlayer = firstlayer.replace(/;retract1\nG1 Z[0-9\.]+ F1200/g, ";retract1\n;zhop1"); - if(zhop > 0){ - firstlayer = firstlayer.replace(/;zhop1/g, "G91;\nG1 Z"+zhop+" F1200; custom z hop\nG90;"); - } - firstlayer = firstlayer.replace(/;retract1/g, "G1 E-"+retDist+" F"+retSpeed+" ; custom retraction"); - firstlayer = firstlayer.replace(/;unretract1/g, "G1 E"+retDistExtra+" F"+retSpeed+" ; custom un-retraction/prime"); - - if(document.firstlayerForm.psuon.checked == true) { - firstlayer = firstlayer.replace(/;M80/, "M80"); - } - if(document.firstlayerForm.removet0.checked == true) { - firstlayer = firstlayer.replace(/T0\n/, ";T0\n"); - } - if(document.firstlayerForm.start.checked == true) { - firstlayer = firstlayer.replace(/;customstart/, "; custom start gcode\n"+customStart); - } - if(document.firstlayerForm.end.checked == true) { - firstlayer = firstlayer.replace(/;customend/, "; custom end gcode\n"+customEnd); - } - downloadFile('firstlayer.gcode', firstlayer); -} - -function processBaseline(){ - var nozzleLayer = document.baselineForm.nozzleLayer.value; - var hotendTemp = document.baselineForm.hotendtemp.value; - var bedTemp = document.baselineForm.bedtemp.value; - var centre = document.baselineForm.centre.checked; - var bedX = Math.round((document.baselineForm.bedx.value-100)/2); - var bedY = Math.round((document.baselineForm.bedy.value-100)/2); - var retDist = document.baselineForm.retdist.value; - var retDistExtra = document.baselineForm.retdistextra.value; - var retSpeed = document.baselineForm.retspeed.value*60; - var zhop = document.baselineForm.zhop.value; - var abl = document.baselineForm.abl.value; - var fanLayer = document.baselineForm.fanLayer.value; - var fanPercentage = document.baselineForm.fanSpeed.value; - var fanSpeed = Math.round(fanPercentage*2.55); - var customStart = document.baselineForm.startgcode.value; - var customEnd = document.baselineForm.endgcode.value; - var baseline = commonStart; - switch(nozzleLayer){ - case '40_20': - baseline += baseline_40_20; - break; - case '40_16': - baseline += baseline_40_16; - break; - } - baseline += commonEnd; - baseline = baseline.replace(/M106 S3/, ";"); - switch(fanLayer){ - case '2': - baseline = baseline.replace(/;fan2;/, "M106 S"+fanSpeed+"; custom fan "+fanPercentage+"% from layer 2"); - break; - case '3': - baseline = baseline.replace(/;fan3;/, "M106 S"+fanSpeed+"; custom fan "+fanPercentage+"% from layer 3"); - break; - case '5': - baseline = baseline.replace(/;fan5;/, "M106 S"+fanSpeed+"; custom fan "+fanPercentage+"% from layer 5"); - break; - } - baseline = baseline.replace(/M106 S3/g, "M106 S"+fanSpeed+"; custom fan "+fanSpeed+"%"); - if(bedTemp == 0){ - baseline = baseline.replace(/M140 S60/g, "; no heated bed"); - baseline = baseline.replace(/M190 S60/g, "; no heated bed"); - } else { - baseline = baseline.replace(/M140 S60/g, "M140 S"+bedTemp+" ; custom bed temp"); - baseline = baseline.replace(/M190 S60/g, "M190 S"+bedTemp+" ; custom bed temp"); - } - if(abl != 4){ - baseline = baseline.replace(/M104 S210 T0/g, "M104 S"+hotendTemp+" T0 ; custom hot end temp"); - baseline = baseline.replace(/M109 S210 T0/g, "M109 S"+hotendTemp+" T0 ; custom hot end temp"); - } else { - baseline = baseline.replace(/M104 S210 T0/g, "; Prusa Mini"); - baseline = baseline.replace(/M109 S210 T0/g, "; Prusa Mini"); - } - baseline = baseline.replace(/;retract1\nG1 Z[0-9\.]+ F1200/g, ";retract1\n;zhop1"); - if(zhop > 0){ - baseline = baseline.replace(/;zhop1/g, "G91;\nG1 Z"+zhop+" F1200 ; custom z hop\nG90;"); - } - baseline = baseline.replace(/;retract1/g, "G1 E-"+retDist+" F"+retSpeed+" ; custom retraction"); - baseline = baseline.replace(/;unretract1/g, "G1 E"+retDistExtra+" F"+retSpeed+" ; custom un-retraction/prime"); - if(abl == 1){ - baseline = baseline.replace(/;G29 ; probe ABL/, "G29 ; probe ABL"); - } - if(abl == 2){ - baseline = baseline.replace(/;M420 S1 ; restore ABL mesh/, "M420 S1 ; restore ABL mesh"); - } - if(abl == 3){ - baseline = baseline.replace(/G28 ; home all axes/, "G28 W ; home all without mesh bed level"); - baseline = baseline.replace(/;G29 ; probe ABL/, "G80 ; mesh bed leveling"); - } - if(abl == 4){ - baseline = baseline.replace(/G28 ; home all axes/, "M109 S170 T0 ; probing temperature\nG28 ; home all"); - baseline = baseline.replace(/;G29 ; probe ABL/, "G29 ; probe ABL"); - baseline = baseline.replace(/;M420 S1 ; restore ABL mesh/, "M109 S"+hotendTemp+" T0 ; custom hot end temp"); - } - if(abl == 5){ - baseline = baseline.replace(/;G29 ; probe ABL/, "G29 L1 ; Load the mesh stored in slot 1\nG29 J ; Probe 3 points to tilt mesh"); - } - - if(centre == true){ - var baselineArray = baseline.split(/\n/g); - var regexp = /X[0-9\.]+/; - baselineArray.forEach(function(index, item){ - if(baselineArray[item].search(/X/) > -1){ - var value = parseFloat(baselineArray[item].match(regexp)[0].substring(1)) - 50; - baselineArray[item] = baselineArray[item].replace(regexp, "X"+String(value)); - } - }); - var regexp = /Y[0-9\.]+/; - baselineArray.forEach(function(index, item){ - if(baselineArray[item].search(/Y/) > -1){ - var value = parseFloat(baselineArray[item].match(regexp)[0].substring(1)) - 50; - baselineArray[item] = baselineArray[item].replace(regexp, "Y"+String(value)) - } - }); - baseline = baselineArray.join("\n"); - } else { - if(bedX > 0){ - var baselineArray = baseline.split(/\n/g); - var regexp = /X[0-9\.]+/; - baselineArray.forEach(function(index, item){ - if(baselineArray[item].search(/X/) > -1){ - var value = parseFloat(baselineArray[item].match(regexp)[0].substring(1)) + bedX; - baselineArray[item] = baselineArray[item].replace(regexp, "X"+String(value)); - } - }); - baseline = baselineArray.join("\n"); - } - if(bedY > 0){ - var baselineArray = baseline.split(/\n/g); - var regexp = /Y[0-9\.]+/; - baselineArray.forEach(function(index, item){ - if(baselineArray[item].search(/Y/) > -1){ - var value = parseFloat(baselineArray[item].match(regexp)[0].substring(1)) + bedY; - baselineArray[item] = baselineArray[item].replace(regexp, "Y"+String(value)) - } - }); - baseline = baselineArray.join("\n"); - } - } - if(document.baselineForm.psuon.checked == true) { - baseline = baseline.replace(/;M80/, "M80"); - } - if(document.baselineForm.removet0.checked == true) { - baseline = baseline.replace(/T0\n/, ";T0\n"); - } - if(document.baselineForm.start.checked == true) { - baseline = baseline.replace(/;customstart/, "; custom start gcode\n"+customStart); - } - if(document.baselineForm.end.checked == true) { - baseline = baseline.replace(/;customend/, "; custom end gcode\n"+customEnd); - } - downloadFile('baseline.gcode', baseline); -} - -function processRetraction(){ - var nozzleLayer = document.retractionForm.nozzleLayer.value; - var hotendTemp = document.retractionForm.hotendtemp.value; - var bedTemp = document.retractionForm.bedtemp.value; - var centre = document.retractionForm.centre.checked; - var bedX = Math.round((document.retractionForm.bedx.value-100)/2); - var bedY = Math.round((document.retractionForm.bedy.value-100)/2); - var abl = document.retractionForm.abl.value; - var fanLayer = document.retractionForm.fanLayer.value; - var fanPercentage = document.retractionForm.fanSpeed.value; - var fanSpeed = Math.round(fanPercentage*2.55); - var a1 = document.retractionForm.ret_a1.value; - var a2 = document.retractionForm.ret_a2.value*60; - var a3 = document.retractionForm.ret_a3.value; - var a4 = document.retractionForm.ret_a4.value*60; - var a5 = document.retractionForm.ret_a5.value; - var b1 = document.retractionForm.ret_b1.value; - var b2 = document.retractionForm.ret_b2.value*60; - var b3 = document.retractionForm.ret_b3.value; - var b4 = document.retractionForm.ret_b4.value*60; - var b5 = document.retractionForm.ret_b5.value; - var c1 = document.retractionForm.ret_c1.value; - var c2 = document.retractionForm.ret_c2.value*60; - var c3 = document.retractionForm.ret_c3.value; - var c4 = document.retractionForm.ret_c4.value*60; - var c5 = document.retractionForm.ret_c5.value; - var d1 = document.retractionForm.ret_d1.value; - var d2 = document.retractionForm.ret_d2.value*60; - var d3 = document.retractionForm.ret_d3.value; - var d4 = document.retractionForm.ret_d4.value*60; - var d5 = document.retractionForm.ret_d5.value; - var e1 = document.retractionForm.ret_e1.value; - var e2 = document.retractionForm.ret_e2.value*60; - var e3 = document.retractionForm.ret_e3.value; - var e4 = document.retractionForm.ret_e4.value*60; - var e5 = document.retractionForm.ret_e5.value; - var f1 = document.retractionForm.ret_f1.value; - var f2 = document.retractionForm.ret_f2.value*60; - var f3 = document.retractionForm.ret_f3.value; - var f4 = document.retractionForm.ret_f4.value*60; - var f5 = document.retractionForm.ret_f5.value; - var customStart = document.retractionForm.startgcode.value; - var customEnd = document.retractionForm.endgcode.value; - var retraction = commonStart; - switch(nozzleLayer){ - case "40_20": - retraction += retraction_40_20; - break; - - case "40_16": - retraction += retraction_40_16; - break; - } - retraction += commonEnd; - retraction = retraction.replace(/M106 S3/, ";"); - switch(fanLayer){ - case '2': - retraction = retraction.replace(/;fan2;/, "M106 S"+fanSpeed+"; custom fan "+fanPercentage+"% from layer 2"); - break; - case '3': - retraction = retraction.replace(/;fan3;/, "M106 S"+fanSpeed+"; custom fan "+fanPercentage+"% from layer 3"); - break; - case '5': - retraction = retraction.replace(/;fan5;/, "M106 S"+fanSpeed+"; custom fan "+fanPercentage+"% from layer 5"); - break; - } - retraction = retraction.replace(/M106 S3/g, "M106 S"+fanSpeed+"; custom fan "+fanSpeed+"%"); - if(bedTemp == 0){ - retraction = retraction.replace(/M140 S60/g, "; no heated bed"); - retraction = retraction.replace(/M190 S60/g, "; no heated bed"); - } else { - retraction = retraction.replace(/M140 S60/g, "M140 S"+bedTemp+" ; custom bed temp"); - retraction = retraction.replace(/M190 S60/g, "M190 S"+bedTemp+" ; custom bed temp"); - } - if(abl != 4){ - retraction = retraction.replace(/M104 S210 T0/g, "M104 S"+hotendTemp+" T0 ; custom hot end temp"); - retraction = retraction.replace(/M109 S210 T0/g, "M109 S"+hotendTemp+" T0 ; custom hot end temp"); - } else { - retraction = retraction.replace(/M104 S210/g, "; Prusa Mini"); - retraction = retraction.replace(/M109 S210/g, "; Prusa Mini"); - } - if(abl == 1){ - retraction = retraction.replace(/;G29 ; probe ABL/, "G29 ; probe ABL"); - } - if(abl == 2){ - retraction = retraction.replace(/;M420 S1 ; restore ABL mesh/, "M420 S1 ; restore ABL mesh"); - } - if(abl == 3){ - retraction = retraction.replace(/G28 ; home all axes/, "G28 W ; home all without mesh bed level") - retraction = retraction.replace(/;G29 ; probe ABL/, "G80 ; mesh bed leveling") - } - if(abl == 4){ - retraction = retraction.replace(/G28 ; home all axes/, "M109 S170 T0 ; probing temperature\nG28 ; home all"); - retraction = retraction.replace(/;G29 ; probe ABL/, "G29 ; probe ABL"); - retraction = retraction.replace(/;M420 S1 ; restore ABL mesh/, "M109 S"+hotendTemp+" T0 ; custom hot end temp"); - } - if(abl == 5){ - retraction = retraction.replace(/;G29 ; probe ABL/, "G29 L1 ; Load the mesh stored in slot 1\nG29 J ; Probe 3 points to tilt mesh"); - } - - if(centre == true){ - var retractionArray = retraction.split(/\n/g); - var regexp = /X[0-9\.]+/; - retractionArray.forEach(function(index, item){ - if(retractionArray[item].search(/X/) > -1){ - var value = parseFloat(retractionArray[item].match(regexp)[0].substring(1)) - 50; - retractionArray[item] = retractionArray[item].replace(regexp, "X"+String(value)); - } - }); - var regexp = /Y[0-9\.]+/; - retractionArray.forEach(function(index, item){ - if(retractionArray[item].search(/Y/) > -1){ - var value = parseFloat(retractionArray[item].match(regexp)[0].substring(1)) - 50; - retractionArray[item] = retractionArray[item].replace(regexp, "Y"+String(value)) - } - }); - retraction = retractionArray.join("\n"); - } else { - if(bedX > 0){ - var retractionArray = retraction.split(/\n/g); - var regexp = /X[0-9\.]+/; - retractionArray.forEach(function(index, item){ - if(retractionArray[item].search(/X/) > -1){ - var value = parseFloat(retractionArray[item].match(regexp)[0].substring(1)) + bedX; - retractionArray[item] = retractionArray[item].replace(regexp, "X"+String(value)); - } - }); - retraction = retractionArray.join("\n"); - } - if(bedY > 0){ - var retractionArray = retraction.split(/\n/g); - var regexp = /Y[0-9\.]+/; - retractionArray.forEach(function(index, item){ - if(retractionArray[item].search(/Y/) > -1){ - var value = parseFloat(retractionArray[item].match(regexp)[0].substring(1)) + bedY; - retractionArray[item] = retractionArray[item].replace(regexp, "Y"+String(value)) - } - }); - retraction = retractionArray.join("\n"); - } - } - // A section - retraction = retraction.replace(/;retract1\nG1 Z[0-9\.]+ F1200/g, ";retract1\n;zhop1"); - if(a5 > 0){ - retraction = retraction.replace(/;zhop1/g, "G91\nG1 Z"+a5+" F1200 ; custom z hop - A\nG90"); - } - retraction = retraction.replace(/;retract1/g, "G1 E-"+a1+" F"+a2+" ; custom retraction - A"); - retraction = retraction.replace(/;unretract1/g, "G1 E"+a3+" F"+a4+" ; custom un-retraction/prime - A"); - // B section - retraction = retraction.replace(/;retract2\nG1 Z[0-9\.]+ F1200/g, ";retract2\n;zhop2"); - if(b5 > 0){ - retraction = retraction.replace(/;zhop2/g, "G91\nG1 Z"+b5+" F1200 ; custom z hop - B\nG90"); - } - retraction = retraction.replace(/;retract2/g, "G1 E-"+b1+" F"+b2+" ; custom retraction - B"); - retraction = retraction.replace(/;unretract2/g, "G1 E"+b3+" F"+b4+" ; custom un-retraction/prime - B"); - // C section - retraction = retraction.replace(/;retract3\nG1 Z[0-9\.]+ F1200/g, ";retract3\n;zhop3"); - if(c5 > 0){ - retraction = retraction.replace(/;zhop3/g, "G91\nG1 Z"+c5+" F1200 ; custom z hop - C\nG90"); - } - retraction = retraction.replace(/;retract3/g, "G1 E-"+c1+" F"+c2+" ; custom retraction - C"); - retraction = retraction.replace(/;unretract3/g, "G1 E"+c3+" F"+c4+" ; custom un-retraction/prime - C"); - // D section - retraction = retraction.replace(/;retract4\nG1 Z[0-9\.]+ F1200/g, ";retract4\n;zhop4"); - if(d5 > 0){ - retraction = retraction.replace(/;zhop4/g, "G91\nG1 Z"+d5+" F1200 ; custom z hop - D\nG90"); - } - retraction = retraction.replace(/;retract4/g, "G1 E-"+d1+" F"+d2+" ; custom retraction - D"); - retraction = retraction.replace(/;unretract4/g, "G1 E"+d3+" F"+d4+" ; custom un-retraction/prime - D"); - // E section - retraction = retraction.replace(/;retract5\nG1 Z[0-9\.]+ F1200/g, ";retract5\n;zhop5"); - if(e5 > 0){ - retraction = retraction.replace(/;zhop5/g, "G91\nG1 Z"+e5+" F1200 ; custom z hop - E\nG90"); - } - retraction = retraction.replace(/;retract5/g, "G1 E-"+e1+" F"+e2+" ; custom retraction - E"); - retraction = retraction.replace(/;unretract5/g, "G1 E"+e3+" F"+e4+" ; custom un-retraction/prime - E"); - // F section - retraction = retraction.replace(/;retract6\nG1 Z[0-9\.]+ F1200/g, ";retract6\n;zhop6"); - if(f5 > 0){ - retraction = retraction.replace(/;zhop6/g, "G91\nG1 Z"+f5+" F1200 ; custom z hop - F\nG90"); - } - retraction = retraction.replace(/;retract6/g, "G1 E-"+f1+" F"+f2+" ; custom retraction - F"); - retraction = retraction.replace(/;unretract6/g, "G1 E"+f3+" F"+f4+" ; custom un-retraction/prime - F"); - - if(document.retractionForm.psuon.checked == true) { - retraction = retraction.replace(/;M80/, "M80"); - } - if(document.retractionForm.removet0.checked == true) { - retraction = retraction.replace(/T0\n/, ";T0\n"); - } - if(document.retractionForm.start.checked == true) { - retraction = retraction.replace(/;customstart/, "; custom start gcode\n"+customStart); - } - if(document.retractionForm.end.checked == true) { - retraction = retraction.replace(/;customend/, "; custom end gcode\n"+customEnd); - } - downloadFile('retraction.gcode', retraction); -} - -function processTemperature(){ - var nozzleLayer = document.temperatureForm.nozzleLayer.value; - var bedTemp = document.temperatureForm.bedtemp.value; - var centre = document.temperatureForm.centre.checked; - var bedX = Math.round((document.temperatureForm.bedx.value-100)/2); - var bedY = Math.round((document.temperatureForm.bedy.value-100)/2); - var retDist = document.temperatureForm.retdist.value; - var retDistExtra = document.temperatureForm.retdistextra.value; - var retSpeed = document.temperatureForm.retspeed.value*60; - var zhop = document.temperatureForm.zhop.value; - var abl = document.temperatureForm.abl.value; - var fanLayer = document.temperatureForm.fanLayer.value; - var fanPercentage = document.temperatureForm.fanSpeed.value; - var fanSpeed = Math.round(fanPercentage*2.55); - var a0 = document.temperatureForm.temp_a0.value; - var a1 = document.temperatureForm.temp_a1.value; - var b1 = document.temperatureForm.temp_b1.value; - var c1 = document.temperatureForm.temp_c1.value; - var d1 = document.temperatureForm.temp_d1.value; - var e1 = document.temperatureForm.temp_e1.value; - var customStart = document.temperatureForm.startgcode.value; - var customEnd = document.temperatureForm.endgcode.value; - var temperature = commonStart; - switch(nozzleLayer){ - case '40_20': - temperature += temperature_40_20; - break; - case '40_16': - temperature += temperature_40_16; - break; - } - temperature += commonEnd; - temperature = temperature.replace(/M104 S210 T0/, "temp0a"); - temperature = temperature.replace(/M109 S210 T0/, "temp0b"); - temperature = temperature.replace(/M106 S3/, ";"); - switch(fanLayer){ - case '2': - temperature = temperature.replace(/;fan2;/, "M106 S"+fanSpeed+"; custom fan "+fanPercentage+"% from layer 2"); - break; - case '3': - temperature = temperature.replace(/;fan3;/, "M106 S"+fanSpeed+"; custom fan "+fanPercentage+"% from layer 3"); - break; - case '5': - temperature = temperature.replace(/;fan5;/, "M106 S"+fanSpeed+"; custom fan "+fanPercentage+"% from layer 5"); - break; - } - temperature = temperature.replace(/M106 S3/g, "M106 S"+fanSpeed+"; custom fan "+fanSpeed+"%"); - if(abl == 1){ - temperature = temperature.replace(/;G29 ; probe ABL/, "G29 ; probe ABL"); - } - if(abl == 2){ - temperature = temperature.replace(/;M420 S1 ; restore ABL mesh/, "M420 S1 ; restore ABL mesh"); - } - if(abl == 3){ - temperature = temperature.replace(/G28 ; home all axes/, "G28 W ; home all without mesh bed level") - temperature = temperature.replace(/;G29 ; probe ABL/, "G80 ; mesh bed leveling") - } - if(abl == 4){ - temperature = temperature.replace(/G28 ; home all axes/, "M109 S170 T0 ; probing temperature\nG28 ; home all"); - temperature = temperature.replace(/;G29 ; probe ABL/, "G29 ; probe ABL"); - temperature = temperature.replace(/;M420 S1 ; restore ABL mesh/, "tempmini"); - } - if(abl == 5){ - temperature = temperature.replace(/;G29 ; probe ABL/, "G29 L1 ; Load the mesh stored in slot 1\nG29 J ; Probe 3 points to tilt mesh"); - } - if(bedTemp == 0){ - temperature = temperature.replace(/M140 S60/g, "; no heated bed"); - temperature = temperature.replace(/M190 S60/g, "; no heated bed"); - } else { - temperature = temperature.replace(/M140 S60/g, "M140 S"+bedTemp+" ; custom bed temp"); - temperature = temperature.replace(/M190 S60/g, "M190 S"+bedTemp+" ; custom bed temp"); - } - temperature = temperature.replace(/;retract1\nG1 Z[0-9\.]+ F1200/g, ";retract1\n;zhop1"); - if(zhop > 0){ - temperature = temperature.replace(/;zhop1/g, "G91;\nG1 Z"+zhop+" F1200 ; custom z hop\nG90;"); - } - temperature = temperature.replace(/;retract1/g, "G1 E-"+retDist+" F"+retSpeed+" ; custom retraction"); - temperature = temperature.replace(/;unretract1/g, "G1 E"+retDistExtra+" F"+retSpeed+" ; custom un-retraction/prime"); - - if(centre == true){ - var temperatureArray = temperature.split(/\n/g); - var regexp = /X[0-9\.]+/; - temperatureArray.forEach(function(index, item){ - if(temperatureArray[item].search(/X/) > -1){ - var value = parseFloat(temperatureArray[item].match(regexp)[0].substring(1)) - 50; - temperatureArray[item] = temperatureArray[item].replace(regexp, "X"+String(value)); - } - }); - var regexp = /Y[0-9\.]+/; - temperatureArray.forEach(function(index, item){ - if(temperatureArray[item].search(/Y/) > -1){ - var value = parseFloat(temperatureArray[item].match(regexp)[0].substring(1)) - 50; - temperatureArray[item] = temperatureArray[item].replace(regexp, "Y"+String(value)) - } - }); - temperature = temperatureArray.join("\n"); - } else { - if(bedX > 0){ - var temperatureArray = temperature.split(/\n/g); - var regexp = /X[0-9\.]+/; - temperatureArray.forEach(function(index, item){ - if(temperatureArray[item].search(/X/) > -1){ - var value = parseFloat(temperatureArray[item].match(regexp)[0].substring(1)) + bedX; - temperatureArray[item] = temperatureArray[item].replace(regexp, "X"+String(value)); - } - }); - temperature = temperatureArray.join("\n"); - } - if(bedY > 0){ - var temperatureArray = temperature.split(/\n/g); - var regexp = /Y[0-9\.]+/; - temperatureArray.forEach(function(index, item){ - if(temperatureArray[item].search(/Y/) > -1){ - var value = parseFloat(temperatureArray[item].match(regexp)[0].substring(1)) + bedY; - temperatureArray[item] = temperatureArray[item].replace(regexp, "Y"+String(value)) - } - }); - temperature = temperatureArray.join("\n"); - } - } - if(abl != 4){ - temperature = temperature.replace(/temp0a/, "M104 S"+a0+" T0 ; custom hot end temp - first layer"); - temperature = temperature.replace(/temp0b/, "M109 S"+a0+" T0 ; custom hot end temp - first layer"); - } else { - temperature = temperature.replace(/temp0a/, "; Prusa Mini"); - temperature = temperature.replace(/temp0b/, "; Prusa Mini"); - temperature = temperature.replace(/tempmini/, "M109 S"+a0+" T0 ; custom hot end temp - first layer"); - } - temperature = temperature.replace(/;layer 2(.*?)\n/, "M104 S"+a1+" T0 ; custom hot end temp - A\n"); - temperature = temperature.replace(/;process Process-2/, "M104 S"+b1+" T0 ; custom hot end temp - B"); - temperature = temperature.replace(/;process Process-3/, "M104 S"+c1+" T0 ; custom hot end temp - C"); - temperature = temperature.replace(/;process Process-4/, "M104 S"+d1+" T0 ; custom hot end temp - D"); - temperature = temperature.replace(/;process Process-5/, "M104 S"+e1+" T0 ; custom hot end temp - E"); - if(document.temperatureForm.psuon.checked == true) { - temperature = temperature.replace(/;M80/, "M80"); - } - if(document.temperatureForm.removet0.checked == true) { - temperature = temperature.replace(/T0\n/, ";T0\n"); - } - if(document.temperatureForm.start.checked == true) { - temperature = temperature.replace(/;customstart/, "; custom start gcode\n"+customStart); - } - if(document.temperatureForm.end.checked == true) { - temperature = temperature.replace(/;customend/, "; custom end gcode\n"+customEnd); - } - downloadFile('temperature.gcode', temperature); -} - -function processAcceleration(){ - var nozzleLayer = document.accelerationForm.nozzleLayer.value; - var hotendTemp = document.accelerationForm.hotendtemp.value; - var bedTemp = document.accelerationForm.bedtemp.value; - var centre = document.accelerationForm.centre.checked; - var bedX = Math.round((document.accelerationForm.bedx.value-100)/2); - var bedY = Math.round((document.accelerationForm.bedy.value-100)/2); - var retDist = document.accelerationForm.retdist.value; - var retDistExtra = document.accelerationForm.retdistextra.value; - var retSpeed = document.accelerationForm.retspeed.value*60; - var zhop = document.accelerationForm.zhop.value; - var abl = document.accelerationForm.abl.value; - var fanLayer = document.accelerationForm.fanLayer.value; - var fanPercentage = document.accelerationForm.fanSpeed.value; - var fanSpeed = Math.round(fanPercentage*2.55); - var feed = document.accelerationForm.feedrate.value*60; - var jerk_or_jd = document.accelerationForm.jerk_or_jd.value; - var a1 = document.accelerationForm.accel_a1.value; - var a2 = document.accelerationForm.accel_a2.value; - var a3 = document.accelerationForm.accel_a3.value; - var a4 = document.accelerationForm.accel_a4.value; - var a5 = document.accelerationForm.accel_a5.value; - var b1 = document.accelerationForm.accel_b1.value; - var b2 = document.accelerationForm.accel_b2.value; - var b3 = document.accelerationForm.accel_b3.value; - var b4 = document.accelerationForm.accel_b4.value; - var b5 = document.accelerationForm.accel_b5.value; - var c1 = document.accelerationForm.accel_c1.value; - var c2 = document.accelerationForm.accel_c2.value; - var c3 = document.accelerationForm.accel_c3.value; - var c4 = document.accelerationForm.accel_c4.value; - var c5 = document.accelerationForm.accel_c5.value; - var d1 = document.accelerationForm.accel_d1.value; - var d2 = document.accelerationForm.accel_d2.value; - var d3 = document.accelerationForm.accel_d3.value; - var d4 = document.accelerationForm.accel_d4.value; - var d5 = document.accelerationForm.accel_d5.value; - var e1 = document.accelerationForm.accel_e1.value; - var e2 = document.accelerationForm.accel_e2.value; - var e3 = document.accelerationForm.accel_e3.value; - var e4 = document.accelerationForm.accel_e4.value; - var e5 = document.accelerationForm.accel_e5.value; - var f1 = document.accelerationForm.accel_f1.value; - var f2 = document.accelerationForm.accel_f2.value; - var f3 = document.accelerationForm.accel_f3.value; - var f4 = document.accelerationForm.accel_f4.value; - var f5 = document.accelerationForm.accel_f5.value; - var customStart = document.accelerationForm.startgcode.value; - var customEnd = document.accelerationForm.endgcode.value; - var acceleration = commonStart; - switch(nozzleLayer){ - case '40_20': - acceleration += acceleration_40_20; - break; - case '40_16': - acceleration += acceleration_40_16; - break; - } - acceleration += commonEnd; - acceleration = acceleration.replace(/M106 S3/, ";"); - switch(fanLayer){ - case '2': - acceleration = acceleration.replace(/;fan2;/, "M106 S"+fanSpeed+"; custom fan "+fanPercentage+"% from layer 2"); - break; - case '3': - acceleration = acceleration.replace(/;fan3;/, "M106 S"+fanSpeed+"; custom fan "+fanPercentage+"% from layer 3"); - break; - case '5': - acceleration = acceleration.replace(/;fan5;/, "M106 S"+fanSpeed+"; custom fan "+fanPercentage+"% from layer 5"); - break; - } - acceleration = acceleration.replace(/M106 S3/g, "M106 S"+fanSpeed+"; custom fan "+fanSpeed+"%"); - if(bedTemp == 0){ - acceleration = acceleration.replace(/M140 S60/g, "; no heated bed"); - acceleration = acceleration.replace(/M190 S60/g, "; no heated bed"); - } else { - acceleration = acceleration.replace(/M140 S60/g, "M140 S"+bedTemp+" ; custom bed temp"); - acceleration = acceleration.replace(/M190 S60/g, "M190 S"+bedTemp+" ; custom bed temp"); - } - if(abl != 4){ - acceleration = acceleration.replace(/M104 S210 T0/g, "M104 S"+hotendTemp+" T0 ; custom hot end temp"); - acceleration = acceleration.replace(/M109 S210 T0/g, "M109 S"+hotendTemp+" T0 ; custom hot end temp"); - } else { - acceleration = acceleration.replace(/M104 S210/g, "; Prusa Mini"); - acceleration = acceleration.replace(/M109 S210/g, "; Prusa Mini"); - } - acceleration = acceleration.replace(/;retract1\nG1 Z[0-9\.]+ F1200/g, ";retract1\n;zhop1"); - if(zhop > 0){ - acceleration = acceleration.replace(/;zhop1/g, "G91;\nG1 Z"+zhop+" F1200 ; custom z hop\nG90;"); - } - acceleration = acceleration.replace(/;retract1/g, "G1 E-"+retDist+" F"+retSpeed+" ; custom retraction"); - acceleration = acceleration.replace(/;unretract1/g, "G1 E"+retDistExtra+" F"+retSpeed+" ; custom un-retraction/prime"); - if(abl == 1){ - acceleration = acceleration.replace(/;G29 ; probe ABL/, "G29 ; probe ABL"); - } - if(abl == 2){ - acceleration = acceleration.replace(/;M420 S1 ; restore ABL mesh/, "M420 S1 ; restore ABL mesh"); - } - if(abl == 3){ - acceleration = acceleration.replace(/G28 ; home all axes/, "G28 W ; home all without mesh bed level") - acceleration = acceleration.replace(/;G29 ; probe ABL/, "G80 ; mesh bed leveling") - } - if(abl == 4){ - acceleration = acceleration.replace(/G28 ; home all axes/, "M109 S170 T0 ; probing temperature\nG28 ; home all"); - acceleration = acceleration.replace(/;G29 ; probe ABL/, "G29 ; probe ABL"); - acceleration = acceleration.replace(/;M420 S1 ; restore ABL mesh/, "M109 S"+hotendTemp+" T0 ; custom hot end temp"); - } - if(abl == 5){ - acceleration = acceleration.replace(/;G29 ; probe ABL/, "G29 L1 ; Load the mesh stored in slot 1\nG29 J ; Probe 3 points to tilt mesh"); - } - - if(centre == true){ - var accelerationArray = acceleration.split(/\n/g); - var regexp = /X[0-9\.]+/; - accelerationArray.forEach(function(index, item){ - if(accelerationArray[item].search(/X/) > -1){ - var value = parseFloat(accelerationArray[item].match(regexp)[0].substring(1)) - 50; - accelerationArray[item] = accelerationArray[item].replace(regexp, "X"+String(value)); - } - }); - var regexp = /Y[0-9\.]+/; - accelerationArray.forEach(function(index, item){ - if(accelerationArray[item].search(/Y/) > -1){ - var value = parseFloat(accelerationArray[item].match(regexp)[0].substring(1)) - 50; - accelerationArray[item] = accelerationArray[item].replace(regexp, "Y"+String(value)) - } - }); - acceleration = accelerationArray.join("\n"); - } else { - if(bedX > 0){ - var accelerationArray = acceleration.split(/\n/g); - var regexp = /X[0-9\.]+/; - accelerationArray.forEach(function(index, item){ - if(accelerationArray[item].search(/X/) > -1){ - var value = parseFloat(accelerationArray[item].match(regexp)[0].substring(1)) + bedX; - accelerationArray[item] = accelerationArray[item].replace(regexp, "X"+String(value)); - } - }); - acceleration = accelerationArray.join("\n"); - } - if(bedY > 0){ - var accelerationArray = acceleration.split(/\n/g); - var regexp = /Y[0-9\.]+/; - accelerationArray.forEach(function(index, item){ - if(accelerationArray[item].search(/Y/) > -1){ - var value = parseFloat(accelerationArray[item].match(regexp)[0].substring(1)) + bedY; - accelerationArray[item] = accelerationArray[item].replace(regexp, "Y"+String(value)) - } - }); - acceleration = accelerationArray.join("\n"); - } - } - - acceleration = acceleration.replace(/F3720/g, "F"+feed+" ; custom feedrate - full"); - acceleration = acceleration.replace(/F2790/g, "F"+feed+" ; custom feedrate - full"); - acceleration = acceleration.replace(/F1860/g, "F"+feed/2+" ; custom feedrate - half"); - - acceleration = acceleration.replace(/;process Process-1/, "M201 X50000 Y50000 Z50000; custom raise acceleration limits\nM204 P"+a1+" ; custom acceleration - A\n;j1"); - acceleration = acceleration.replace(/;process Process-2/, "M204 P"+b1+" ; custom acceleration - B\n;j2"); - acceleration = acceleration.replace(/;process Process-3/, "M204 P"+c1+" ; custom acceleration - C\n;j3"); - acceleration = acceleration.replace(/;process Process-4/, "M204 P"+d1+" ; custom acceleration - D\n;j4"); - acceleration = acceleration.replace(/;process Process-5/, "M204 P"+e1+" ; custom acceleration - E\n;j5"); - acceleration = acceleration.replace(/;process Process-6/, "M204 P"+f1+" ; custom acceleration - F\n;j6"); - - if(jerk_or_jd == "jerk"){ - acceleration = acceleration.replace(/;j1/, "M205 X"+a2+" Y"+a3+" Z"+a5+" ; custom jerk - A"); - acceleration = acceleration.replace(/;j2/, "M205 X"+b2+" Y"+b3+" Z"+b5+" ; custom jerk - B"); - acceleration = acceleration.replace(/;j3/, "M205 X"+c2+" Y"+c3+" Z"+c5+" ; custom jerk - C"); - acceleration = acceleration.replace(/;j4/, "M205 X"+d2+" Y"+d3+" Z"+d5+" ; custom jerk - D"); - acceleration = acceleration.replace(/;j5/, "M205 X"+e2+" Y"+e3+" Z"+e5+" ; custom jerk - E"); - acceleration = acceleration.replace(/;j6/, "M205 X"+f2+" Y"+f3+" Z"+f5+" ; custom jerk - F"); - } else { - acceleration = acceleration.replace(/;j1/, "M205 J"+a4+" ; custom junction deviation - A"); - acceleration = acceleration.replace(/;j2/, "M205 J"+b4+" ; custom junction deviation - B"); - acceleration = acceleration.replace(/;j3/, "M205 J"+c4+" ; custom junction deviation - C"); - acceleration = acceleration.replace(/;j4/, "M205 J"+d4+" ; custom junction deviation - D"); - acceleration = acceleration.replace(/;j5/, "M205 J"+e4+" ; custom junction deviation - E"); - acceleration = acceleration.replace(/;j6/, "M205 J"+f4+" ; custom junction deviation - F"); - } - if(document.accelerationForm.psuon.checked == true) { - acceleration = acceleration.replace(/;M80/, "M80"); - } - if(document.accelerationForm.removet0.checked == true) { - acceleration = acceleration.replace(/T0\n/, ";T0\n"); - } - if(document.accelerationForm.start.checked == true) { - acceleration = acceleration.replace(/;customstart/, "; custom start gcode\n"+customStart); - } - if(document.accelerationForm.end.checked == true) { - acceleration = acceleration.replace(/;customend/, "; custom end gcode\n"+customEnd); - } - downloadFile('acceleration.gcode', acceleration); -} - function outputSettings(formName) { var fileName; var string = "Settings for ";