add optional per-layer gcode output
This commit is contained in:
parent
0f31315f4d
commit
40cdef6161
4 changed files with 24 additions and 6 deletions
|
|
@ -289,6 +289,7 @@ var gs_kiri_fdm = exports;
|
||||||
device = settings.device,
|
device = settings.device,
|
||||||
process = settings.process,
|
process = settings.process,
|
||||||
fan_power = device.gcodeFan,
|
fan_power = device.gcodeFan,
|
||||||
|
trackLayers = device.gcodeLayer,
|
||||||
trackProgress = device.gcodeTrack,
|
trackProgress = device.gcodeTrack,
|
||||||
time = 0,
|
time = 0,
|
||||||
layer = 0,
|
layer = 0,
|
||||||
|
|
@ -432,7 +433,13 @@ var gs_kiri_fdm = exports;
|
||||||
while (layer < layers.length) {
|
while (layer < layers.length) {
|
||||||
path = layers[layer];
|
path = layers[layer];
|
||||||
|
|
||||||
append("; --- layer "+layer+" ---");
|
if (trackLayers) {
|
||||||
|
trackLayers.forEach(function(line) {
|
||||||
|
append(constReplace(line, {progress: progress, layer: layer, height: zpos}));
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
append("; --- layer "+layer+" ---");
|
||||||
|
}
|
||||||
|
|
||||||
// second layer fan on
|
// second layer fan on
|
||||||
if (layer === 1 && fan_power) {
|
if (layer === 1 && fan_power) {
|
||||||
|
|
|
||||||
13
js/kiri.js
13
js/kiri.js
|
|
@ -37,7 +37,8 @@ self.kiri.license = exports.LICENSE;
|
||||||
gcodePre: 1,
|
gcodePre: 1,
|
||||||
gcodePost: 1,
|
gcodePost: 1,
|
||||||
gcodeFan: 1,
|
gcodeFan: 1,
|
||||||
gcodeTrack: 1
|
gcodeTrack: 1,
|
||||||
|
gcodeLayer: 1
|
||||||
},
|
},
|
||||||
// fields permitted in FDM:Process
|
// fields permitted in FDM:Process
|
||||||
p:{
|
p:{
|
||||||
|
|
@ -225,6 +226,7 @@ self.kiri.license = exports.LICENSE;
|
||||||
gcodePost: [], // footer script
|
gcodePost: [], // footer script
|
||||||
gcodeFan: "", // FDM fan command
|
gcodeFan: "", // FDM fan command
|
||||||
gcodeTrack: "", // FDM progress command
|
gcodeTrack: "", // FDM progress command
|
||||||
|
gcodeLayer: "", // FDM layer output
|
||||||
gcodeDwell: [], // CAM dwell script
|
gcodeDwell: [], // CAM dwell script
|
||||||
gcodeChange: [], // CAM tool change script
|
gcodeChange: [], // CAM tool change script
|
||||||
gcodeFExt: "", // CAM file extension
|
gcodeFExt: "", // CAM file extension
|
||||||
|
|
@ -2106,7 +2108,8 @@ self.kiri.license = exports.LICENSE;
|
||||||
|
|
||||||
setDevice: UC.newGroup("gcode", $('device')),
|
setDevice: UC.newGroup("gcode", $('device')),
|
||||||
setDeviceFan: UC.newInput("fan power", {title:"set cooling fan power", modes:FDM, size:15}),
|
setDeviceFan: UC.newInput("fan power", {title:"set cooling fan power", modes:FDM, size:15}),
|
||||||
setDeviceTrack: UC.newInput("progress", {title:"set progress meter (makerbot)", modes:FDM, size:15}),
|
setDeviceTrack: UC.newInput("progress", {title:"output on each % progress", modes:FDM, size:15}),
|
||||||
|
setDeviceLayer: UC.newInput("layer", {title:"output at each layer change", modes:FDM, size:14, height: 2}),
|
||||||
setDeviceToken: UC.newBoolean("token spacing", null, {title:"gcode token spacing", modes:CAM}),
|
setDeviceToken: UC.newBoolean("token spacing", null, {title:"gcode token spacing", modes:CAM}),
|
||||||
setDeviceStrip: UC.newBoolean("strip comments", null, {title:"strip gcode comments", modes:CAM}),
|
setDeviceStrip: UC.newBoolean("strip comments", null, {title:"strip gcode comments", modes:CAM}),
|
||||||
setDeviceFExt: UC.newInput("file ext", {title:"file name exension", modes:CAM, size:5}),
|
setDeviceFExt: UC.newInput("file ext", {title:"file name exension", modes:CAM, size:5}),
|
||||||
|
|
@ -2760,7 +2763,8 @@ self.kiri.license = exports.LICENSE;
|
||||||
},
|
},
|
||||||
cmd: {
|
cmd: {
|
||||||
fan_power: UI.setDeviceFan.value,
|
fan_power: UI.setDeviceFan.value,
|
||||||
progress: UI.setDeviceTrack.value
|
progress: UI.setDeviceTrack.value,
|
||||||
|
layer: UI.setDeviceLayer.value.split('\n')
|
||||||
},
|
},
|
||||||
pre: UI.setDevicePre.value.split('\n'),
|
pre: UI.setDevicePre.value.split('\n'),
|
||||||
post: UI.setDevicePost.value.split('\n'),
|
post: UI.setDevicePost.value.split('\n'),
|
||||||
|
|
@ -2796,6 +2800,7 @@ self.kiri.license = exports.LICENSE;
|
||||||
spindleMax: valueOf(set.spindle_max, 0),
|
spindleMax: valueOf(set.spindle_max, 0),
|
||||||
gcodeFan: valueOf(cmd.fan_power, ''),
|
gcodeFan: valueOf(cmd.fan_power, ''),
|
||||||
gcodeTrack: valueOf(cmd.progress, ''),
|
gcodeTrack: valueOf(cmd.progress, ''),
|
||||||
|
gcodeLayer: valueOf(cmd.layer, []),
|
||||||
gcodePre: valueOf(code.pre, []),
|
gcodePre: valueOf(code.pre, []),
|
||||||
gcodePost: valueOf(code.post, []),
|
gcodePost: valueOf(code.post, []),
|
||||||
gcodeDwell: valueOf(code.dwell, []),
|
gcodeDwell: valueOf(code.dwell, []),
|
||||||
|
|
@ -2823,6 +2828,7 @@ self.kiri.license = exports.LICENSE;
|
||||||
// FDM
|
// FDM
|
||||||
UI.setDeviceFan.value = dev.gcodeFan;
|
UI.setDeviceFan.value = dev.gcodeFan;
|
||||||
UI.setDeviceTrack.value = dev.gcodeTrack;
|
UI.setDeviceTrack.value = dev.gcodeTrack;
|
||||||
|
UI.setDeviceLayer.value = dev.gcodeLayer.join('\n');
|
||||||
UI.setDeviceFilament.value = dev.filamentSize;
|
UI.setDeviceFilament.value = dev.filamentSize;
|
||||||
UI.setDeviceNozzle.value = dev.nozzleSize;
|
UI.setDeviceNozzle.value = dev.nozzleSize;
|
||||||
// CAM
|
// CAM
|
||||||
|
|
@ -2846,6 +2852,7 @@ self.kiri.license = exports.LICENSE;
|
||||||
UI.setDeviceOriginTop,
|
UI.setDeviceOriginTop,
|
||||||
UI.setDeviceFan,
|
UI.setDeviceFan,
|
||||||
UI.setDeviceTrack,
|
UI.setDeviceTrack,
|
||||||
|
UI.setDeviceLayer,
|
||||||
UI.setDeviceFilament,
|
UI.setDeviceFilament,
|
||||||
UI.setDeviceNozzle,
|
UI.setDeviceNozzle,
|
||||||
UI.setDeviceDwell,
|
UI.setDeviceDwell,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
var exports = {
|
var exports = {
|
||||||
COPYRIGHT:"Copyright (C) 2014-2017 Stewart Allen <stewart@neuron.com> - All Rights Reserved",
|
COPYRIGHT:"Copyright (C) 2014-2017 Stewart Allen <stewart@neuron.com> - All Rights Reserved",
|
||||||
LICENSE:"Unauthorized copying, modification and re-distribution are strictly prohibited without prior written consent.",
|
LICENSE:"Unauthorized copying, modification and re-distribution are strictly prohibited without prior written consent.",
|
||||||
VERSION:"1.0.76"
|
VERSION:"1.0.77"
|
||||||
};
|
};
|
||||||
if (!module) var module = {};
|
if (!module) var module = {};
|
||||||
module.exports = exports;
|
module.exports = exports;
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,11 @@
|
||||||
";Material#2 Used: 0.0"
|
";Material#2 Used: 0.0"
|
||||||
],
|
],
|
||||||
"cmd":{
|
"cmd":{
|
||||||
"fan_power": "M106 S{fan_speed}"
|
"fan_power": "M106 S{fan_speed}",
|
||||||
|
"layer": [
|
||||||
|
";LAYER:{layer}",
|
||||||
|
";HEIGHT:{height}"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"settings":{
|
"settings":{
|
||||||
"origin_center": false,
|
"origin_center": false,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue