From 3db371fbb08d77175324f252f5753e1ab94c98b4 Mon Sep 17 00:00:00 2001 From: make-ing Date: Mon, 14 Mar 2016 15:15:13 +0100 Subject: [PATCH 1/3] added feedrate and intesity reset at beginning of each laser job. --- src/octoprint/util/comm_acc2.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/octoprint/util/comm_acc2.py b/src/octoprint/util/comm_acc2.py index 39a0318a..a014b542 100644 --- a/src/octoprint/util/comm_acc2.py +++ b/src/octoprint/util/comm_acc2.py @@ -824,6 +824,10 @@ class MachineCom(object): if self._currentFile is None: raise ValueError("No file selected for printing") + # reset feedrate and intesity factor in case they where changed in a previous run + self._feedrate_factor = 1 + self._intensity_factor = 1 + try: # ensure fan is on whatever gcode follows. self.sendCommand("M08") From bf4c9c21058f9705c4152dec7c86b47965d6933a Mon Sep 17 00:00:00 2001 From: make-ing Date: Tue, 15 Mar 2016 17:11:54 +0100 Subject: [PATCH 2/3] fixed bug within placeIMG where the picture was to high to fit into the workspace area. --- .../svgtogcode/static/js/working_area.js | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/octoprint/plugins/svgtogcode/static/js/working_area.js b/src/octoprint/plugins/svgtogcode/static/js/working_area.js index 4b35b252..6fc20b1c 100644 --- a/src/octoprint/plugins/svgtogcode/static/js/working_area.js +++ b/src/octoprint/plugins/svgtogcode/static/js/working_area.js @@ -390,7 +390,7 @@ $(function(){ }); }; - + self.placeIMG = function (file) { var url = self._getIMGserveUrl(file); var img = new Image(); @@ -426,10 +426,16 @@ $(function(){ }; self.getUsefulDimensions = function(wpx, hpx){ - var maxWidthMM = wpx * 0.25; // TODO parametrize - var aspectRatio = wpx / hpx; - var destWidthMM = Math.min(self.workingAreaWidthMM() - 2, maxWidthMM); - var destHeightMM = destWidthMM / aspectRatio; + var maxWidthMM = wpx * 0.25; // TODO parametrize + var maxHeightMM = hpx * 0.25; // TODO parametrize + var aspectRatio = wpx / hpx; + var destWidthMM = Math.min(self.workingAreaWidthMM() - 2, maxWidthMM); + var destHeightMM = Math.min(self.workingAreaHeightMM() - 2, maxHeightMM); + if ((destWidthMM / aspectRatio) > destHeightMM) { + destWidthMM = destHeightMM * aspectRatio; + } else { + destHeightMM = destWidthMM / aspectRatio; + } var destWidthPT = self.mm2svgUnits(destWidthMM); var destHeightPT = self.mm2svgUnits(destHeightMM); return [destWidthPT, destHeightPT]; @@ -632,13 +638,13 @@ $(function(){ var userContent = snap.select("#userContent").clone(); compSvg.append(userContent); - + self.renderInfill(compSvg, fillAreas, wMM, hMM, 10, function(svgWithRenderedInfill){ callback( self._wrapInSvgAndScale(svgWithRenderedInfill)); $('#compSvg').remove(); }); }; - + self._wrapInSvgAndScale = function(content){ var svgStr = content.innerSVG(); if(svgStr !== ''){ @@ -721,7 +727,7 @@ $(function(){ self.clear_gcode = function(){ snap.select('#gCodePreview').clear(); }; - + self.onStartup = function(){ self.state.workingArea = self; self.files.workingArea = self; @@ -754,9 +760,9 @@ $(function(){ } }); }; - + self._embedAllImages = function(svg, callback){ - + var allImages = svg.selectAll('image'); var linkedImages = allImages.items.filter(function(i){ if(i.attr('xlink:href') != null) { @@ -795,7 +801,7 @@ $(function(){ var fillings = userContent.removeUnfilled(fillAreas); for (var i = 0; i < fillings.length; i++) { var item = fillings[i]; - + if (item.type === 'image') { // remove filter effects on images for proper rendering var style = item.attr('style'); From d7b5fae61404e505f2e67070fd15a48b3d44168f Mon Sep 17 00:00:00 2001 From: make-ing Date: Wed, 16 Mar 2016 14:16:15 +0100 Subject: [PATCH 3/3] fixed wrong feedrate and intensity slider bug. On every new print start the sliders are set back to 100%. --- .../static/js/app/viewmodels/printerstate.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/octoprint/static/js/app/viewmodels/printerstate.js b/src/octoprint/static/js/app/viewmodels/printerstate.js index b6b8f6d5..d03312d2 100644 --- a/src/octoprint/static/js/app/viewmodels/printerstate.js +++ b/src/octoprint/static/js/app/viewmodels/printerstate.js @@ -216,6 +216,7 @@ $(function() { $("#confirmation_dialog .confirmation_dialog_acknowledge").click( function (e) { if (typeof callback === 'function') { + self.onEventPrintDone(); callback(e); $("#confirmation_dialog").modal("hide"); $("#confirmation_dialog .confirmation_dialog_message").html(''); @@ -285,14 +286,14 @@ $(function() { self.onEventRealTimeState = function(payload){ self.currentPos({x: payload.wx, y: payload.wy}); }; - + self.intensityOverride.subscribe(function(factor){ self._overrideCommand("/intensity "+factor); }); self.feedrateOverride.subscribe(function(factor){ self._overrideCommand("/feedrate "+factor); }); - + self._overrideCommand = function(command, callback) { $.ajax({ url: API_BASEURL + "printer/command", @@ -307,7 +308,7 @@ $(function() { } }); }; - + self._configureOverrideSliders = function() { self.intensityOverrideSlider = $("#intensity_override_slider").slider({ step: 1, @@ -318,7 +319,7 @@ $(function() { }).on("slideStop", function(ev){ self.intensityOverride(ev.value); }); - + self.feedrateOverrideSlider = $("#feedrate_override_slider").slider({ step: 1, min: 10, @@ -330,14 +331,14 @@ $(function() { }); }; - + self.onEventPrintDone = function(){ self.feedrateOverrideSlider.slider('setValue', 100); self.intensityOverrideSlider.slider('setValue', 100); self.intensityOverride(100); self.feedrateOverride(100); }; - + self.onStartup = function() { self._configureOverrideSliders(); };