mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 15:37:27 -06:00
Remove splitting profiles for each material
The material is no longer listed in the profiles and no longer filtered for, so we don't need to create a new profile for each material. Contributes to issues CURA-844 and CURA-2320.
This commit is contained in:
parent
e4f60ccc34
commit
2d41a992f1
2 changed files with 6 additions and 37 deletions
|
@ -88,13 +88,10 @@ class MachineInstance:
|
||||||
active_quality_changes = "empty_quality_changes"
|
active_quality_changes = "empty_quality_changes"
|
||||||
else:
|
else:
|
||||||
active_quality = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.getQualityFallback(type_name, variant, active_material)
|
active_quality = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.getQualityFallback(type_name, variant, active_material)
|
||||||
if has_machine_qualities: #Then the profile will have split into multiple.
|
active_quality_changes = self._active_profile_name
|
||||||
active_quality_changes = self._active_profile_name + "_" + active_material + "_" + variant
|
|
||||||
else:
|
|
||||||
active_quality_changes = self._active_profile_name
|
|
||||||
|
|
||||||
if has_machine_qualities: #This machine now has machine-quality profiles.
|
if has_machine_qualities: #This machine now has machine-quality profiles.
|
||||||
active_material += "_" + variant_materials #That means that the profile was split into multiple.
|
active_material += "_" + variant_materials
|
||||||
|
|
||||||
#Create a new user profile and schedule it to be upgraded.
|
#Create a new user profile and schedule it to be upgraded.
|
||||||
user_profile = configparser.ConfigParser(interpolation = None)
|
user_profile = configparser.ConfigParser(interpolation = None)
|
||||||
|
|
|
@ -49,7 +49,7 @@ class Profile:
|
||||||
self._machine_type_id = parser.get("general", "machine_type", fallback = None)
|
self._machine_type_id = parser.get("general", "machine_type", fallback = None)
|
||||||
self._machine_variant_name = parser.get("general", "machine_variant", fallback = None)
|
self._machine_variant_name = parser.get("general", "machine_variant", fallback = None)
|
||||||
self._machine_instance_name = parser.get("general", "machine_instance", fallback = None)
|
self._machine_instance_name = parser.get("general", "machine_instance", fallback = None)
|
||||||
if "material" in parser["general"]:
|
if "material" in parser["general"]: #Note: Material name is unused in this upgrade.
|
||||||
self._material_name = parser.get("general", "material")
|
self._material_name = parser.get("general", "material")
|
||||||
elif self._type == "material":
|
elif self._type == "material":
|
||||||
self._material_name = parser.get("general", "name", fallback = None)
|
self._material_name = parser.get("general", "name", fallback = None)
|
||||||
|
@ -124,34 +124,6 @@ class Profile:
|
||||||
for item in disabled_settings_defaults[1:]:
|
for item in disabled_settings_defaults[1:]:
|
||||||
disabled_defaults_string += "," + str(item)
|
disabled_defaults_string += "," + str(item)
|
||||||
|
|
||||||
#Material metadata may cause the file to split, so do it last to minimise processing time (do more with the copy).
|
output = io.StringIO()
|
||||||
filenames = []
|
config.write(output)
|
||||||
configs = []
|
return [self._filename], [output.getvalue()]
|
||||||
if self._material_name and self._type != "material":
|
|
||||||
config.set("metadata", "material", self._material_name)
|
|
||||||
filenames.append(self._filename)
|
|
||||||
configs.append(config)
|
|
||||||
elif self._type != "material" and self._machine_type_id in VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.machinesWithMachineQuality():
|
|
||||||
#Split this profile into multiple profiles, one for each material.
|
|
||||||
_new_materials = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.machinesWithMachineQuality()[self._machine_type_id]["materials"]
|
|
||||||
_new_variants = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.machinesWithMachineQuality()[self._machine_type_id]["variants"]
|
|
||||||
translated_machine = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.translatePrinter(self._machine_type_id)
|
|
||||||
for material_id in _new_materials:
|
|
||||||
for variant_id in _new_variants:
|
|
||||||
variant_id_new = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.translateVariant(variant_id, translated_machine)
|
|
||||||
filenames.append("{profile}_{material}_{variant}".format(profile = self._filename, material = material_id, variant = variant_id_new))
|
|
||||||
config_copy = configparser.ConfigParser(interpolation = None)
|
|
||||||
config_copy.read_dict(config) #Copy the config to a new ConfigParser instance.
|
|
||||||
variant_id_new_materials = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.translateVariantForMaterials(variant_id, translated_machine)
|
|
||||||
config_copy.set("metadata", "material", "{material}_{variant}".format(material = material_id, variant = variant_id_new_materials))
|
|
||||||
configs.append(config_copy)
|
|
||||||
else:
|
|
||||||
configs.append(config)
|
|
||||||
filenames.append(self._filename)
|
|
||||||
|
|
||||||
outputs = []
|
|
||||||
for config in configs:
|
|
||||||
output = io.StringIO()
|
|
||||||
config.write(output)
|
|
||||||
outputs.append(output.getvalue())
|
|
||||||
return filenames, outputs
|
|
Loading…
Add table
Add a link
Reference in a new issue