Skip to content

Commit

Permalink
New Version
Browse files Browse the repository at this point in the history
#82 max Z-Heigh from expression
  • Loading branch information
OllisGit committed Aug 19, 2019
1 parent 2bf42f1 commit dcd8ff3
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 6 deletions.
18 changes: 14 additions & 4 deletions octoprint_DisplayLayerProgress/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,11 @@
SETTINGS_KEY_DEBUGGING_ENABLED = "debuggingEnabled"
SETTINGS_KEY_LAYER_AVARAGE_DURATION_COUNT = "layerAverageDurationCount"
SETTINGS_KEY_LAYER_AVARAGE_FORMAT_PATTERN = "layerAverageFormatPattern"
SETTINGS_KEY_ZMAX_EXPRESSION_PATTERN = "zMaxExpressionPattern"

HEIGHT_METHODE_Z_MAX = "zMax"
HEIGHT_METHODE_Z_EXTRUSION = "zExtrusion"
HEIGHT_METHODE_Z_EXPRESSION = "zExpression"

NOT_PRESENT = "-"
LAYER_MESSAGE_PREFIX = "M117 INDICATOR-Layer"
Expand All @@ -55,6 +57,7 @@
# Match G1 Z149.370 F1000 or G0 F9000 X161.554 Y118.520 Z14.950 ##no comments
Z_HEIGHT_EXPRESSION = "^[^;](.*)( Z)([+]*[0-9]+[.]*[0-9]*)(.*)"
zHeightPattern = re.compile(Z_HEIGHT_EXPRESSION)

# Match G0 or G1 positive extrusion e.g. G1 X58.030 Y72.281 E0.1839 F2250
EXTRUSION_EXPRESSION = "G[0|1] .*E[+]*([0-9]+[.]*[0-9]*).*"
extrusionPattern = re.compile(EXTRUSION_EXPRESSION)
Expand Down Expand Up @@ -311,6 +314,8 @@ def on_event(self, event, payload):
markerLayerCount = LAYER_COUNT_EXPRESSION
pattern = re.compile(markerLayerCount)

zMaxPattern = re.compile(self._settings.get([SETTINGS_KEY_ZMAX_EXPRESSION_PATTERN]))

totalHeight = 0.0
currentHeight = 0.0
lineNumber = 0
Expand All @@ -335,17 +340,21 @@ def on_event(self, event, payload):
matched = extrusionPattern.match(line)
if matched:
self._totalHeightWithExtrusion = str(currentHeight)

matched = zMaxPattern.match(line)
if matched != None and (self._settings.get([SETTINGS_KEY_TOTAL_HEIGHT_METHODE]) == HEIGHT_METHODE_Z_EXPRESSION):
self._totalHeight = str(matched.group(1))

except (ValueError, RuntimeError):
print("BOOOOOOMMMM")
print("#"+str(lineNumber) + " " + line)


if self._settings.get([SETTINGS_KEY_TOTAL_HEIGHT_METHODE]) == HEIGHT_METHODE_Z_MAX:
self._totalHeight = str("%.2f" % totalHeight)
else:
elif self._settings.get([SETTINGS_KEY_TOTAL_HEIGHT_METHODE]) == HEIGHT_METHODE_Z_EXTRUSION:
self._totalHeight = str("%.2f" % float(self._totalHeightWithExtrusion))

#self._totalHeight = "%.2f" % totalHeight
#self._totalHeight = "%.2f" % self._totalHeightWithExtrusion
self._updateDisplay(UPDATE_DISPLAY_REASON_FRONTEND_CALL)

elif event == Events.FILE_DESELECTED:
Expand Down Expand Up @@ -765,7 +774,8 @@ def get_settings_defaults(self):
feedrateFormat="{:.2f}",
debuggingEnabled=False,
layerAverageDurationCount=5,
layerAverageFormatPattern="{H}h:{M:02}m:{S:02}s"
layerAverageFormatPattern="{H}h:{M:02}m:{S:02}s",
zMaxExpressionPattern=";MAXZ:([0-9]+[.]*[0-9]*).*"
)

# ~~ AssetPlugin mixin
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ $(function () {
self.settingsViewModel.settings.plugins.DisplayLayerProgress.debuggingEnabled(data.debuggingEnabled);
self.settingsViewModel.settings.plugins.DisplayLayerProgress.layerAverageDurationCount(data.layerAverageDurationCount);
self.settingsViewModel.settings.plugins.DisplayLayerProgress.layerAverageFormatPattern(data.layerAverageFormatPattern);
self.settingsViewModel.settings.plugins.DisplayLayerProgress.zMaxExpressionPattern(data.zMaxExpressionPattern);
});

var self = this;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,12 @@ count [; BEGIN_LAYER_OBJECT.*] KISSlicer</textarea>
Z-Value in G-Code<br/>
<input type="radio" name="heightMethode" value="zExtrusion"
data-bind="checked: settingsViewModel.settings.plugins.DisplayLayerProgress.totalHeightMethode"/>&nbsp;&nbsp;Max
Z-Value with Extrusion in Z-Layer<br/>
Z-Value with Extrusion on Z-Layer<br/>
<input type="radio" name="heightMethode" value="zExpression"
data-bind="checked: settingsViewModel.settings.plugins.DisplayLayerProgress.totalHeightMethode"/>&nbsp;&nbsp;Max
Z-Value from expression<br/>
<input type="text" name="zMaxExpressionValue" data-bind="enable: settingsViewModel.settings.plugins.DisplayLayerProgress.totalHeightMethode()=='zExpression',
value: settingsViewModel.settings.plugins.DisplayLayerProgress.zMaxExpressionPattern" />
</div>
</div>
<p>
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
plugin_name = "DisplayLayerProgress"

# The plugin's version. Can be overwritten within OctoPrint's internal data via __plugin_version__ in the plugin module
plugin_version = "1.12.0"
plugin_version = "1.13.0"

# The plugin's description. Can be overwritten within OctoPrint's internal data via __plugin_description__ in the plugin
# module
Expand Down

0 comments on commit dcd8ff3

Please sign in to comment.