From 5e0f9dd5b141639ab79893f2b0fafa97b206916d Mon Sep 17 00:00:00 2001 From: Kostas Karmas Date: Fri, 20 Nov 2020 14:30:02 +0100 Subject: [PATCH 1/4] Introduce "Maximum Extrusion Area Deviation" for arachne walls simplification This setting denotes what is the maximum allowed area lost or gained when the middle junction of a straight line is removed (due to the simplification). This area deviation exists due to the difference of width of the colinear segments. A B C A C --------------- ************** deviation_error / 2 | |--------------------------- B removed ------------------------------------------ | | | ---------> | | | | |--------------------------- ------------------------------------------ --------------- ^ ************** ^ ^ C.w C.w B.w CURA-7751 --- resources/definitions/fdmprinter.def.json | 12 ++++++++++++ resources/setting_visibility/expert.cfg | 1 + 2 files changed, 13 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 478de6e7e5..11783ae96e 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6126,6 +6126,18 @@ "minimum_value_warning": "0.01", "maximum_value_warning": "0.3", "settable_per_mesh": true + }, + "meshfix_maximum_extrusion_area_deviation": + { + "label": "Maximum Extrusion Area Deviation", + "description": "The maximum deviation allowed when reducing the resolution for the Maximum Resolution setting. If you increase this, the print will be less accurate, but the g-code will be smaller. Maximum Deviation is a limit for Maximum Resolution, so if the two conflict the Maximum Deviation will always be held true.", + "type": "float", + "unit": "mm²", + "default_value": 2, + "minimum_value": "0.001", + "minimum_value_warning": "0.01", + "maximum_value_warning": "10", + "settable_per_mesh": true } } }, diff --git a/resources/setting_visibility/expert.cfg b/resources/setting_visibility/expert.cfg index 7953d911cb..59c8c0a790 100644 --- a/resources/setting_visibility/expert.cfg +++ b/resources/setting_visibility/expert.cfg @@ -330,6 +330,7 @@ meshfix_keep_open_polygons meshfix_maximum_resolution meshfix_maximum_travel_resolution meshfix_maximum_deviation +meshfix_maximum_extrusion_area_deviation multiple_mesh_overlap carve_multiple_volumes alternate_carve_order From 580a8f0290635dd433937fcc4ce51dbc16583408 Mon Sep 17 00:00:00 2001 From: Kostas Karmas Date: Fri, 20 Nov 2020 14:45:08 +0100 Subject: [PATCH 2/4] Change the description of "Maximum Extrusion Area Deviation" setting CURA-7751 --- 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 11783ae96e..a9621cd2b2 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6130,11 +6130,11 @@ "meshfix_maximum_extrusion_area_deviation": { "label": "Maximum Extrusion Area Deviation", - "description": "The maximum deviation allowed when reducing the resolution for the Maximum Resolution setting. If you increase this, the print will be less accurate, but the g-code will be smaller. Maximum Deviation is a limit for Maximum Resolution, so if the two conflict the Maximum Deviation will always be held true.", + "description": "The maximum extrusion area deviation allowed when removing intermediate points from a straight line. An intermediate point may serve as width-changing point in a long straight line. Therefore, if it is removed, it will cause the line to have a uniform width and, as a result, lose (or gain) a bit of extrusion area. If you increase this you may notice slight under- (or over-) extrusion in between straight parallel walls, as more intermediate width-changing points will be allowed to be removed. Your print will be less accurate, but the g-code will be smaller.", "type": "float", "unit": "mm²", "default_value": 2, - "minimum_value": "0.001", + "minimum_value": "0", "minimum_value_warning": "0.01", "maximum_value_warning": "10", "settable_per_mesh": true From 89c5698ad26807d1885de6f3adbce6b65596e7b3 Mon Sep 17 00:00:00 2001 From: Kostas Karmas Date: Fri, 20 Nov 2020 17:31:30 +0100 Subject: [PATCH 3/4] Adjust the unit of the "Maximum Extrusion Area Deviation" setting And along with it, also adjust the default value and minimum/maximum value warnings. CURA-7751 --- resources/definitions/fdmprinter.def.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index a9621cd2b2..32896443b9 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6132,11 +6132,11 @@ "label": "Maximum Extrusion Area Deviation", "description": "The maximum extrusion area deviation allowed when removing intermediate points from a straight line. An intermediate point may serve as width-changing point in a long straight line. Therefore, if it is removed, it will cause the line to have a uniform width and, as a result, lose (or gain) a bit of extrusion area. If you increase this you may notice slight under- (or over-) extrusion in between straight parallel walls, as more intermediate width-changing points will be allowed to be removed. Your print will be less accurate, but the g-code will be smaller.", "type": "float", - "unit": "mm²", - "default_value": 2, + "unit": "μm²", + "default_value": 2000, "minimum_value": "0", - "minimum_value_warning": "0.01", - "maximum_value_warning": "10", + "minimum_value_warning": "500", + "maximum_value_warning": "100000", "settable_per_mesh": true } } From e3e95d39d5b233f1e4c98af69c59e80ceef4d92a Mon Sep 17 00:00:00 2001 From: Kostas Karmas Date: Fri, 20 Nov 2020 17:36:25 +0100 Subject: [PATCH 4/4] Adjust maximum value warning to a more appropriate value CURA-7751 --- 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 32896443b9..0a4547a371 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -6136,7 +6136,7 @@ "default_value": 2000, "minimum_value": "0", "minimum_value_warning": "500", - "maximum_value_warning": "100000", + "maximum_value_warning": "5000", "settable_per_mesh": true } }