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
|
|
|
}
|