mirror of
https://github.com/teachingtechYT/teachingtechYT.github.io.git
synced 2024-08-30 18:23:26 +00:00
528 lines
24 KiB
JavaScript
528 lines
24 KiB
JavaScript
function downloadFile(filename, contents) {
|
|
var blob = new Blob([contents], {type: 'text/plain'});
|
|
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
|
|
window.navigator.msSaveOrOpenBlob(blob, filename);
|
|
} else{
|
|
var e = document.createEvent('MouseEvents'),
|
|
a = document.createElement('a');
|
|
a.download = filename;
|
|
a.href = window.URL.createObjectURL(blob);
|
|
a.dataset.downloadurl = ['text/plain', a.download, a.href].join(':');
|
|
e.initEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
|
|
a.dispatchEvent(e);
|
|
}
|
|
}
|
|
|
|
function toggle(ticked, target){
|
|
if(ticked == true){
|
|
$(target).hide();
|
|
} else {
|
|
$(target).show();
|
|
}
|
|
}
|
|
|
|
function esteps(){
|
|
var oldSteps = document.estepsForm.oldSteps.value;
|
|
var remainingFil = document.estepsForm.remainingFil.value;
|
|
var actualExtrusion = 120 - remainingFil;
|
|
var newSteps = (oldSteps/actualExtrusion*100).toFixed(2);
|
|
$("#e1").html(remainingFil);
|
|
$("#e2").html(actualExtrusion);
|
|
$("#e3").html(newSteps);
|
|
$("#e4").html(newSteps);
|
|
$("#estepsresult").show();
|
|
}
|
|
|
|
function flowCalc1(){
|
|
var oldflow = document.flow1.oldFlow.value;
|
|
var targetwall = document.flow1.targetWall.value;
|
|
var measuredwall = document.flow1.measuredWall.value;
|
|
var newsteps = (oldflow/measuredwall*targetwall).toFixed(2);
|
|
$("#f1").html(newsteps);
|
|
$("#flow1result").show();
|
|
}
|
|
|
|
function flowCalc2(){
|
|
var oldflow = document.flow2.oldFlow.value;
|
|
var targetwall = document.flow2.targetWall.value;
|
|
var measuredwall = document.flow2.measuredWall.value;
|
|
var newsteps = (oldflow/measuredwall*targetwall).toFixed(2);
|
|
$("#f2").html(newsteps);
|
|
$("#flow2result").show();
|
|
}
|
|
|
|
var maxExtVol = 7.22;
|
|
var maxFeedRate = 100;
|
|
function maxExt(){
|
|
var dia = document.maxExtrusion.filDia.value;
|
|
var max = document.maxExtrusion.maxFeed.value;
|
|
var result = ((Math.pow(dia/2, 2))*Math.PI)*(max/60);
|
|
var str = result.toFixed(2);
|
|
maxExtVol = parseFloat(str);
|
|
$('#maxExt').html(maxExtVol);
|
|
}
|
|
|
|
function maxFee(){
|
|
var layH = document.maxExtrusion.layerH.value;
|
|
var layW = document.maxExtrusion.layerW.value;
|
|
var maxFeedRate = Math.floor(maxExtVol/(layH*layW));
|
|
$('#maxFee').html(maxFeedRate);
|
|
}
|
|
|
|
function toggleJ() {
|
|
var value = document.accelerationForm.selector.value;
|
|
if(value == "jerk"){
|
|
$(".jdtd").hide();
|
|
$(".jerktd").show();
|
|
} else {
|
|
$(".jdtd").show();
|
|
$(".jerktd").hide();
|
|
}
|
|
}
|
|
|
|
function processBaseline(){
|
|
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 retSpeed = document.baselineForm.retspeed.value*60;
|
|
var abl = document.baselineForm.abl.value;
|
|
var pc = document.baselineForm.pc.value;
|
|
var baseline = originalBaseline;
|
|
if(pc == 1){
|
|
baseline = baseline.replace(/M106 S255/, "M106 S130");
|
|
}
|
|
if(pc == 2){
|
|
baseline = baseline.replace(/M106 S255/, ";M106 S255");
|
|
}
|
|
baseline = baseline.replace(/M140 S60/g, "M140 S"+bedTemp);
|
|
baseline = baseline.replace(/M190 S60/g, "M190 S"+bedTemp);
|
|
if(abl != 4){
|
|
baseline = baseline.replace(/M104 S210/g, "M104 S"+hotendTemp);
|
|
baseline = baseline.replace(/M109 S210/g, "M109 S"+hotendTemp);
|
|
} else {
|
|
baseline = baseline.replace(/M104 S210/g, "; Prusa Mini");
|
|
baseline = baseline.replace(/M109 S210/g, "; Prusa Mini");
|
|
}
|
|
baseline = baseline.replace(/G1 E-5.0000 F2400/g, "G1 E-"+retDist+" F"+retSpeed);
|
|
baseline = baseline.replace(/G1 E0.0000 F2400/g, "G1 E0.0000 F"+retSpeed);
|
|
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");
|
|
}
|
|
|
|
if(centre == true){
|
|
var baselineArray = baseline.split(/\n/g);
|
|
var regexp = /X\d+/;
|
|
baselineArray.forEach(function(index, item){
|
|
if(baselineArray[item].search(/X/) > -1){
|
|
var value = parseInt(baselineArray[item].match(regexp)[0].substring(1)) - 50;
|
|
baselineArray[item] = baselineArray[item].replace(regexp, "X"+String(value));
|
|
}
|
|
});
|
|
var regexp = /Y\d+/;
|
|
baselineArray.forEach(function(index, item){
|
|
if(baselineArray[item].search(/Y/) > -1){
|
|
var value = parseInt(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\d+/;
|
|
baselineArray.forEach(function(index, item){
|
|
if(baselineArray[item].search(/X/) > -1){
|
|
var value = parseInt(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\d+/;
|
|
baselineArray.forEach(function(index, item){
|
|
if(baselineArray[item].search(/Y/) > -1){
|
|
var value = parseInt(baselineArray[item].match(regexp)[0].substring(1)) + bedY;
|
|
baselineArray[item] = baselineArray[item].replace(regexp, "Y"+String(value))
|
|
}
|
|
});
|
|
baseline = baselineArray.join("\n");
|
|
}
|
|
}
|
|
downloadFile('baseline.gcode', baseline);
|
|
}
|
|
|
|
function processRetraction(){
|
|
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 pc = document.retractionForm.pc.value;
|
|
var a1 = document.retractionForm.a1.value;
|
|
var a2 = document.retractionForm.a2.value*60;
|
|
var a3 = document.retractionForm.a3.value;
|
|
var b1 = document.retractionForm.b1.value;
|
|
var b2 = document.retractionForm.b2.value*60;
|
|
var b3 = document.retractionForm.b3.value;
|
|
var c1 = document.retractionForm.c1.value;
|
|
var c2 = document.retractionForm.c2.value*60;
|
|
var c3 = document.retractionForm.c3.value;
|
|
var d1 = document.retractionForm.d1.value;
|
|
var d2 = document.retractionForm.d2.value*60;
|
|
var d3 = document.retractionForm.d3.value;
|
|
var e1 = document.retractionForm.e1.value;
|
|
var e2 = document.retractionForm.e2.value*60;
|
|
var e3 = document.retractionForm.e3.value;
|
|
var f1 = document.retractionForm.f1.value;
|
|
var f2 = document.retractionForm.f2.value*60;
|
|
var f3 = document.retractionForm.f3.value;
|
|
var retraction = originalRetraction;
|
|
if(pc == 1){
|
|
retraction = retraction.replace(/M106 S255/, "M106 S130");
|
|
}
|
|
if(pc == 2){
|
|
retraction = retraction.replace(/M106 S255/, ";M106 S255");
|
|
}
|
|
retraction = retraction.replace(/M140 S60/g, "M140 S"+bedTemp);
|
|
retraction = retraction.replace(/M190 S60/g, "M190 S"+bedTemp);
|
|
if(abl != 4){
|
|
retraction = retraction.replace(/M104 S210/g, "M104 S"+hotendTemp);
|
|
retraction = retraction.replace(/M109 S210/g, "M109 S"+hotendTemp);
|
|
} 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 ; 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");
|
|
}
|
|
|
|
if(centre == true){
|
|
var retractionArray = retraction.split(/\n/g);
|
|
var regexp = /X\d+/;
|
|
retractionArray.forEach(function(index, item){
|
|
if(retractionArray[item].search(/X/) > -1){
|
|
var value = parseInt(retractionArray[item].match(regexp)[0].substring(1)) - 50;
|
|
retractionArray[item] = retractionArray[item].replace(regexp, "X"+String(value));
|
|
}
|
|
});
|
|
var regexp = /Y\d+/;
|
|
retractionArray.forEach(function(index, item){
|
|
if(retractionArray[item].search(/Y/) > -1){
|
|
var value = parseInt(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\d+/;
|
|
retractionArray.forEach(function(index, item){
|
|
if(retractionArray[item].search(/X/) > -1){
|
|
var value = parseInt(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\d+/;
|
|
retractionArray.forEach(function(index, item){
|
|
if(retractionArray[item].search(/Y/) > -1){
|
|
var value = parseInt(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(/G1 E-6.0000 F900/g, "G1 E-"+a1+" F"+a2);
|
|
retraction = retraction.replace(/G1 E0.4000 F900/g, "G1 E"+a3+" F"+a2);
|
|
// B section
|
|
retraction = retraction.replace(/G1 E-7.0000 F1200/g, "G1 E-"+b1+" F"+b2);
|
|
retraction = retraction.replace(/G1 E0.6000 F1200/g, "G1 E"+b3+" F"+b2);
|
|
// C section
|
|
retraction = retraction.replace(/G1 E-8.0000 F1500/g, "G1 E-"+c1+" F"+c2);
|
|
retraction = retraction.replace(/G1 E0.8000 F1500/g, "G1 E"+c3+" F"+c2);
|
|
// D section
|
|
retraction = retraction.replace(/G1 E-9.0000 F1800/g, "G1 E-"+d1+" F"+d2);
|
|
retraction = retraction.replace(/G1 E1.0000 F1800/g, "G1 E"+d3+" F"+d2);
|
|
// E section
|
|
retraction = retraction.replace(/G1 E-10.0000 F2100/g, "G1 E-"+e1+" F"+e2);
|
|
retraction = retraction.replace(/G1 E1.2000 F2100/g, "G1 E"+e3+" F"+e2);
|
|
// F section
|
|
retraction = retraction.replace(/G1 E-11.0000 F2400/g, "G1 E-"+f1+" F"+f2);
|
|
retraction = retraction.replace(/G1 E1.4000 F2400/g, "G1 E"+f3+" F"+f2);
|
|
downloadFile('retraction.gcode', retraction);
|
|
}
|
|
|
|
function processTemperature(){
|
|
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 retSpeed = document.temperatureForm.retspeed.value*60;
|
|
var abl = document.temperatureForm.abl.value;
|
|
var pc = document.temperatureForm.pc.value;
|
|
var a1 = document.temperatureForm.a1.value;
|
|
var b1 = document.temperatureForm.b1.value;
|
|
var c1 = document.temperatureForm.c1.value;
|
|
var d1 = document.temperatureForm.d1.value;
|
|
var e1 = document.temperatureForm.e1.value;
|
|
var temperature = originalTemperature;
|
|
if(pc == 1){
|
|
temperature = temperature.replace(/M106 S255/, "M106 S130");
|
|
}
|
|
if(pc == 2){
|
|
temperature = temperature.replace(/M106 S255/, ";M106 S255");
|
|
}
|
|
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/, "M109 S500 T0");
|
|
}
|
|
temperature = temperature.replace(/M140 S60/g, "M140 S"+bedTemp);
|
|
temperature = temperature.replace(/M190 S60/g, "M190 S"+bedTemp);
|
|
temperature = temperature.replace(/G1 E-5.0000 F2400/g, "G1 E-"+retDist+" F"+retSpeed);
|
|
temperature = temperature.replace(/G1 E0.0000 F2400/g, "G1 E0.0000 F"+retSpeed);
|
|
|
|
if(centre == true){
|
|
var temperatureArray = temperature.split(/\n/g);
|
|
var regexp = /X\d+/;
|
|
temperatureArray.forEach(function(index, item){
|
|
if(temperatureArray[item].search(/X/) > -1){
|
|
var value = parseInt(temperatureArray[item].match(regexp)[0].substring(1)) - 50;
|
|
temperatureArray[item] = temperatureArray[item].replace(regexp, "X"+String(value));
|
|
}
|
|
});
|
|
var regexp = /Y\d+/;
|
|
temperatureArray.forEach(function(index, item){
|
|
if(temperatureArray[item].search(/Y/) > -1){
|
|
var value = parseInt(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\d+/;
|
|
temperatureArray.forEach(function(index, item){
|
|
if(temperatureArray[item].search(/X/) > -1){
|
|
var value = parseInt(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\d+/;
|
|
temperatureArray.forEach(function(index, item){
|
|
if(temperatureArray[item].search(/Y/) > -1){
|
|
var value = parseInt(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(/M104 S190/g, "M104 S"+a1);
|
|
temperature = temperature.replace(/M109 S190/g, "M109 S"+a1);
|
|
} else {
|
|
temperature = temperature.replace(/M104 S190/g, "; Prusa Mini");
|
|
temperature = temperature.replace(/M109 S190/g, "; Prusa Mini");
|
|
temperature = temperature.replace(/M109 S500/g, "M109 S"+a1);
|
|
}
|
|
temperature = temperature.replace(/M104 S195/g, "M104 S"+b1);
|
|
temperature = temperature.replace(/M104 S200/g, "M104 S"+c1);
|
|
temperature = temperature.replace(/M104 S205/g, "M104 S"+d1);
|
|
temperature = temperature.replace(/M104 S210/g, "M104 S"+e1);
|
|
downloadFile('temperature.gcode', temperature);
|
|
}
|
|
|
|
function processAcceleration(){
|
|
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 retSpeed = document.accelerationForm.retspeed.value*60;
|
|
var abl = document.accelerationForm.abl.value;
|
|
var pc = document.accelerationForm.pc.value;
|
|
var feed = document.accelerationForm.feedrate.value*60;
|
|
var selector = document.accelerationForm.selector.value;
|
|
var a1 = document.accelerationForm.a1.value;
|
|
var a2 = document.accelerationForm.a2.value;
|
|
var a3 = document.accelerationForm.a3.value;
|
|
var a4 = document.accelerationForm.a4.value;
|
|
var b1 = document.accelerationForm.b1.value;
|
|
var b2 = document.accelerationForm.b2.value;
|
|
var b3 = document.accelerationForm.b3.value;
|
|
var b4 = document.accelerationForm.b4.value;
|
|
var c1 = document.accelerationForm.c1.value;
|
|
var c2 = document.accelerationForm.c2.value;
|
|
var c3 = document.accelerationForm.c3.value;
|
|
var c4 = document.accelerationForm.c4.value;
|
|
var d1 = document.accelerationForm.d1.value;
|
|
var d2 = document.accelerationForm.d2.value;
|
|
var d3 = document.accelerationForm.d3.value;
|
|
var d4 = document.accelerationForm.d4.value;
|
|
var e1 = document.accelerationForm.e1.value;
|
|
var e2 = document.accelerationForm.e2.value;
|
|
var e3 = document.accelerationForm.e3.value;
|
|
var e4 = document.accelerationForm.e4.value;
|
|
var f1 = document.accelerationForm.f1.value;
|
|
var f2 = document.accelerationForm.f2.value;
|
|
var f3 = document.accelerationForm.f3.value;
|
|
var f4 = document.accelerationForm.f4.value;
|
|
var acceleration = originalAcceleration;
|
|
if(pc == 1){
|
|
acceleration = acceleration.replace(/M106 S255/, "M106 S130");
|
|
}
|
|
if(pc == 2){
|
|
acceleration = acceleration.replace(/M106 S255/, ";M106 S255");
|
|
}
|
|
acceleration = acceleration.replace(/M140 S60/g, "M140 S"+bedTemp);
|
|
acceleration = acceleration.replace(/M190 S60/g, "M140 S"+bedTemp);
|
|
if(abl != 4){
|
|
acceleration = acceleration.replace(/M104 S210/g, "M104 S"+hotendTemp);
|
|
acceleration = acceleration.replace(/M109 S210/g, "M109 S"+hotendTemp);
|
|
} else {
|
|
acceleration = acceleration.replace(/M104 S210/g, "; Prusa Mini");
|
|
acceleration = acceleration.replace(/M109 S210/g, "; Prusa Mini");
|
|
}
|
|
acceleration = acceleration.replace(/G1 E-5.0000 F2400/g, "G1 E-"+retDist+" F"+retSpeed);
|
|
acceleration = acceleration.replace(/G1 E0.0000 F2400/g, "G1 E0.0000 F"+retSpeed);
|
|
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");
|
|
}
|
|
|
|
if(centre == true){
|
|
var accelerationArray = acceleration.split(/\n/g);
|
|
var regexp = /X\d+/;
|
|
accelerationArray.forEach(function(index, item){
|
|
if(accelerationArray[item].search(/X/) > -1){
|
|
var value = parseInt(accelerationArray[item].match(regexp)[0].substring(1)) - 50;
|
|
accelerationArray[item] = accelerationArray[item].replace(regexp, "X"+String(value));
|
|
}
|
|
});
|
|
var regexp = /Y\d+/;
|
|
accelerationArray.forEach(function(index, item){
|
|
if(accelerationArray[item].search(/Y/) > -1){
|
|
var value = parseInt(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\d+/;
|
|
accelerationArray.forEach(function(index, item){
|
|
if(accelerationArray[item].search(/X/) > -1){
|
|
var value = parseInt(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\d+/;
|
|
accelerationArray.forEach(function(index, item){
|
|
if(accelerationArray[item].search(/Y/) > -1){
|
|
var value = parseInt(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);
|
|
acceleration = acceleration.replace(/F2790/g, "F"+feed);
|
|
acceleration = acceleration.replace(/F1860/g, "F"+feed/2);
|
|
|
|
acceleration = acceleration.replace(/raise/g, "M201 X5000 Y5000");
|
|
acceleration = acceleration.replace(/accel1/g, "M204 P"+a1);
|
|
acceleration = acceleration.replace(/accel2/g, "M204 P"+b1);
|
|
acceleration = acceleration.replace(/accel3/g, "M204 P"+c1);
|
|
acceleration = acceleration.replace(/accel4/g, "M204 P"+d1);
|
|
acceleration = acceleration.replace(/accel5/g, "M204 P"+e1);
|
|
acceleration = acceleration.replace(/accel6/g, "M204 P"+f1);
|
|
|
|
if(selector == "jerk"){
|
|
acceleration = acceleration.replace(/j1/g, "M205 X"+a2+" Y"+a3);
|
|
acceleration = acceleration.replace(/j2/g, "M205 X"+b2+" Y"+b3);
|
|
acceleration = acceleration.replace(/j3/g, "M205 X"+c2+" Y"+c3);
|
|
acceleration = acceleration.replace(/j4/g, "M205 X"+d2+" Y"+d3);
|
|
acceleration = acceleration.replace(/j5/g, "M205 X"+e2+" Y"+e3);
|
|
acceleration = acceleration.replace(/j6/g, "M205 X"+f2+" Y"+f3);
|
|
} else {
|
|
acceleration = acceleration.replace(/j1/g, "M205 J"+a4);
|
|
acceleration = acceleration.replace(/j2/g, "M205 J"+b4);
|
|
acceleration = acceleration.replace(/j3/g, "M205 J"+c4);
|
|
acceleration = acceleration.replace(/j4/g, "M205 J"+d4);
|
|
acceleration = acceleration.replace(/j5/g, "M205 J"+e4);
|
|
acceleration = acceleration.replace(/j6/g, "M205 J"+f4);
|
|
}
|
|
downloadFile('acceleration.gcode', acceleration);
|
|
} |