From 47dee0d7c4d8c90b3cce58d098cfb5e9c0bfd7a2 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 27 Nov 2020 18:43:50 +0100 Subject: [PATCH 1/5] Add setting for transition length between different numbers of walls Contributes to issue CURA-7686. --- resources/definitions/fdmprinter.def.json | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 0a4547a371..22ce688834 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1067,6 +1067,19 @@ "default_value": "inward_distributed", "limit_to_extruder": "wall_0_extruder_nr" }, + "wall_transition_length": + { + "label": "Wall Transition Length", + "description": "When transitioning between different numbers of walls as the part becomes thinner, a certain amount of space is allotted to split or join the wall lines.", + "type": "float", + "unit": "mm", + "default_value": 0.4, + "value": "line_width", + "minimum_value": "0.001", + "minimum_value_warning": "0.5 * line_width", + "maximum_value_warning": "2 * line_width", + "maximum_value": "min_bead_width * 3 * math.pi" + }, "wall_0_wipe_dist": { "label": "Outer Wall Wipe Distance", From 847ead2b73c1f2da81548ff0f9e832b7111a81a1 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 27 Nov 2020 18:54:47 +0100 Subject: [PATCH 2/5] Add description for Variable Line Strategy This is quite a complex setting. Hopefully this helps a bit to understand it. Needs an extensive article in the Settings Guide I'd say! Done alongside issue CURA-7686. --- 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 22ce688834..d6127e7f79 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1056,7 +1056,7 @@ "beading_strategy_type": { "label": "Variable Line Strategy", - "description": "Beading strategy used by libArachne to generate walls.", + "description": "Strategy to use to print the width of a part with a number of walls. This determines how many walls it will use for a certain total width, and how wide each of these lines are. \"Center Deviation\" will print all walls at the nominal line width except the central one(s), causing big variations in the center but very consistent outsides. \"Distributed\" distributes the width equally over all walls. \"Inward Distributed\" is a balance between the other two, distributing the changes in width over all walls but keeping the walls on the outside slightly more consistent.", "type": "enum", "options": { From 32bdd284f93841f6cf1dff7ea03d146307717f23 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 30 Nov 2020 16:09:36 +0100 Subject: [PATCH 3/5] Add setting to specialise the wall transitioning angle Similar to the previous setting Wall Transition Length, but this determines how fast lines come together, which can be faster than the Wall Transition Length. Contributes to issue CURA-7686. --- resources/definitions/fdmprinter.def.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index d6127e7f79..1d49460681 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1080,6 +1080,18 @@ "maximum_value_warning": "2 * line_width", "maximum_value": "min_bead_width * 3 * math.pi" }, + "wall_transition_angle": + { + "label": "Wall Transition Angle", + "description": "When transitioning between different numbers of walls as the part becomes thinner, two adjacent walls will join together at this angle. This can make the walls come together faster than what the Wall Transition Length indicates, filling the space better.", + "type": "float", + "unit": "°", + "default_value": 30, + "minimum_value": "1", + "minimum_value_warning": "15", + "maximum_value_warning": "50", + "maximum_value": "59" + }, "wall_0_wipe_dist": { "label": "Outer Wall Wipe Distance", From 9ecb951786344bd43c45159de643153229822354 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 30 Nov 2020 17:15:02 +0100 Subject: [PATCH 4/5] Add setting for wall transition filter distance This is a nice setting, compared to the other libArachne settings. Pretty clear what it does. Contributes to issue CURA-7686. --- resources/definitions/fdmprinter.def.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 1d49460681..6af18ca402 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1092,6 +1092,18 @@ "maximum_value_warning": "50", "maximum_value": "59" }, + "wall_transition_filter_distance": + { + "label": "Wall Transition Distance Filter", + "description": "If it would be transitioning back and forth between different numbers of walls in quick succession, don't transition at all. Remove transitions if they are closer together than this distance.", + "type": "float", + "unit": "mm", + "default_value": 0.7, + "value": "2 * math.cos(wall_transition_angle / 180 * math.pi) * wall_line_width_x", + "minimum_value": "wall_transition_length", + "minimum_value_warning": "math.cos(wall_transition_angle / 180 * math.pi) * wall_line_width_x", + "maximum_value_warning": "8 * math.cos(wall_transition_angle / 180 * math.pi) * wall_line_width_x" + }, "wall_0_wipe_dist": { "label": "Outer Wall Wipe Distance", From 3208d032c47a823c99db846a5d290063c03d2638 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Mon, 30 Nov 2020 18:18:56 +0100 Subject: [PATCH 5/5] Add Minimum Variable Line Width setting This is similar to min_bead_width really, but applies to normal walls rather than thin parts. Contributes to issue CURA-7686. --- resources/definitions/fdmprinter.def.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 6af18ca402..037e72181d 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1067,6 +1067,18 @@ "default_value": "inward_distributed", "limit_to_extruder": "wall_0_extruder_nr" }, + "wall_transition_threshold": + { + "label": "Minimum Variable Line Width", + "description": "The smallest line width, as a factor of the normal line width, beyond which it will choose to use fewer, but wider lines to fill the available space. Reduce this threshold to use more, thinner lines. Increase to use fewer, wider lines.", + "type": "float", + "unit": "%", + "default_value": 50, + "minimum_value": "1", + "minimum_value_warning": "min_bead_width / line_width * 100", + "maximum_value_warning": "75", + "maximum_value": "100" + }, "wall_transition_length": { "label": "Wall Transition Length",