Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaime van Kessel <nallath@gmail.com>2016-09-27 15:05:56 +0300
committerJaime van Kessel <nallath@gmail.com>2016-09-27 15:05:56 +0300
commit960a39035082c030e5e175a8aa7bc2fa394282c3 (patch)
tree3936cdc797534ed86c70aa38e496d57059bd49e6 /plugins
parent9e47a8737579380075fab6922e153d2c80416716 (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.py13
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)