Doodle3D-Slicer/src/Settings.js

54 lines
1.5 KiB
JavaScript
Raw Normal View History

2015-07-26 15:32:10 +02:00
export default class {
2017-05-13 14:48:48 +02:00
constructor(config = {}) {
this.config = config;
}
updateConfig(config) {
this.config = { ...this.config, ...config };
2015-07-26 15:32:10 +02:00
2017-05-13 14:48:48 +02:00
return this;
}
startCode() {
const { startCode } = this.config;
const gcode = this._subsituteVariables(startCode);
return gcode;
}
endCode() {
const { endCode } = this.config;
const gcode = this._subsituteVariables(endCode);
return gcode;
}
_subsituteVariables(gcode) {
let {
temperature,
bedTemperature,
heatTemperature,
heatBedTemperature,
travelSpeed,
printerType,
heatedbed
} = this.config;
2016-05-07 22:59:20 +02:00
2017-05-13 14:48:48 +02:00
travelSpeed *= 60;
2015-07-26 15:32:10 +02:00
2017-05-13 14:48:48 +02:00
switch (printerType) {
case 'makerbot_replicator2': printerType = 'r2'; break;
case 'makerbot_replicator2x': printerType = 'r2x'; break;
case 'makerbot_thingomatic': printerType = 't6'; break;
case 'makerbot_generic': printerType = 'r2'; break;
case '_3Dison_plus': printerType = 'r2'; break;
}
2016-05-07 22:59:20 +02:00
2017-05-13 14:48:48 +02:00
const heatedBedReplacement = heatedbed ? '' : ';';
2016-05-07 22:59:20 +02:00
2017-05-13 14:48:48 +02:00
gcode = gcode.replace(/{printingTemp}/gi, temperature);
gcode = gcode.replace(/{printingBedTemp}/gi, bedTemperature);
gcode = gcode.replace(/{preheatTemp}/gi, heatTemperature);
gcode = gcode.replace(/{preheatBedTemp}/gi, heatBedTemperature);
gcode = gcode.replace(/{printerType}/gi, printerType);
gcode = gcode.replace(/{travelSpeed}/gi, travelSpeed);
gcode = gcode.replace(/{if heatedBed}/gi, heatedBedReplacement);
2015-07-26 15:32:10 +02:00
2017-05-13 14:48:48 +02:00
return gcode;
}
2015-10-14 17:11:29 +02:00
}