mirror of
https://github.com/teachingtechYT/teachingtechYT.github.io.git
synced 2024-08-30 18:23:26 +00:00
128 lines
5.0 KiB
JavaScript
128 lines
5.0 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();
|
|
}
|
|
|
|
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(apc == 1){
|
|
baseline = baseline.replace(/M106 S255/, "M106 S130");
|
|
}
|
|
if(pc == 2){
|
|
baseline = baseline.replace(/M106 S255/, ";M106 S255");
|
|
}
|
|
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");
|
|
}
|
|
baseline = baseline.replace(/M140 S60/g, "M140 S"+bedTemp);
|
|
baseline = baseline.replace(/M190 S60/g, "M140 S"+bedTemp);
|
|
baseline = baseline.replace(/M104 S210/g, "M104 S"+hotendTemp);
|
|
baseline = baseline.replace(/M109 S210/g, "M109 S"+hotendTemp);
|
|
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(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);
|
|
}
|
|
|