From 1e5d0026561a9b3d033fa2834e12e79333301d9d Mon Sep 17 00:00:00 2001 From: daid Date: Wed, 29 Jan 2014 17:19:14 +0100 Subject: [PATCH] Add replace-info to replace information in start of GCode. --- Cura/util/sliceEngine.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Cura/util/sliceEngine.py b/Cura/util/sliceEngine.py index 16bd664b..c35bad02 100644 --- a/Cura/util/sliceEngine.py +++ b/Cura/util/sliceEngine.py @@ -44,6 +44,7 @@ class EngineResult(object): self._engineLog = [] self._gcodeData = StringIO.StringIO() self._polygons = [] + self._replaceInfo = {} self._success = False self._printTimeSeconds = None self._filamentMM = [0.0] * 4 @@ -87,7 +88,12 @@ class EngineResult(object): return self._engineLog def getGCode(self): - return self._gcodeData.getvalue() + data = self._gcodeData.getvalue() + block0 = data[0:2048] + for k, v in self._replaceInfo.items(): + v = (v + ' ' * len(k))[:len(k)] + block0 = block0.replace(k, v) + return block0 + data[2048:] def addLog(self, line): self._engineLog.append(line) @@ -395,6 +401,8 @@ class Engine(object): if profile.getMachineSetting('gcode_flavor') == 'UltiGCode': radius = profile.getProfileSettingFloat('filament_diameter') / 2.0 self._result._filamentMM[1] /= (math.pi * radius * radius) + elif line.startswith('Replace:'): + self._result._replaceInfo[line.split(':')[1].strip()] = line.split(':')[2].strip() else: self._result.addLog(line) line = stderr.readline() -- 2.30.2