Doodle3D-Slicer/src/settings.js

56 lines
1.4 KiB
JavaScript
Raw Normal View History

2015-07-26 15:32:10 +02:00
export default class {
2016-05-09 11:40:54 +02:00
constructor() {
2015-07-26 15:32:10 +02:00
this.config = {};
}
2016-05-09 11:40:54 +02:00
updateConfig(config) {
for (const i in config) {
2015-07-26 15:32:10 +02:00
this.config[i] = config[i];
}
return this;
}
2016-05-09 11:40:54 +02:00
startCode() {
2016-05-07 22:59:20 +02:00
const { startCode } = this.config;
const gcode = this._subsituteVariables(startCode);
2015-07-26 15:32:10 +02:00
return gcode;
}
2016-05-09 11:40:54 +02:00
endCode() {
2016-05-07 22:59:20 +02:00
const { endCode } = this.config;
const gcode = this._subsituteVariables(endCode);
2015-07-26 15:32:10 +02:00
return gcode;
}
2016-05-09 11:40:54 +02:00
_subsituteVariables(gcode) {
2016-05-07 22:59:20 +02:00
let {
temperature,
bedTemperature,
heatTemperature,
heatBedTemperature,
travelSpeed,
printerType,
heatedbed
} = this.config;
travelSpeed *= 60;
2015-07-26 15:32:10 +02:00
switch (printerType) {
2016-05-07 22:59:20 +02:00
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;
2015-07-26 15:32:10 +02:00
}
2016-05-07 22:59:20 +02:00
const heatedBedReplacement = heatedbed ? '' : ';';
2016-05-08 10:31:29 +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
return gcode;
}
2015-10-14 17:11:29 +02:00
}