diff options
author | Jaime van Kessel <nallath@gmail.com> | 2016-09-27 15:05:56 +0300 |
---|---|---|
committer | Jaime van Kessel <nallath@gmail.com> | 2016-09-27 15:05:56 +0300 |
commit | 960a39035082c030e5e175a8aa7bc2fa394282c3 (patch) | |
tree | 3936cdc797534ed86c70aa38e496d57059bd49e6 /plugins | |
parent | 9e47a8737579380075fab6922e153d2c80416716 (diff) |
Ensure that the correct properties get set for writing profiles to g-code
CURA-2462
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/GCodeWriter/GCodeWriter.py | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/plugins/GCodeWriter/GCodeWriter.py b/plugins/GCodeWriter/GCodeWriter.py index 95d6659dd1..695e90dbf8 100644 --- a/plugins/GCodeWriter/GCodeWriter.py +++ b/plugins/GCodeWriter/GCodeWriter.py @@ -98,6 +98,11 @@ class GCodeWriter(MeshWriter): return "" flat_global_container = self._createFlattenedContainerInstance(stack.getTop(), container_with_profile) + + # Ensure that quality_type is set. (Can happen if we have empty quality changes). + if flat_global_container.getMetaDataEntry("quality_type", None) is None: + flat_global_container.addMetaDataEntry("quality_type", stack.findContainer({"type": "quality"}).getMetaDataEntry("quality_type", "normal")) + serialized = flat_global_container.serialize() data = {"global_quality": serialized} @@ -106,9 +111,15 @@ class GCodeWriter(MeshWriter): if not extruder_quality: Logger.log("w", "No extruder quality profile found, not writing quality for extruder %s to file!", extruder.getId()) continue - flat_extruder_quality = self._createFlattenedContainerInstance(extruder.getTop(), extruder_quality) + # Ensure that extruder is set. (Can happen if we have empty quality changes). + if flat_extruder_quality.getMetaDataEntry("extruder", None) is None: + flat_extruder_quality.addMetaDataEntry("extruder", extruder.getBottom().getId()) + + # Ensure that quality_type is set. (Can happen if we have empty quality changes). + if flat_extruder_quality.getMetaDataEntry("quality_type", None) is None: + flat_extruder_quality.addMetaDataEntry("quality_type", extruder.findContainer({"type": "quality"}).getMetaDataEntry("quality_type", "normal")) extruder_serialized = flat_extruder_quality.serialize() data.setdefault("extruder_quality", []).append(extruder_serialized) |