From a7c5fe934fb402a9b551bfd5ae630021b6e2059c Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Mon, 11 Mar 2019 08:36:32 +0000 Subject: [PATCH 1/9] Added skin_edge_support_thickness and skin_edge_support_layers. --- resources/definitions/fdmprinter.def.json | 29 +++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index b4a7788c92..7c89311982 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2031,6 +2031,35 @@ "settable_per_mesh": true } } + }, + "skin_edge_support_thickness": + { + "label": "Skin Edge Support Thickness", + "description": "The thickness of the extra infill that supports skin edges.", + "unit": "mm", + "default_value": 0.8, + "minimum_value": "0", + "maximum_value": "machine_height", + "type": "float", + "value": "resolveOrValue('infill_sparse_thickness') * 4", + "limit_to_extruder": "infill_extruder_nr", + "enabled": "infill_sparse_density > 0", + "settable_per_mesh": true, + "children": + { + "skin_edge_support_layers": + { + "label": "Skin Edge Support Layers", + "description": "The number of infill layers that supports skin edges.", + "default_value": 4, + "minimum_value": "0", + "type": "int", + "value": "0 if infill_sparse_density == 100 else math.ceil(round(skin_edge_support_thickness / resolveOrValue('infill_sparse_thickness'), 4))", + "limit_to_extruder": "infill_extruder_nr", + "enabled": "infill_sparse_density > 0", + "settable_per_mesh": true + } + } } } }, From bc3605dc5890851f09e766949e549aedba0a6155 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Mon, 11 Mar 2019 10:41:36 +0000 Subject: [PATCH 2/9] Now skin_edge_support_thickness defaults to 0 when infill density >= 50%. --- resources/definitions/fdmprinter.def.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 7c89311982..37ef512f3d 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2041,7 +2041,7 @@ "minimum_value": "0", "maximum_value": "machine_height", "type": "float", - "value": "resolveOrValue('infill_sparse_thickness') * 4", + "value": "resolveOrValue('infill_sparse_thickness') * 4 if infill_sparse_density < 50 else 0", "limit_to_extruder": "infill_extruder_nr", "enabled": "infill_sparse_density > 0", "settable_per_mesh": true, @@ -2054,7 +2054,7 @@ "default_value": 4, "minimum_value": "0", "type": "int", - "value": "0 if infill_sparse_density == 100 else math.ceil(round(skin_edge_support_thickness / resolveOrValue('infill_sparse_thickness'), 4))", + "value": "math.ceil(round(skin_edge_support_thickness / resolveOrValue('infill_sparse_thickness'), 4))", "limit_to_extruder": "infill_extruder_nr", "enabled": "infill_sparse_density > 0", "settable_per_mesh": true From bc924afb641932c4287de63ea301ee0407025507 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Mon, 11 Mar 2019 11:05:20 +0000 Subject: [PATCH 3/9] Default to having 1 skin edge support layer when infill density >= 50. --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 37ef512f3d..aa871ed338 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2041,7 +2041,7 @@ "minimum_value": "0", "maximum_value": "machine_height", "type": "float", - "value": "resolveOrValue('infill_sparse_thickness') * 4 if infill_sparse_density < 50 else 0", + "value": "resolveOrValue('infill_sparse_thickness') * (4 if infill_sparse_density < 50 else 1)", "limit_to_extruder": "infill_extruder_nr", "enabled": "infill_sparse_density > 0", "settable_per_mesh": true, From 5919b49646cb495e73a0af2dc09792eff994cd51 Mon Sep 17 00:00:00 2001 From: Mark Burton Date: Sun, 17 Mar 2019 13:47:02 +0000 Subject: [PATCH 4/9] Add more possible values for skin_edge_support_thickness. --- resources/definitions/fdmprinter.def.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index aa871ed338..278171827d 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2041,7 +2041,7 @@ "minimum_value": "0", "maximum_value": "machine_height", "type": "float", - "value": "resolveOrValue('infill_sparse_thickness') * (4 if infill_sparse_density < 50 else 1)", + "value": "resolveOrValue('infill_sparse_thickness') * (4 if infill_sparse_density < 12.5 else (3 if infill_sparse_density < 25 else (2 if infill_sparse_density < 50 else 1)))", "limit_to_extruder": "infill_extruder_nr", "enabled": "infill_sparse_density > 0", "settable_per_mesh": true, From 96f8dab853413a526f818aa3bf22d8a509d2c8af Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Thu, 31 Oct 2019 11:43:26 +0100 Subject: [PATCH 5/9] dont prepend 'Pre-sliced file' --- cura/UI/PrintInformation.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/cura/UI/PrintInformation.py b/cura/UI/PrintInformation.py index abf1083836..e33ab13b69 100644 --- a/cura/UI/PrintInformation.py +++ b/cura/UI/PrintInformation.py @@ -298,9 +298,7 @@ class PrintInformation(QObject): # Only update the job name when it's not user-specified. if not self._is_user_specified_job_name: - if self._pre_sliced: - self._job_name = catalog.i18nc("@label", "Pre-sliced file {0}", base_name) - elif self._application.getInstance().getPreferences().getValue("cura/jobname_prefix"): + if self._application.getInstance().getPreferences().getValue("cura/jobname_prefix") and not self._pre_sliced: # Don't add abbreviation if it already has the exact same abbreviation. if base_name.startswith(self._abbr_machine + "_"): self._job_name = base_name From 38935a1d020c6915735e2e2b3f749972da08e07c Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Tue, 10 Dec 2019 13:53:26 +0100 Subject: [PATCH 6/9] Fix selecting a new material for a base file on container deletion CURA-7023 --- cura/Machines/VariantNode.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/cura/Machines/VariantNode.py b/cura/Machines/VariantNode.py index c9e3ec4913..550b5881a3 100644 --- a/cura/Machines/VariantNode.py +++ b/cura/Machines/VariantNode.py @@ -167,15 +167,21 @@ class VariantNode(ContainerNode): # Search for any submaterials from that base file that are still left. materials_same_base_file = ContainerRegistry.getInstance().findContainersMetadata(base_file = base_file) if materials_same_base_file: - most_specific_submaterial = materials_same_base_file[0] + most_specific_submaterial = None for submaterial in materials_same_base_file: if submaterial["definition"] == self.machine.container_id: - if most_specific_submaterial["definition"] == "fdmprinter": + if submaterial.get("variant_name", "empty") == self.variant_name: most_specific_submaterial = submaterial - if most_specific_submaterial.get("variant_name", "empty") == "empty" and submaterial.get("variant_name", "empty") == self.variant_name: + break # most specific match possible + if submaterial.get("variant_name", "empty") == "empty": most_specific_submaterial = submaterial - self.materials[base_file] = MaterialNode(most_specific_submaterial["id"], variant = self) - self.materialsChanged.emit(self.materials[base_file]) + + if most_specific_submaterial is None: + Logger.log("w", "Material %s removed, but no suitable replacement found", base_file) + else: + Logger.log("i", "Material %s (%s) overridden by %s", base_file, self.variant_name, most_specific_submaterial.get("id")) + self.materials[base_file] = MaterialNode(most_specific_submaterial["id"], variant = self) + self.materialsChanged.emit(self.materials[base_file]) if not self.materials: # The last available material just got deleted and there is nothing with the same base file to replace it. self.materials["empty_material"] = MaterialNode("empty_material", variant = self) From 6725e28c07cbd40707c655c710e2ec0b2b160604 Mon Sep 17 00:00:00 2001 From: Nino van Hooff Date: Wed, 11 Dec 2019 11:55:25 +0100 Subject: [PATCH 7/9] Connect materialsChanged signal for printers without variants Fixes duplicated materials not showing up for third party printers CURA-7012 --- cura/Machines/MachineNode.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cura/Machines/MachineNode.py b/cura/Machines/MachineNode.py index 92f71b409b..cee71160d2 100644 --- a/cura/Machines/MachineNode.py +++ b/cura/Machines/MachineNode.py @@ -162,6 +162,7 @@ class MachineNode(ContainerNode): container_registry = ContainerRegistry.getInstance() if not self.has_variants: self.variants["empty"] = VariantNode("empty_variant", machine = self) + self.variants["empty"].materialsChanged.connect(self.materialsChanged) else: # Find all the variants for this definition ID. variants = container_registry.findInstanceContainersMetadata(type = "variant", definition = self.container_id, hardware_type = "nozzle") From 2d486b0814c093b69a3252634fad132b60e80f29 Mon Sep 17 00:00:00 2001 From: Remco Burema Date: Wed, 11 Dec 2019 17:00:02 +0100 Subject: [PATCH 8/9] Default behaviour should be the same as previous. Also added the new setting to 'expert' visibility. --- resources/definitions/fdmprinter.def.json | 3 ++- resources/setting_visibility/expert.cfg | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index b607c24d70..394342a316 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2083,7 +2083,8 @@ "minimum_value": "0", "maximum_value": "machine_height", "type": "float", - "value": "resolveOrValue('infill_sparse_thickness') * (4 if infill_sparse_density < 12.5 else (3 if infill_sparse_density < 25 else (2 if infill_sparse_density < 50 else 1)))", + "value": "0", + "comment": "This was put at 0 to keep the default behaviour the same, but in the original PR the 'value' was: resolveOrValue('infill_sparse_thickness') * (4 if infill_sparse_density < 12.5 else (3 if infill_sparse_density < 25 else (2 if infill_sparse_density < 50 else 1)))", "limit_to_extruder": "infill_extruder_nr", "enabled": "infill_sparse_density > 0", "settable_per_mesh": true, diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg index 2b9ad362fc..7b24934b0d 100644 --- a/resources/setting_visibility/expert.cfg +++ b/resources/setting_visibility/expert.cfg @@ -101,6 +101,8 @@ bottom_skin_expand_distance max_skin_angle_for_expansion min_skin_width_for_expansion infill_randomize_start_location +skin_edge_support_thickness +skin_edge_support_layers [material] default_material_print_temperature From e1e65b43b3ce473234ff2f9d93223e6e4718da10 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Thu, 12 Dec 2019 14:06:06 +0100 Subject: [PATCH 9/9] Remove gitlab-ci.yml --- .gitlab-ci.yml | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 .gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 6c5bc61cbe..0000000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,16 +0,0 @@ -image: registry.gitlab.com/ultimaker/cura/cura-build-environment:centos7 - -stages: - - build - -build and test linux: - stage: build - tags: - - cura - - docker - - linux - script: - - docker/build.sh - artifacts: - paths: - - build