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:
authorDiego Prado Gesto <d.pradogesto@ultimaker.com>2018-02-20 13:11:21 +0300
committerDiego Prado Gesto <d.pradogesto@ultimaker.com>2018-02-20 13:11:21 +0300
commit6af5a5d4bc9a419e99437d793e2f496b8b74c67a (patch)
tree998a32d088e8c22023a7a92c88dfefe0eb2a628a /plugins/GCodeWriter
parent6a4f5192386f3064a0915eeaa2bfc1b3150f0ae9 (diff)
CURA-4946 When storing the gcode profile, the definition must be the
quality definition if the printer has_machine_quality. Otherwise the fdmprinter definition must be used as a fallback. If there is no quality_definition then the printer definition is use.
Diffstat (limited to 'plugins/GCodeWriter')
-rw-r--r--plugins/GCodeWriter/GCodeWriter.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/plugins/GCodeWriter/GCodeWriter.py b/plugins/GCodeWriter/GCodeWriter.py
index d06332bec1..7ef8c494ba 100644
--- a/plugins/GCodeWriter/GCodeWriter.py
+++ b/plugins/GCodeWriter/GCodeWriter.py
@@ -5,6 +5,7 @@ from UM.Mesh.MeshWriter import MeshWriter
from UM.Logger import Logger
from UM.Application import Application
from UM.Settings.InstanceContainer import InstanceContainer
+from UM.Util import parseBool
from cura.Settings.ExtruderManager import ExtruderManager
@@ -120,6 +121,14 @@ class GCodeWriter(MeshWriter):
if flat_global_container.getMetaDataEntry("quality_type", None) is None:
flat_global_container.addMetaDataEntry("quality_type", stack.quality.getMetaDataEntry("quality_type", "normal"))
+ # Change the default defintion
+ default_machine_definition = "fdmprinter"
+ if parseBool(stack.getMetaDataEntry("has_machine_quality", "False")):
+ default_machine_definition = stack.getMetaDataEntry("quality_definition")
+ if not default_machine_definition:
+ default_machine_definition = stack.definition.getId()
+ flat_global_container.setMetaDataEntry("definition", default_machine_definition)
+
serialized = flat_global_container.serialize()
data = {"global_quality": serialized}
@@ -140,6 +149,15 @@ class GCodeWriter(MeshWriter):
# 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.quality.getMetaDataEntry("quality_type", "normal"))
+
+ # Change the default defintion
+ default_extruder_definition = "fdmextruder"
+ if parseBool(stack.getMetaDataEntry("has_machine_quality", "False")):
+ default_extruder_definition = extruder.getMetaDataEntry("quality_definition")
+ if not default_extruder_definition:
+ default_extruder_definition = extruder.definition.getId()
+ flat_extruder_quality.setMetaDataEntry("definition", default_extruder_definition)
+
extruder_serialized = flat_extruder_quality.serialize()
data.setdefault("extruder_quality", []).append(extruder_serialized)