Doodle3D-Slicer/src/settings.js

60 lines
1.4 KiB
JavaScript
Raw Normal View History

2015-07-26 15:32:10 +02:00
export default class {
constructor () {
this.config = {};
}
updateConfig (config) {
for (var i in config) {
this.config[i] = config[i];
}
return this;
}
2016-05-07 22:59:20 +02:00
startCode () {
const { startCode } = this.config;
const gcode = this._subsituteVariables(startCode);
2015-07-26 15:32:10 +02:00
return gcode;
}
2016-05-07 22:59:20 +02:00
endCode () {
const { endCode } = this.config;
const gcode = this._subsituteVariables(endCode);
2015-07-26 15:32:10 +02:00
return gcode;
}
_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 ? '' : ';';
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
}