From 9112ce3a4dd1e5505ada685617e55e161af542da Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 9 May 2016 18:30:51 +0200 Subject: [PATCH 01/31] JSON feat: acceleration and jerk settings per feature type (CURA-1443) --- resources/machines/fdmprinter.json | 333 +++++++++++++++++++++++++++++ 1 file changed, 333 insertions(+) diff --git a/resources/machines/fdmprinter.json b/resources/machines/fdmprinter.json index 23f5a67af9..f8d00d1b5b 100644 --- a/resources/machines/fdmprinter.json +++ b/resources/machines/fdmprinter.json @@ -1010,6 +1010,339 @@ "max_value_warning": "300", "visible": false, "global_only": true + }, + + + "acceleration_enabled": { + "label": "Enable Acceleration Control", + "description": "Enables adjusting the print head acceleration. Increasing the accelerations can reduce printing time at the cost of print quality.", + "type": "boolean", + "default": false, + "visible": false, + "global_only": "True" + }, + "acceleration_print": { + "label": "Print Head Acceleration", + "description": "The acceleration with which printing happens.", + "unit": "mm/s²", + "type": "float", + "min_value": "0.1", + "max_value_warning": "10000", + "min_value_warning": "100", + "default": 3000, + "visible": true, + "enabled_WTF": "acceleration_enabled", + "children": { + "acceleration_infill": { + "label": "Infill Acceleration", + "description": "The acceleration with which infill is printed.", + "unit": "mm/s²", + "type": "float", + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "default": 3000, + "visible": false, + "enabled_WTF": "acceleration_enabled" + }, + "acceleration_wall": { + "label": "Wall Acceleration", + "description": "The acceleration with which the walls are printed.", + "unit": "mm/s²", + "type": "float", + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "default": 3000, + "visible": false, + "enabled_WTF": "acceleration_enabled", + "children": { + "acceleration_wall_0": { + "label": "Outer Wall Acceleration", + "description": "The acceleration with which the outermost walls are printed.", + "unit": "mm/s²", + "type": "float", + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "default": 3000, + "visible": false, + "enabled_WTF": "acceleration_enabled" + }, + "acceleration_wall_x": { + "label": "Inner Wall Acceleration", + "description": "The acceleration with which all inner walls are printed.", + "unit": "mm/s²", + "type": "float", + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "default": 3000, + "visible": false, + "enabled_WTF": "acceleration_enabled" + } + } + }, + "acceleration_topbottom": { + "label": "Top/Bottom Acceleration", + "description": "The acceleration with which top/bottom layers are printed.", + "unit": "mm/s²", + "type": "float", + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "default": 3000, + "visible": false, + "enabled_WTF": "acceleration_enabled" + }, + "acceleration_support": { + "label": "Support Acceleration", + "description": "The acceleration with which the support structure is printed.", + "unit": "mm/s²", + "type": "float", + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "default": 3000, + "visible": false, + "enabled_WTF": "acceleration_enabled and support_roof_enable", + "children": { + "acceleration_support_infill": { + "label": "Support Infill Acceleration", + "description": "The acceleration with which the infill of support is printed.", + "unit": "mm/s²", + "type": "float", + "default": 3000, + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "visible": false, + "enabled_WTF": "acceleration_enabled and support_enable", + "global_only": true + }, + "acceleration_support_roof": { + "label": "Support Roof Acceleration", + "description": "The acceleration with which the roofs of support are printed. Printing the support roof at lower accelerations can improve overhang quality.", + "unit": "mm/s²", + "type": "float", + "default": 3000, + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "visible": false, + "enabled_WTF": "acceleration_enabled and support_roof_enable", + "global_only": true + } + } + } + } + }, + "acceleration_travel": { + "label": "Travel Acceleration", + "description": "The acceleration with which travel moves are made.", + "unit": "mm/s²", + "type": "float", + "default": 5000, + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "inherit_function": "acceleration_print if magic_spiralize else 5000", + "global_only": true, + "visible": true, + "enabled_WTF": "acceleration_enabled" + }, + "acceleration_layer_0": { + "label": "Initial Layer Acceleration", + "description": "The acceleration for the initial layer.", + "unit": "mm/s²", + "type": "float", + "default": 3000, + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "visible": false, + "enabled_WTF": "acceleration_enabled" + }, + "acceleration_skirt": { + "label": "Skirt Acceleration", + "description": "The acceleration with which the skirt and brim are printed. Normally this is done with the initial layer acceleration, but sometimes you might want to print the skirt at a different acceleration.", + "unit": "mm/s²", + "type": "float", + "default": 3000, + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "visible": false, + "inherit_function": "acceleration_layer_0", + "global_only": true, + "enabled_WTF": "acceleration_enabled" + }, + + + + "jerk_enabled": { + "label": "Enable Jerk Control", + "description": "Enables adjusting the jerk of print head when the X ar Y axis halts or starts to move. Increasing the jerk can reduce printing time at the cost of print quality.", + "type": "boolean", + "default": false, + "visible": false, + "global_only": "True" + }, + "jerk_print": { + "label": "Print Jerk", + "description": "The maximal allowed jerk of the print head when starting to move or when changing direction.", + "unit": "mm/s³", + "type": "float", + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "default": 20, + "visible": true, + "enabled_WTF": "jerk_enabled", + "children": { + "jerk_infill": { + "label": "Infill Jerk", + "description": "The jerk with which infill is printed.", + "unit": "mm/s³", + "type": "float", + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "default": 20, + "visible": false, + "enabled_WTF": "jerk_enabled" + }, + "jerk_wall": { + "label": "Wall Jerk", + "description": "The jerk with which the walls are printed.", + "unit": "mm/s³", + "type": "float", + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "default": 20, + "visible": false, + "enabled_WTF": "jerk_enabled", + "children": { + "jerk_wall_0": { + "label": "Outer Wall Jerk", + "description": "The jerk with which the outermost walls are printed. Printing the outer wall at a lower jerk improves the final skin quality. However, having a large difference between the inner wall jerk and the outer wall jerk will effect quality in a negative way.", + "unit": "mm/s³", + "type": "float", + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "default": 20, + "visible": false, + "enabled_WTF": "jerk_enabled" + }, + "jerk_wall_x": { + "label": "Inner Wall Jerk", + "description": "The jerk with which all inner walls are printed Printing the inner wall faster than the outer wall will reduce printing time. It works well to set this in between the outer wall jerk and the infill jerk.", + "unit": "mm/s³", + "type": "float", + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "default": 20, + "visible": false, + "enabled_WTF": "jerk_enabled" + } + } + }, + "jerk_topbottom": { + "label": "Top/Bottom Jerk", + "description": "The jerk with which top/bottom layers are printed.", + "unit": "mm/s³", + "type": "float", + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "default": 20, + "visible": false, + "enabled_WTF": "jerk_enabled" + }, + "jerk_support": { + "label": "Support Jerk", + "description": "The jerk with which the support structure is printed. Printing support at higher jerks can greatly reduce printing time. The surface quality of the support structure is not important since it is removed after printing.", + "unit": "mm/s³", + "type": "float", + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "default": 20, + "visible": false, + "enabled_WTF": "jerk_enabled and support_roof_enable", + "children": { + "jerk_support_infill": { + "label": "Support Infill Jerk", + "description": "The jerk with which the infill of support is printed. Printing the infill at lower jerks improves stability.", + "unit": "mm/s³", + "type": "float", + "default": 20, + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "visible": false, + "enabled_WTF": "jerk_enabled and support_enable", + "global_only": true + }, + "jerk_support_roof": { + "label": "Support Roof Jerk", + "description": "The jerk with which the roofs of support are printed. Printing the support roof at lower jerks can improve overhang quality.", + "unit": "mm/s³", + "type": "float", + "default": 20, + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "visible": false, + "enabled_WTF": "jerk enabled and support_roof_enable", + "global_only": true + } + } + } + } + }, + "jerk_travel": { + "label": "Travel Jerk", + "description": "The jerk with which travel moves are made.", + "unit": "mm/s³", + "type": "float", + "default": 30, + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "inherit_function": "jerk_print if magic_spiralize else 30", + "global_only": true, + "visible": true, + "enabled_WTF": "jerk_enabled" + }, + "jerk_layer_0": { + "label": "Initial Layer Jerk", + "description": "The print jerk for the initial layer. A lower value is advised to improve adhesion to the build plate.", + "unit": "mm/s³", + "type": "float", + "default": 20, + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "visible": false, + "enabled_WTF": "jerk_enabled" + }, + "jerk_skirt": { + "label": "Skirt Jerk", + "description": "The jerk with which the skirt and brim are printed. Normally this is done at the initial layer jerk, but sometimes you might want to print the skirt with a different jerk.", + "unit": "mm/s³", + "type": "float", + "default": 20, + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "visible": false, + "inherit_function": "jerk_layer_0", + "global_only": true, + "enabled_WTF": "jerk_enabled" } } }, From 1919c63f0c113127b7e5c53f0aa1c36f14c222ad Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 9 May 2016 18:48:45 +0200 Subject: [PATCH 02/31] JSON feat: prime tower and raft acceleration and jerk (CURA-1443) --- .../machines/dual_extrusion_printer.json | 34 +++++ resources/machines/fdmprinter.json | 122 +++++++++++++++++- 2 files changed, 154 insertions(+), 2 deletions(-) diff --git a/resources/machines/dual_extrusion_printer.json b/resources/machines/dual_extrusion_printer.json index 2977345bcb..ccb1d4e96c 100644 --- a/resources/machines/dual_extrusion_printer.json +++ b/resources/machines/dual_extrusion_printer.json @@ -49,6 +49,40 @@ } } }, + "acceleration_print": { + "children": { + "acceleration_prime_tower": { + "label": "Prime Tower Acceleration", + "description": "The acceleration with which the prime tower is printed.", + "unit": "mm/s²", + "type": "float", + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "default": 3000, + "visible": false, + "enabled": "prime_tower_enable and acceleration_enabled", + "global_only": true + } + } + }, + "jerk_print": { + "children": { + "jerk_prime_tower": { + "label": "Prime Tower Jerk", + "description": "The jerk with which the prime tower is printed.", + "unit": "mm/s³", + "type": "float", + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "default": 20, + "visible": false, + "enabled": "prime_tower_enable and jerk_enabled", + "global_only": true + } + } + }, "line_width": { "children": { "prime_tower_line_width": { diff --git a/resources/machines/fdmprinter.json b/resources/machines/fdmprinter.json index f8d00d1b5b..e0b19eb6b5 100644 --- a/resources/machines/fdmprinter.json +++ b/resources/machines/fdmprinter.json @@ -1022,13 +1022,13 @@ "global_only": "True" }, "acceleration_print": { - "label": "Print Head Acceleration", + "label": "Print Acceleration", "description": "The acceleration with which printing happens.", "unit": "mm/s²", "type": "float", "min_value": "0.1", - "max_value_warning": "10000", "min_value_warning": "100", + "max_value_warning": "10000", "default": 3000, "visible": true, "enabled_WTF": "acceleration_enabled", @@ -2097,6 +2097,124 @@ } } }, + + + + "raft_acceleration": { + "label": "Raft Print Acceleration", + "description": "The acceleration with which the raft is printed.", + "unit": "mm/s²", + "type": "float", + "default": 3000, + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "inherit_function": "acceleration_print", + "global_only": "True", + "visible": false, + "enabled": "adhesion_type == \"raft\" and acceleration_enabled", + "children": { + "raft_surface_acceleration": { + "label": "Raft Surface Print Acceleration", + "description": "The acceleration with which the surface raft layers are printed.", + "unit": "mm/s²", + "type": "float", + "default": 3000, + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "global_only": "True", + "visible": false, + "enabled": "adhesion_type == \"raft\" and acceleration_enabled" + }, + "raft_interface_acceleration": { + "label": "Raft Interface Print Acceleration", + "description": "The acceleration with which the interface raft layer is printed.", + "unit": "mm/s²", + "type": "float", + "default": 3000, + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "global_only": "True", + "visible": false, + "enabled": "adhesion_type == \"raft\" and acceleration_enabled" + }, + "raft_base_acceleration": { + "label": "Raft Base Print Acceleration", + "description": "The acceleration with which the base raft layer is printed.", + "unit": "mm/s²", + "type": "float", + "default": 3000, + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "global_only": "True", + "visible": false, + "enabled": "adhesion_type == \"raft\" and acceleration_enabled" + } + } + }, + + + + "raft_jerk": { + "label": "Raft Print Jerk", + "description": "The jerk with which the raft is printed.", + "unit": "mm/s³", + "type": "float", + "default": 20, + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "inherit_function": "jerk_print", + "global_only": "True", + "visible": false, + "enabled": "adhesion_type == \"raft\" and jerk_enabled", + "children": { + "raft_surface_jerk": { + "label": "Raft Surface Print Jerk", + "description": "The jerk with which the surface raft layers are printed.", + "unit": "mm/s³", + "type": "float", + "default": 20, + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "100", + "global_only": "True", + "visible": false, + "enabled": "adhesion_type == \"raft\" and jerk_enabled" + }, + "raft_interface_jerk": { + "label": "Raft Interface Print Jerk", + "description": "The jerk with which the interface raft layer is printed.", + "unit": "mm/s³", + "type": "float", + "default": 20, + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "global_only": "True", + "visible": false, + "enabled": "adhesion_type == \"raft\" and jerk_enabled" + }, + "raft_base_jerk": { + "label": "Raft Base Print Jerk", + "description": "The jerk with which the base raft layer is printed.", + "unit": "mm/s³", + "type": "float", + "default": 20, + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "global_only": "True", + "visible": false, + "enabled": "adhesion_type == \"raft\" and jerk_enabled" + } + } + }, + + "raft_fan_speed": { "label": "Raft Fan Speed", "description": "The fan speed for the raft.", From 8785e4cedaac8f3d0454cfe2d25f776e05b5616d Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Tue, 10 May 2016 09:41:23 +0200 Subject: [PATCH 03/31] JSON fix: bug in enabled function (CURA-1443) there was a space instead of an underscore in jerk_enabled --- resources/machines/fdmprinter.json | 48 +++++++++++++++--------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/resources/machines/fdmprinter.json b/resources/machines/fdmprinter.json index e0b19eb6b5..8275ed1945 100644 --- a/resources/machines/fdmprinter.json +++ b/resources/machines/fdmprinter.json @@ -1031,7 +1031,7 @@ "max_value_warning": "10000", "default": 3000, "visible": true, - "enabled_WTF": "acceleration_enabled", + "enabled": "acceleration_enabled", "children": { "acceleration_infill": { "label": "Infill Acceleration", @@ -1043,7 +1043,7 @@ "max_value_warning": "10000", "default": 3000, "visible": false, - "enabled_WTF": "acceleration_enabled" + "enabled": "acceleration_enabled" }, "acceleration_wall": { "label": "Wall Acceleration", @@ -1055,7 +1055,7 @@ "max_value_warning": "10000", "default": 3000, "visible": false, - "enabled_WTF": "acceleration_enabled", + "enabled": "acceleration_enabled", "children": { "acceleration_wall_0": { "label": "Outer Wall Acceleration", @@ -1067,7 +1067,7 @@ "max_value_warning": "10000", "default": 3000, "visible": false, - "enabled_WTF": "acceleration_enabled" + "enabled": "acceleration_enabled" }, "acceleration_wall_x": { "label": "Inner Wall Acceleration", @@ -1079,7 +1079,7 @@ "max_value_warning": "10000", "default": 3000, "visible": false, - "enabled_WTF": "acceleration_enabled" + "enabled": "acceleration_enabled" } } }, @@ -1093,7 +1093,7 @@ "max_value_warning": "10000", "default": 3000, "visible": false, - "enabled_WTF": "acceleration_enabled" + "enabled": "acceleration_enabled" }, "acceleration_support": { "label": "Support Acceleration", @@ -1105,7 +1105,7 @@ "max_value_warning": "10000", "default": 3000, "visible": false, - "enabled_WTF": "acceleration_enabled and support_roof_enable", + "enabled": "acceleration_enabled and support_roof_enable", "children": { "acceleration_support_infill": { "label": "Support Infill Acceleration", @@ -1117,7 +1117,7 @@ "min_value_warning": "100", "max_value_warning": "10000", "visible": false, - "enabled_WTF": "acceleration_enabled and support_enable", + "enabled": "acceleration_enabled and support_enable", "global_only": true }, "acceleration_support_roof": { @@ -1130,7 +1130,7 @@ "min_value_warning": "100", "max_value_warning": "10000", "visible": false, - "enabled_WTF": "acceleration_enabled and support_roof_enable", + "enabled": "acceleration_enabled and support_roof_enable", "global_only": true } } @@ -1149,7 +1149,7 @@ "inherit_function": "acceleration_print if magic_spiralize else 5000", "global_only": true, "visible": true, - "enabled_WTF": "acceleration_enabled" + "enabled": "acceleration_enabled" }, "acceleration_layer_0": { "label": "Initial Layer Acceleration", @@ -1161,7 +1161,7 @@ "min_value_warning": "100", "max_value_warning": "10000", "visible": false, - "enabled_WTF": "acceleration_enabled" + "enabled": "acceleration_enabled" }, "acceleration_skirt": { "label": "Skirt Acceleration", @@ -1175,7 +1175,7 @@ "visible": false, "inherit_function": "acceleration_layer_0", "global_only": true, - "enabled_WTF": "acceleration_enabled" + "enabled": "acceleration_enabled" }, @@ -1198,7 +1198,7 @@ "max_value_warning": "50", "default": 20, "visible": true, - "enabled_WTF": "jerk_enabled", + "enabled": "jerk_enabled", "children": { "jerk_infill": { "label": "Infill Jerk", @@ -1210,7 +1210,7 @@ "max_value_warning": "50", "default": 20, "visible": false, - "enabled_WTF": "jerk_enabled" + "enabled": "jerk_enabled" }, "jerk_wall": { "label": "Wall Jerk", @@ -1222,7 +1222,7 @@ "max_value_warning": "50", "default": 20, "visible": false, - "enabled_WTF": "jerk_enabled", + "enabled": "jerk_enabled", "children": { "jerk_wall_0": { "label": "Outer Wall Jerk", @@ -1234,7 +1234,7 @@ "max_value_warning": "50", "default": 20, "visible": false, - "enabled_WTF": "jerk_enabled" + "enabled": "jerk_enabled" }, "jerk_wall_x": { "label": "Inner Wall Jerk", @@ -1246,7 +1246,7 @@ "max_value_warning": "50", "default": 20, "visible": false, - "enabled_WTF": "jerk_enabled" + "enabled": "jerk_enabled" } } }, @@ -1260,7 +1260,7 @@ "max_value_warning": "50", "default": 20, "visible": false, - "enabled_WTF": "jerk_enabled" + "enabled": "jerk_enabled" }, "jerk_support": { "label": "Support Jerk", @@ -1272,7 +1272,7 @@ "max_value_warning": "50", "default": 20, "visible": false, - "enabled_WTF": "jerk_enabled and support_roof_enable", + "enabled": "jerk_enabled and support_roof_enable", "children": { "jerk_support_infill": { "label": "Support Infill Jerk", @@ -1284,7 +1284,7 @@ "min_value_warning": "5", "max_value_warning": "50", "visible": false, - "enabled_WTF": "jerk_enabled and support_enable", + "enabled": "jerk_enabled and support_enable", "global_only": true }, "jerk_support_roof": { @@ -1297,7 +1297,7 @@ "min_value_warning": "5", "max_value_warning": "50", "visible": false, - "enabled_WTF": "jerk enabled and support_roof_enable", + "enabled": "jerk_enabled and support_roof_enable", "global_only": true } } @@ -1316,7 +1316,7 @@ "inherit_function": "jerk_print if magic_spiralize else 30", "global_only": true, "visible": true, - "enabled_WTF": "jerk_enabled" + "enabled": "jerk_enabled" }, "jerk_layer_0": { "label": "Initial Layer Jerk", @@ -1328,7 +1328,7 @@ "min_value_warning": "5", "max_value_warning": "50", "visible": false, - "enabled_WTF": "jerk_enabled" + "enabled": "jerk_enabled" }, "jerk_skirt": { "label": "Skirt Jerk", @@ -1342,7 +1342,7 @@ "visible": false, "inherit_function": "jerk_layer_0", "global_only": true, - "enabled_WTF": "jerk_enabled" + "enabled": "jerk_enabled" } } }, From 871d4087b0d043330c0dee8e745b2335316be732 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 30 May 2016 14:32:58 +0200 Subject: [PATCH 04/31] JSON refactor: moved dual extrusion acceleration and jerk settings to new .def.json (CURA-1443) --- resources/definitions/fdmprinter.def.json | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 1870036408..c98b0771b6 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1306,6 +1306,19 @@ "global_only": true } } + }, + "acceleration_prime_tower": { + "label": "Prime Tower Acceleration", + "description": "The acceleration with which the prime tower is printed.", + "unit": "mm/s²", + "type": "float", + "min_value": "0.1", + "min_value_warning": "100", + "max_value_warning": "10000", + "default": 3000, + "visible": false, + "enabled": "prime_tower_enable and acceleration_enabled", + "global_only": true } } }, @@ -1473,6 +1486,19 @@ "global_only": true } } + }, + "jerk_prime_tower": { + "label": "Prime Tower Jerk", + "description": "The jerk with which the prime tower is printed.", + "unit": "mm/s³", + "type": "float", + "min_value": "0.1", + "min_value_warning": "5", + "max_value_warning": "50", + "default": 20, + "visible": false, + "enabled": "prime_tower_enable and jerk_enabled", + "global_only": true } } }, From 7742073818b4367863ac64901d8eef9fc0ce544b Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 30 May 2016 14:34:32 +0200 Subject: [PATCH 05/31] Removed old dual_extrusion_printer.json which wass reintroduced due to faulty merge. (CURA-1443) --- .../machines/dual_extrusion_printer.json | 345 ------------------ 1 file changed, 345 deletions(-) delete mode 100644 resources/machines/dual_extrusion_printer.json diff --git a/resources/machines/dual_extrusion_printer.json b/resources/machines/dual_extrusion_printer.json deleted file mode 100644 index ccb1d4e96c..0000000000 --- a/resources/machines/dual_extrusion_printer.json +++ /dev/null @@ -1,345 +0,0 @@ -{ - "version": 1, - "id": "dual_extrusion", - "name": "Dual Extrusion Base File", - "file_formats": "text/x-gcode;application/x-stl-ascii;application/x-stl-binary;application/x-wavefront-obj;application/x3g", - "inherits": "fdmprinter.json", - - "visible": false, - - "machine_extruder_trains": { - "0": { - "extruder_nr": { "default": 0 }, - "machine_nozzle_offset_x": { "default": 0.0 }, - "machine_nozzle_offset_y": { "default": 0.0 } - }, - "1": { - "extruder_nr": { "default": 1 } - } - }, - - "machine_settings": { - "machine_use_extruder_offset_to_offset_coords": { "default": false }, - - "machine_nozzle_offset_x": { "default": 0, "SEE_machine_extruder_trains": true }, - "machine_nozzle_offset_y": { "default": 0, "SEE_machine_extruder_trains": true }, - "machine_extruder_start_code": { "default": "", "SEE_machine_extruder_trains": true }, - "machine_extruder_start_pos_abs": { "default": false, "SEE_machine_extruder_trains": true }, - "machine_extruder_start_pos_x": { "default": 0, "SEE_machine_extruder_trains": true }, - "machine_extruder_start_pos_y": { "default": 0, "SEE_machine_extruder_trains": true }, - "machine_extruder_end_pos_abs": { "default": false, "SEE_machine_extruder_trains": true }, - "machine_extruder_end_pos_x": { "default": 0, "SEE_machine_extruder_trains": true }, - "machine_extruder_end_pos_y": { "default": 0, "SEE_machine_extruder_trains": true }, - "machine_extruder_end_code": { "default": "", "SEE_machine_extruder_trains": true } - }, - "overrides": { - "speed_print": { - "children": { - "speed_prime_tower": { - "label": "Prime Tower Speed", - "description": "The speed at which the prime tower is printed. Printing the prime tower slower can make it more stable when the adhesion between the different filaments is suboptimal.", - "unit": "mm/s", - "type": "float", - "min_value": "0.1", - "max_value_warning": "150", - "default": 60, - "visible": false, - "enabled": "prime_tower_enable", - "global_only": true - } - } - }, - "acceleration_print": { - "children": { - "acceleration_prime_tower": { - "label": "Prime Tower Acceleration", - "description": "The acceleration with which the prime tower is printed.", - "unit": "mm/s²", - "type": "float", - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", - "default": 3000, - "visible": false, - "enabled": "prime_tower_enable and acceleration_enabled", - "global_only": true - } - } - }, - "jerk_print": { - "children": { - "jerk_prime_tower": { - "label": "Prime Tower Jerk", - "description": "The jerk with which the prime tower is printed.", - "unit": "mm/s³", - "type": "float", - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", - "default": 20, - "visible": false, - "enabled": "prime_tower_enable and jerk_enabled", - "global_only": true - } - } - }, - "line_width": { - "children": { - "prime_tower_line_width": { - "label": "Prime Tower Line Width", - "description": "Width of a single prime tower line.", - "unit": "mm", - "min_value": "0.0001", - "min_value_warning": "0.2", - "max_value_warning": "5", - "default": 0.4, - "type": "float", - "visible": false, - "enabled": "prime_tower_enable", - "global_only": true - } - } - } - }, - "categories": { - "dual": { - "label": "Dual Extrusion", - "visible": true, - "icon": "category_dual", - "settings": { - "extruder_nr": { - "label": "Extruder", - "description": "The extruder train used for printing. This is used in multi-extrusion.", - "type": "int", - "default": 0, - "min_value": "0", - "max_value": "machine_extruder_count - 1", - "always_visible": true - }, - "adhesion_extruder_nr": { - "label": "Platform Adhesion Extruder", - "description": "The extruder train to use for printing the skirt/brim/raft. This is used in multi-extrusion.", - "type": "int", - "default": 0, - "min_value": "0", - "max_value": "machine_extruder_count - 1", - "global_only": true - }, - "support_extruder_nr": { - "label": "Support Extruder", - "description": "The extruder train to use for printing the support. This is used in multi-extrusion.", - "type": "int", - "default": 0, - "min_value": "0", - "max_value": "machine_extruder_count - 1", - "global_only": true, - "children": { - "support_infill_extruder_nr": { - "label": "Support Infill Extruder", - "description": "The extruder train to use for printing the infill of the support. This is used in multi-extrusion.", - "type": "int", - "default": 0, - "min_value": "0", - "max_value": "machine_extruder_count - 1", - "global_only": true - }, - "support_extruder_nr_layer_0": { - "label": "First Layer Support Extruder", - "description": "The extruder train to use for printing the first layer of support infill. This is used in multi-extrusion.", - "type": "int", - "default": 0, - "min_value": "0", - "max_value": "machine_extruder_count - 1", - "global_only": true - }, - "support_roof_extruder_nr": { - "label": "Support Roof Extruder", - "description": "The extruder train to use for printing the roof of the support. This is used in multi-extrusion.", - "type": "int", - "default": 0, - "min_value": "0", - "max_value": "machine_extruder_count - 1", - "enabled": "support_roof_enable", - "global_only": true - } - } - }, - "prime_tower_enable": { - "label": "Enable Prime Tower", - "description": "Print a tower next to the print which serves to prime the material after each nozzle switch.", - "type": "boolean", - "visible": true, - "default": false, - "global_only": true - }, - "prime_tower_size": { - "label": "Prime Tower Size", - "description": "The width of the prime tower.", - "visible": false, - "type": "float", - "unit": "mm", - "default": 15, - "min_value": "0", - "max_value_warning": "20", - "inherit_function": "15 if prime_tower_enable else 0", - "enabled": "prime_tower_enable", - "global_only": true - }, - "prime_tower_position_x": { - "label": "Prime Tower X Position", - "description": "The x position of the prime tower.", - "visible": false, - "type": "float", - "unit": "mm", - "default": 200, - "min_value_warning": "-1000", - "max_value_warning": "1000", - "enabled": "prime_tower_enable", - "global_only": true - }, - "prime_tower_position_y": { - "label": "Prime Tower Y Position", - "description": "The y position of the prime tower.", - "visible": false, - "type": "float", - "unit": "mm", - "default": 200, - "min_value_warning": "-1000", - "max_value_warning": "1000", - "enabled": "prime_tower_enable", - "global_only": true - }, - "prime_tower_flow": { - "label": "Prime Tower Flow", - "description": "Flow compensation: the amount of material extruded is multiplied by this value.", - "visible": false, - "unit": "%", - "default": 100, - "type": "float", - "min_value": "5", - "min_value_warning": "50", - "max_value_warning": "150", - "enabled": "prime_tower_enable", - "global_only": true - }, - "prime_tower_wipe_enabled": { - "label": "Wipe Nozzle on Prime tower", - "description": "After printing the prime tower with the one nozzle, wipe the oozed material from the other nozzle off on the prime tower.", - "type": "boolean", - "default": false, - "enabled": "prime_tower_enable", - "global_only": true - }, - "multiple_mesh_overlap": { - "label": "Dual Extrusion Overlap", - "description": "Make the objects printed with different extruder trains overlap a bit. This makes the different materials bond together better.", - "visible": false, - "type": "float", - "unit": "mm", - "default": 0.15, - "min_value": "0", - "max_value_warning": "1.0", - "global_only": true - }, - "ooze_shield_enabled": { - "label": "Enable Ooze Shield", - "description": "Enable exterior ooze shield. This will create a shell around the object which is likely to wipe a second nozzle if it's at the same height as the first nozzle.", - "type": "boolean", - "default": false, - "global_only": true - }, - "ooze_shield_angle": { - "label": "Ooze Shield Angle", - "description": "The maximum angle a part in the ooze shield will have. With 0 degrees being vertical, and 90 degrees being horizontal. A smaller angle leads to less failed ooze shields, but more material.", - "unit": "°", - "type": "float", - "min_value": "0", - "max_value": "90", - "default": 60, - "visible": false, - "enabled": "ooze_shield_enabled", - "global_only": true - }, - "ooze_shield_dist": { - "label": "Ooze Shields Distance", - "description": "Distance of the ooze shield from the print, in the X/Y directions.", - "unit": "mm", - "type": "float", - "min_value": "0", - "max_value_warning": "30", - "default": 2, - "visible": false, - "enabled": "ooze_shield_enabled", - "global_only": true - } - } - }, - "material": { - "settings": { - "material_standby_temperature": { - "label": "Standby Temperature", - "description": "The temperature of the nozzle when another nozzle is currently used for printing.", - "unit": "°C", - "type": "float", - "default": 150, - "min_value": "0", - "max_value_warning": "260", - "global_only": "True", - "visible": false - }, - "switch_extruder_retraction_amount": { - "label": "Nozzle Switch Retraction Distance", - "description": "The amount of retraction: Set at 0 for no retraction at all. This should generally be the same as the length of the heat zone.", - "unit": "mm", - "type": "float", - "default": 20, - "min_value_warning": "0", - "max_value_warning": "100", - "visible": false, - "inherit_function": "machine_heat_zone_length", - "enabled": "retraction_enable", - "global_only": true - }, - "switch_extruder_retraction_speeds": { - "label": "Nozzle Switch Retraction Speed", - "description": "The speed at which the filament is retracted. A higher retraction speed works better, but a very high retraction speed can lead to filament grinding.", - "unit": "mm/s", - "type": "float", - "default": 20, - "min_value": "0.1", - "max_value_warning": "300", - "visible": false, - "inherit": false, - "enabled": "retraction_enable", - "global_only": true, - "children": { - "switch_extruder_retraction_speed": { - "label": "Nozzle Switch Retract Speed", - "description": "The speed at which the filament is retracted during a nozzle switch retract. ", - "unit": "mm/s", - "type": "float", - "default": 20, - "min_value": "0.1", - "max_value_warning": "300", - "visible": false, - "enabled": "retraction_enable", - "global_only": true - }, - "switch_extruder_prime_speed": { - "label": "Nozzle Switch Prime Speed", - "description": "The speed at which the filament is pushed back after a nozzle switch retraction.", - "unit": "mm/s", - "type": "float", - "default": 20, - "min_value": "0.1", - "max_value_warning": "300", - "visible": false, - "enabled": "retraction_enable", - "global_only": true - } - } - } - } - } - } -} From c80e3fa62a1e4938646dfc6a6c9b61de6dc05728 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 30 May 2016 14:37:57 +0200 Subject: [PATCH 06/31] JSON fix: min_value ==> minimum_value (and for max) for acceleration and jerk settings (CURA-1443) --- resources/definitions/fdmprinter.def.json | 204 +++++++++++----------- 1 file changed, 102 insertions(+), 102 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index c98b0771b6..19d159084d 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1198,9 +1198,9 @@ "description": "The acceleration with which printing happens.", "unit": "mm/s²", "type": "float", - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "default": 3000, "visible": true, "enabled": "acceleration_enabled", @@ -1210,9 +1210,9 @@ "description": "The acceleration with which infill is printed.", "unit": "mm/s²", "type": "float", - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "default": 3000, "visible": false, "enabled": "acceleration_enabled" @@ -1222,9 +1222,9 @@ "description": "The acceleration with which the walls are printed.", "unit": "mm/s²", "type": "float", - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "default": 3000, "visible": false, "enabled": "acceleration_enabled", @@ -1234,9 +1234,9 @@ "description": "The acceleration with which the outermost walls are printed.", "unit": "mm/s²", "type": "float", - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "default": 3000, "visible": false, "enabled": "acceleration_enabled" @@ -1246,9 +1246,9 @@ "description": "The acceleration with which all inner walls are printed.", "unit": "mm/s²", "type": "float", - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "default": 3000, "visible": false, "enabled": "acceleration_enabled" @@ -1260,9 +1260,9 @@ "description": "The acceleration with which top/bottom layers are printed.", "unit": "mm/s²", "type": "float", - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "default": 3000, "visible": false, "enabled": "acceleration_enabled" @@ -1272,9 +1272,9 @@ "description": "The acceleration with which the support structure is printed.", "unit": "mm/s²", "type": "float", - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "default": 3000, "visible": false, "enabled": "acceleration_enabled and support_roof_enable", @@ -1285,9 +1285,9 @@ "unit": "mm/s²", "type": "float", "default": 3000, - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "visible": false, "enabled": "acceleration_enabled and support_enable", "global_only": true @@ -1298,9 +1298,9 @@ "unit": "mm/s²", "type": "float", "default": 3000, - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "visible": false, "enabled": "acceleration_enabled and support_roof_enable", "global_only": true @@ -1312,9 +1312,9 @@ "description": "The acceleration with which the prime tower is printed.", "unit": "mm/s²", "type": "float", - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "default": 3000, "visible": false, "enabled": "prime_tower_enable and acceleration_enabled", @@ -1328,9 +1328,9 @@ "unit": "mm/s²", "type": "float", "default": 5000, - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "inherit_function": "acceleration_print if magic_spiralize else 5000", "global_only": true, "visible": true, @@ -1342,9 +1342,9 @@ "unit": "mm/s²", "type": "float", "default": 3000, - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "visible": false, "enabled": "acceleration_enabled" }, @@ -1354,9 +1354,9 @@ "unit": "mm/s²", "type": "float", "default": 3000, - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "visible": false, "inherit_function": "acceleration_layer_0", "global_only": true, @@ -1378,9 +1378,9 @@ "description": "The maximal allowed jerk of the print head when starting to move or when changing direction.", "unit": "mm/s³", "type": "float", - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "default": 20, "visible": true, "enabled": "jerk_enabled", @@ -1390,9 +1390,9 @@ "description": "The jerk with which infill is printed.", "unit": "mm/s³", "type": "float", - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "default": 20, "visible": false, "enabled": "jerk_enabled" @@ -1402,9 +1402,9 @@ "description": "The jerk with which the walls are printed.", "unit": "mm/s³", "type": "float", - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "default": 20, "visible": false, "enabled": "jerk_enabled", @@ -1414,9 +1414,9 @@ "description": "The jerk with which the outermost walls are printed. Printing the outer wall at a lower jerk improves the final skin quality. However, having a large difference between the inner wall jerk and the outer wall jerk will effect quality in a negative way.", "unit": "mm/s³", "type": "float", - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "default": 20, "visible": false, "enabled": "jerk_enabled" @@ -1426,9 +1426,9 @@ "description": "The jerk with which all inner walls are printed Printing the inner wall faster than the outer wall will reduce printing time. It works well to set this in between the outer wall jerk and the infill jerk.", "unit": "mm/s³", "type": "float", - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "default": 20, "visible": false, "enabled": "jerk_enabled" @@ -1440,9 +1440,9 @@ "description": "The jerk with which top/bottom layers are printed.", "unit": "mm/s³", "type": "float", - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "default": 20, "visible": false, "enabled": "jerk_enabled" @@ -1452,9 +1452,9 @@ "description": "The jerk with which the support structure is printed. Printing support at higher jerks can greatly reduce printing time. The surface quality of the support structure is not important since it is removed after printing.", "unit": "mm/s³", "type": "float", - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "default": 20, "visible": false, "enabled": "jerk_enabled and support_roof_enable", @@ -1465,9 +1465,9 @@ "unit": "mm/s³", "type": "float", "default": 20, - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "visible": false, "enabled": "jerk_enabled and support_enable", "global_only": true @@ -1478,9 +1478,9 @@ "unit": "mm/s³", "type": "float", "default": 20, - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "visible": false, "enabled": "jerk_enabled and support_roof_enable", "global_only": true @@ -1492,9 +1492,9 @@ "description": "The jerk with which the prime tower is printed.", "unit": "mm/s³", "type": "float", - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "default": 20, "visible": false, "enabled": "prime_tower_enable and jerk_enabled", @@ -1508,9 +1508,9 @@ "unit": "mm/s³", "type": "float", "default": 30, - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "inherit_function": "jerk_print if magic_spiralize else 30", "global_only": true, "visible": true, @@ -1522,9 +1522,9 @@ "unit": "mm/s³", "type": "float", "default": 20, - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "visible": false, "enabled": "jerk_enabled" }, @@ -1534,9 +1534,9 @@ "unit": "mm/s³", "type": "float", "default": 20, - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "visible": false, "inherit_function": "jerk_layer_0", "global_only": true, @@ -2342,9 +2342,9 @@ "unit": "mm/s²", "type": "float", "default": 3000, - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "inherit_function": "acceleration_print", "global_only": "True", "visible": false, @@ -2356,9 +2356,9 @@ "unit": "mm/s²", "type": "float", "default": 3000, - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "global_only": "True", "visible": false, "enabled": "adhesion_type == \"raft\" and acceleration_enabled" @@ -2369,9 +2369,9 @@ "unit": "mm/s²", "type": "float", "default": 3000, - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "global_only": "True", "visible": false, "enabled": "adhesion_type == \"raft\" and acceleration_enabled" @@ -2382,9 +2382,9 @@ "unit": "mm/s²", "type": "float", "default": 3000, - "min_value": "0.1", - "min_value_warning": "100", - "max_value_warning": "10000", + "minimum_value": "0.1", + "minimum_value_warning": "100", + "maximum_value_warning": "10000", "global_only": "True", "visible": false, "enabled": "adhesion_type == \"raft\" and acceleration_enabled" @@ -2400,9 +2400,9 @@ "unit": "mm/s³", "type": "float", "default": 20, - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "inherit_function": "jerk_print", "global_only": "True", "visible": false, @@ -2414,9 +2414,9 @@ "unit": "mm/s³", "type": "float", "default": 20, - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "100", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "100", "global_only": "True", "visible": false, "enabled": "adhesion_type == \"raft\" and jerk_enabled" @@ -2427,9 +2427,9 @@ "unit": "mm/s³", "type": "float", "default": 20, - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "global_only": "True", "visible": false, "enabled": "adhesion_type == \"raft\" and jerk_enabled" @@ -2440,9 +2440,9 @@ "unit": "mm/s³", "type": "float", "default": 20, - "min_value": "0.1", - "min_value_warning": "5", - "max_value_warning": "50", + "minimum_value": "0.1", + "minimum_value_warning": "5", + "maximum_value_warning": "50", "global_only": "True", "visible": false, "enabled": "adhesion_type == \"raft\" and jerk_enabled" From 4f793d2fc5ed694bd451abd079bd1b928ee305db Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 30 May 2016 14:41:04 +0200 Subject: [PATCH 07/31] JSON fix: default ==> default_value for acceleration and jerk (CURA-1443) --- resources/definitions/fdmprinter.def.json | 72 +++++++++++------------ 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 19d159084d..2e11f20b48 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1189,7 +1189,7 @@ "label": "Enable Acceleration Control", "description": "Enables adjusting the print head acceleration. Increasing the accelerations can reduce printing time at the cost of print quality.", "type": "boolean", - "default": false, + "default_value": false, "visible": false, "global_only": "True" }, @@ -1201,7 +1201,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "default": 3000, + "default_value": 3000, "visible": true, "enabled": "acceleration_enabled", "children": { @@ -1213,7 +1213,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "default": 3000, + "default_value": 3000, "visible": false, "enabled": "acceleration_enabled" }, @@ -1225,7 +1225,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "default": 3000, + "default_value": 3000, "visible": false, "enabled": "acceleration_enabled", "children": { @@ -1237,7 +1237,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "default": 3000, + "default_value": 3000, "visible": false, "enabled": "acceleration_enabled" }, @@ -1249,7 +1249,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "default": 3000, + "default_value": 3000, "visible": false, "enabled": "acceleration_enabled" } @@ -1263,7 +1263,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "default": 3000, + "default_value": 3000, "visible": false, "enabled": "acceleration_enabled" }, @@ -1275,7 +1275,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "default": 3000, + "default_value": 3000, "visible": false, "enabled": "acceleration_enabled and support_roof_enable", "children": { @@ -1284,7 +1284,7 @@ "description": "The acceleration with which the infill of support is printed.", "unit": "mm/s²", "type": "float", - "default": 3000, + "default_value": 3000, "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -1297,7 +1297,7 @@ "description": "The acceleration with which the roofs of support are printed. Printing the support roof at lower accelerations can improve overhang quality.", "unit": "mm/s²", "type": "float", - "default": 3000, + "default_value": 3000, "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -1315,7 +1315,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "default": 3000, + "default_value": 3000, "visible": false, "enabled": "prime_tower_enable and acceleration_enabled", "global_only": true @@ -1327,7 +1327,7 @@ "description": "The acceleration with which travel moves are made.", "unit": "mm/s²", "type": "float", - "default": 5000, + "default_value": 5000, "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -1341,7 +1341,7 @@ "description": "The acceleration for the initial layer.", "unit": "mm/s²", "type": "float", - "default": 3000, + "default_value": 3000, "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -1353,7 +1353,7 @@ "description": "The acceleration with which the skirt and brim are printed. Normally this is done with the initial layer acceleration, but sometimes you might want to print the skirt at a different acceleration.", "unit": "mm/s²", "type": "float", - "default": 3000, + "default_value": 3000, "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -1369,7 +1369,7 @@ "label": "Enable Jerk Control", "description": "Enables adjusting the jerk of print head when the X ar Y axis halts or starts to move. Increasing the jerk can reduce printing time at the cost of print quality.", "type": "boolean", - "default": false, + "default_value": false, "visible": false, "global_only": "True" }, @@ -1381,7 +1381,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "default": 20, + "default_value": 20, "visible": true, "enabled": "jerk_enabled", "children": { @@ -1393,7 +1393,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "default": 20, + "default_value": 20, "visible": false, "enabled": "jerk_enabled" }, @@ -1405,7 +1405,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "default": 20, + "default_value": 20, "visible": false, "enabled": "jerk_enabled", "children": { @@ -1417,7 +1417,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "default": 20, + "default_value": 20, "visible": false, "enabled": "jerk_enabled" }, @@ -1429,7 +1429,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "default": 20, + "default_value": 20, "visible": false, "enabled": "jerk_enabled" } @@ -1443,7 +1443,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "default": 20, + "default_value": 20, "visible": false, "enabled": "jerk_enabled" }, @@ -1455,7 +1455,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "default": 20, + "default_value": 20, "visible": false, "enabled": "jerk_enabled and support_roof_enable", "children": { @@ -1464,7 +1464,7 @@ "description": "The jerk with which the infill of support is printed. Printing the infill at lower jerks improves stability.", "unit": "mm/s³", "type": "float", - "default": 20, + "default_value": 20, "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", @@ -1477,7 +1477,7 @@ "description": "The jerk with which the roofs of support are printed. Printing the support roof at lower jerks can improve overhang quality.", "unit": "mm/s³", "type": "float", - "default": 20, + "default_value": 20, "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", @@ -1495,7 +1495,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "default": 20, + "default_value": 20, "visible": false, "enabled": "prime_tower_enable and jerk_enabled", "global_only": true @@ -1507,7 +1507,7 @@ "description": "The jerk with which travel moves are made.", "unit": "mm/s³", "type": "float", - "default": 30, + "default_value": 30, "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", @@ -1521,7 +1521,7 @@ "description": "The print jerk for the initial layer. A lower value is advised to improve adhesion to the build plate.", "unit": "mm/s³", "type": "float", - "default": 20, + "default_value": 20, "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", @@ -1533,7 +1533,7 @@ "description": "The jerk with which the skirt and brim are printed. Normally this is done at the initial layer jerk, but sometimes you might want to print the skirt with a different jerk.", "unit": "mm/s³", "type": "float", - "default": 20, + "default_value": 20, "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", @@ -2341,7 +2341,7 @@ "description": "The acceleration with which the raft is printed.", "unit": "mm/s²", "type": "float", - "default": 3000, + "default_value": 3000, "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -2355,7 +2355,7 @@ "description": "The acceleration with which the surface raft layers are printed.", "unit": "mm/s²", "type": "float", - "default": 3000, + "default_value": 3000, "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -2368,7 +2368,7 @@ "description": "The acceleration with which the interface raft layer is printed.", "unit": "mm/s²", "type": "float", - "default": 3000, + "default_value": 3000, "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -2381,7 +2381,7 @@ "description": "The acceleration with which the base raft layer is printed.", "unit": "mm/s²", "type": "float", - "default": 3000, + "default_value": 3000, "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -2399,7 +2399,7 @@ "description": "The jerk with which the raft is printed.", "unit": "mm/s³", "type": "float", - "default": 20, + "default_value": 20, "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", @@ -2413,7 +2413,7 @@ "description": "The jerk with which the surface raft layers are printed.", "unit": "mm/s³", "type": "float", - "default": 20, + "default_value": 20, "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "100", @@ -2426,7 +2426,7 @@ "description": "The jerk with which the interface raft layer is printed.", "unit": "mm/s³", "type": "float", - "default": 20, + "default_value": 20, "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", @@ -2439,7 +2439,7 @@ "description": "The jerk with which the base raft layer is printed.", "unit": "mm/s³", "type": "float", - "default": 20, + "default_value": 20, "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", From 6b5e72de72e33b7c1c259a4d19061682ea3a1dbc Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 30 May 2016 14:42:01 +0200 Subject: [PATCH 08/31] JSON refactor: inherit_function ==> default for acceleration and jerk (CURA-1443) --- resources/definitions/fdmprinter.def.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 2e11f20b48..06c9c50e20 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1331,7 +1331,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "inherit_function": "acceleration_print if magic_spiralize else 5000", + "default": "acceleration_print if magic_spiralize else 5000", "global_only": true, "visible": true, "enabled": "acceleration_enabled" @@ -1358,7 +1358,7 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "visible": false, - "inherit_function": "acceleration_layer_0", + "default": "acceleration_layer_0", "global_only": true, "enabled": "acceleration_enabled" }, @@ -1511,7 +1511,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "inherit_function": "jerk_print if magic_spiralize else 30", + "default": "jerk_print if magic_spiralize else 30", "global_only": true, "visible": true, "enabled": "jerk_enabled" @@ -1538,7 +1538,7 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "visible": false, - "inherit_function": "jerk_layer_0", + "default": "jerk_layer_0", "global_only": true, "enabled": "jerk_enabled" } @@ -2345,7 +2345,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "inherit_function": "acceleration_print", + "default": "acceleration_print", "global_only": "True", "visible": false, "enabled": "adhesion_type == \"raft\" and acceleration_enabled", @@ -2403,7 +2403,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "inherit_function": "jerk_print", + "default": "jerk_print", "global_only": "True", "visible": false, "enabled": "adhesion_type == \"raft\" and jerk_enabled", From d67bd1015ee69b78dc7ab83d537fe772f3be61c2 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 30 May 2016 14:50:09 +0200 Subject: [PATCH 09/31] JSON fix: visible wasn't inside metadata (CURA-1443) --- resources/definitions/ultimaker.def.json | 2 +- resources/definitions/ultimaker2_extended_plus.def.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index 60e4dbbf40..3ed8c3f42c 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -1,12 +1,12 @@ { "id": "ultimaker_base", "version": 2, - "visible": false, "name": "Ultimaker", "inherits": "fdmprinter", "metadata": { "author": "Ultimaker", "manufacturer": "Ultimaker", + "visible": false, "preferred_profile": "Normal Quality", "preferred_nozzle": "0.4 mm", "preferred_material": "PLA" diff --git a/resources/definitions/ultimaker2_extended_plus.def.json b/resources/definitions/ultimaker2_extended_plus.def.json index eae48773b6..96239fa804 100644 --- a/resources/definitions/ultimaker2_extended_plus.def.json +++ b/resources/definitions/ultimaker2_extended_plus.def.json @@ -3,14 +3,14 @@ "version": 2, "name": "Ultimaker 2 Extended+", "inherits": "ultimaker2_plus", - "visible": false, "metadata": { "author": "Ultimaker", "manufacturer": "Ultimaker", "category": "Ultimaker", "file_formats": "text/x-gcode", "platform": "ultimaker2_platform.obj", - "platform_texture": "Ultimaker2ExtendedPlusbackplate.png" + "platform_texture": "Ultimaker2ExtendedPlusbackplate.png", + "visible": false }, "overrides": { From b8df3825f6f2ef1d22e033c47cd104da8582b33b Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Mon, 30 May 2016 14:54:33 +0200 Subject: [PATCH 10/31] JSON fix: remove visible property (and add visibility defaults (CURA-1443) for acceleration and jerk settings --- cura/CuraApplication.py | 3 ++ resources/definitions/fdmprinter.def.json | 35 ----------------------- 2 files changed, 3 insertions(+), 35 deletions(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index f0610a3538..de716fe25f 100644 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -167,6 +167,9 @@ class CuraApplication(QtApplication): speed speed_print speed_travel + acceleration_print + acceleration_travel + jerk_print travel cooling cool_fan_enabled diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 06c9c50e20..716f7aa55f 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1190,7 +1190,6 @@ "description": "Enables adjusting the print head acceleration. Increasing the accelerations can reduce printing time at the cost of print quality.", "type": "boolean", "default_value": false, - "visible": false, "global_only": "True" }, "acceleration_print": { @@ -1202,7 +1201,6 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, - "visible": true, "enabled": "acceleration_enabled", "children": { "acceleration_infill": { @@ -1214,7 +1212,6 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, - "visible": false, "enabled": "acceleration_enabled" }, "acceleration_wall": { @@ -1226,7 +1223,6 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, - "visible": false, "enabled": "acceleration_enabled", "children": { "acceleration_wall_0": { @@ -1238,7 +1234,6 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, - "visible": false, "enabled": "acceleration_enabled" }, "acceleration_wall_x": { @@ -1250,7 +1245,6 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, - "visible": false, "enabled": "acceleration_enabled" } } @@ -1264,7 +1258,6 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, - "visible": false, "enabled": "acceleration_enabled" }, "acceleration_support": { @@ -1276,7 +1269,6 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, - "visible": false, "enabled": "acceleration_enabled and support_roof_enable", "children": { "acceleration_support_infill": { @@ -1288,7 +1280,6 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "visible": false, "enabled": "acceleration_enabled and support_enable", "global_only": true }, @@ -1301,7 +1292,6 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "visible": false, "enabled": "acceleration_enabled and support_roof_enable", "global_only": true } @@ -1316,7 +1306,6 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, - "visible": false, "enabled": "prime_tower_enable and acceleration_enabled", "global_only": true } @@ -1333,7 +1322,6 @@ "maximum_value_warning": "10000", "default": "acceleration_print if magic_spiralize else 5000", "global_only": true, - "visible": true, "enabled": "acceleration_enabled" }, "acceleration_layer_0": { @@ -1345,7 +1333,6 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "visible": false, "enabled": "acceleration_enabled" }, "acceleration_skirt": { @@ -1357,7 +1344,6 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "visible": false, "default": "acceleration_layer_0", "global_only": true, "enabled": "acceleration_enabled" @@ -1370,7 +1356,6 @@ "description": "Enables adjusting the jerk of print head when the X ar Y axis halts or starts to move. Increasing the jerk can reduce printing time at the cost of print quality.", "type": "boolean", "default_value": false, - "visible": false, "global_only": "True" }, "jerk_print": { @@ -1382,7 +1367,6 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, - "visible": true, "enabled": "jerk_enabled", "children": { "jerk_infill": { @@ -1394,7 +1378,6 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, - "visible": false, "enabled": "jerk_enabled" }, "jerk_wall": { @@ -1406,7 +1389,6 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, - "visible": false, "enabled": "jerk_enabled", "children": { "jerk_wall_0": { @@ -1418,7 +1400,6 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, - "visible": false, "enabled": "jerk_enabled" }, "jerk_wall_x": { @@ -1430,7 +1411,6 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, - "visible": false, "enabled": "jerk_enabled" } } @@ -1444,7 +1424,6 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, - "visible": false, "enabled": "jerk_enabled" }, "jerk_support": { @@ -1456,7 +1435,6 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, - "visible": false, "enabled": "jerk_enabled and support_roof_enable", "children": { "jerk_support_infill": { @@ -1468,7 +1446,6 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "visible": false, "enabled": "jerk_enabled and support_enable", "global_only": true }, @@ -1481,7 +1458,6 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "visible": false, "enabled": "jerk_enabled and support_roof_enable", "global_only": true } @@ -1496,7 +1472,6 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, - "visible": false, "enabled": "prime_tower_enable and jerk_enabled", "global_only": true } @@ -1525,7 +1500,6 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "visible": false, "enabled": "jerk_enabled" }, "jerk_skirt": { @@ -1537,7 +1511,6 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "visible": false, "default": "jerk_layer_0", "global_only": true, "enabled": "jerk_enabled" @@ -2347,7 +2320,6 @@ "maximum_value_warning": "10000", "default": "acceleration_print", "global_only": "True", - "visible": false, "enabled": "adhesion_type == \"raft\" and acceleration_enabled", "children": { "raft_surface_acceleration": { @@ -2360,7 +2332,6 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "global_only": "True", - "visible": false, "enabled": "adhesion_type == \"raft\" and acceleration_enabled" }, "raft_interface_acceleration": { @@ -2373,7 +2344,6 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "global_only": "True", - "visible": false, "enabled": "adhesion_type == \"raft\" and acceleration_enabled" }, "raft_base_acceleration": { @@ -2386,7 +2356,6 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "global_only": "True", - "visible": false, "enabled": "adhesion_type == \"raft\" and acceleration_enabled" } } @@ -2405,7 +2374,6 @@ "maximum_value_warning": "50", "default": "jerk_print", "global_only": "True", - "visible": false, "enabled": "adhesion_type == \"raft\" and jerk_enabled", "children": { "raft_surface_jerk": { @@ -2418,7 +2386,6 @@ "minimum_value_warning": "5", "maximum_value_warning": "100", "global_only": "True", - "visible": false, "enabled": "adhesion_type == \"raft\" and jerk_enabled" }, "raft_interface_jerk": { @@ -2431,7 +2398,6 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "global_only": "True", - "visible": false, "enabled": "adhesion_type == \"raft\" and jerk_enabled" }, "raft_base_jerk": { @@ -2444,7 +2410,6 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "global_only": "True", - "visible": false, "enabled": "adhesion_type == \"raft\" and jerk_enabled" } } From 2b3efe43293e9aab001145c698086887d18f9d22 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Wed, 8 Jun 2016 12:23:54 +0200 Subject: [PATCH 11/31] JSON fix: type boolean should be bool (CURA-1443) --- 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 716f7aa55f..6912c88904 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1188,7 +1188,7 @@ "acceleration_enabled": { "label": "Enable Acceleration Control", "description": "Enables adjusting the print head acceleration. Increasing the accelerations can reduce printing time at the cost of print quality.", - "type": "boolean", + "type": "bool", "default_value": false, "global_only": "True" }, @@ -1354,7 +1354,7 @@ "jerk_enabled": { "label": "Enable Jerk Control", "description": "Enables adjusting the jerk of print head when the X ar Y axis halts or starts to move. Increasing the jerk can reduce printing time at the cost of print quality.", - "type": "boolean", + "type": "bool", "default_value": false, "global_only": "True" }, From 6cca612d7d3e915fce1f720daf461f4436619caf Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Wed, 8 Jun 2016 12:30:29 +0200 Subject: [PATCH 12/31] JSON rename: Raft Interface ==> Raft Middle ; Raft Surface ==> Raft Top (CURA-1443) --- resources/definitions/fdmprinter.def.json | 32 +++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 6912c88904..37be736d34 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -2264,8 +2264,8 @@ { "raft_surface_speed": { - "label": "Raft Surface Print Speed", - "description": "The speed at which the surface raft layers are printed. These should be printed a bit slower, so that the nozzle can slowly smooth out adjacent surface lines.", + "label": "Raft Top Print Speed", + "description": "The speed at which the top raft layers are printed. These should be printed a bit slower, so that the nozzle can slowly smooth out adjacent surface lines.", "unit": "mm/s", "type": "float", "default_value": 30, @@ -2278,8 +2278,8 @@ }, "raft_interface_speed": { - "label": "Raft Interface Print Speed", - "description": "The speed at which the interface raft layer is printed. This should be printed quite slowly, as the volume of material coming out of the nozzle is quite high.", + "label": "Raft Middle Print Speed", + "description": "The speed at which the middle raft layer is printed. This should be printed quite slowly, as the volume of material coming out of the nozzle is quite high.", "unit": "mm/s", "type": "float", "default_value": 15, @@ -2323,8 +2323,8 @@ "enabled": "adhesion_type == \"raft\" and acceleration_enabled", "children": { "raft_surface_acceleration": { - "label": "Raft Surface Print Acceleration", - "description": "The acceleration with which the surface raft layers are printed.", + "label": "Raft Top Print Acceleration", + "description": "The acceleration with which the top raft layers are printed.", "unit": "mm/s²", "type": "float", "default_value": 3000, @@ -2335,8 +2335,8 @@ "enabled": "adhesion_type == \"raft\" and acceleration_enabled" }, "raft_interface_acceleration": { - "label": "Raft Interface Print Acceleration", - "description": "The acceleration with which the interface raft layer is printed.", + "label": "Raft Middle Print Acceleration", + "description": "The acceleration with which the middle raft layer is printed.", "unit": "mm/s²", "type": "float", "default_value": 3000, @@ -2377,8 +2377,8 @@ "enabled": "adhesion_type == \"raft\" and jerk_enabled", "children": { "raft_surface_jerk": { - "label": "Raft Surface Print Jerk", - "description": "The jerk with which the surface raft layers are printed.", + "label": "Raft Top Print Jerk", + "description": "The jerk with which the top raft layers are printed.", "unit": "mm/s³", "type": "float", "default_value": 20, @@ -2389,8 +2389,8 @@ "enabled": "adhesion_type == \"raft\" and jerk_enabled" }, "raft_interface_jerk": { - "label": "Raft Interface Print Jerk", - "description": "The jerk with which the interface raft layer is printed.", + "label": "Raft Middle Print Jerk", + "description": "The jerk with which the middle raft layer is printed.", "unit": "mm/s³", "type": "float", "default_value": 20, @@ -2430,8 +2430,8 @@ { "raft_surface_fan_speed": { - "label": "Raft Surface Fan Speed", - "description": "The fan speed for the surface raft layers.", + "label": "Raft Top Fan Speed", + "description": "The fan speed for the top raft layers.", "unit": "%", "type": "float", "minimum_value": "0", @@ -2443,8 +2443,8 @@ }, "raft_interface_fan_speed": { - "label": "Raft Interface Fan Speed", - "description": "The fan speed for the interface raft layer.", + "label": "Raft Middle Fan Speed", + "description": "The fan speed for the middle raft layer.", "unit": "%", "type": "float", "minimum_value": "0", From 0dcf13a243e284b46e347b855f502287433ee47f Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Wed, 8 Jun 2016 13:26:24 +0200 Subject: [PATCH 13/31] JSON fix typo: ar ==> or (CURA-1443) --- 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 37be736d34..1c5f8ed97a 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1353,7 +1353,7 @@ "jerk_enabled": { "label": "Enable Jerk Control", - "description": "Enables adjusting the jerk of print head when the X ar Y axis halts or starts to move. Increasing the jerk can reduce printing time at the cost of print quality.", + "description": "Enables adjusting the jerk of print head when the X or Y axis halts or starts to move. Increasing the jerk can reduce printing time at the cost of print quality.", "type": "bool", "default_value": false, "global_only": "True" From 472477eee29b72503db734238ca794bb88f95464 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Wed, 8 Jun 2016 13:27:06 +0200 Subject: [PATCH 14/31] JSON fix type: effect ==> affect (CURA-1443) --- 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 1c5f8ed97a..2ed0d1632b 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1043,7 +1043,7 @@ "speed_wall_0": { "label": "Outer Wall Speed", - "description": "The speed at which the outermost walls are printed. Printing the outer wall at a lower speed improves the final skin quality. However, having a large difference between the inner wall speed and the outer wall speed will effect quality in a negative way.", + "description": "The speed at which the outermost walls are printed. Printing the outer wall at a lower speed improves the final skin quality. However, having a large difference between the inner wall speed and the outer wall speed will affect quality in a negative way.", "unit": "mm/s", "type": "float", "minimum_value": "0.1", From 61b674b74e0385ea26de7e38f33eb40bdbbcf0b9 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Wed, 8 Jun 2016 13:28:11 +0200 Subject: [PATCH 15/31] JSON fix: removed sentences from jerk settings which were only applicable for speed. (CURA-1443) --- resources/definitions/fdmprinter.def.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 2ed0d1632b..89aa40192c 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1393,7 +1393,7 @@ "children": { "jerk_wall_0": { "label": "Outer Wall Jerk", - "description": "The jerk with which the outermost walls are printed. Printing the outer wall at a lower jerk improves the final skin quality. However, having a large difference between the inner wall jerk and the outer wall jerk will effect quality in a negative way.", + "description": "The jerk with which the outermost walls are printed.", "unit": "mm/s³", "type": "float", "minimum_value": "0.1", @@ -1404,7 +1404,7 @@ }, "jerk_wall_x": { "label": "Inner Wall Jerk", - "description": "The jerk with which all inner walls are printed Printing the inner wall faster than the outer wall will reduce printing time. It works well to set this in between the outer wall jerk and the infill jerk.", + "description": "The jerk with which all inner walls are printed.", "unit": "mm/s³", "type": "float", "minimum_value": "0.1", @@ -1428,7 +1428,7 @@ }, "jerk_support": { "label": "Support Jerk", - "description": "The jerk with which the support structure is printed. Printing support at higher jerks can greatly reduce printing time. The surface quality of the support structure is not important since it is removed after printing.", + "description": "The jerk with which the support structure is printed.", "unit": "mm/s³", "type": "float", "minimum_value": "0.1", @@ -1439,7 +1439,7 @@ "children": { "jerk_support_infill": { "label": "Support Infill Jerk", - "description": "The jerk with which the infill of support is printed. Printing the infill at lower jerks improves stability.", + "description": "The jerk with which the infill of support is printed.", "unit": "mm/s³", "type": "float", "default_value": 20, @@ -1451,7 +1451,7 @@ }, "jerk_support_roof": { "label": "Support Roof Jerk", - "description": "The jerk with which the roofs of support are printed. Printing the support roof at lower jerks can improve overhang quality.", + "description": "The jerk with which the roofs of support are printed.", "unit": "mm/s³", "type": "float", "default_value": 20, @@ -1493,7 +1493,7 @@ }, "jerk_layer_0": { "label": "Initial Layer Jerk", - "description": "The print jerk for the initial layer. A lower value is advised to improve adhesion to the build plate.", + "description": "The print jerk for the initial layer.", "unit": "mm/s³", "type": "float", "default_value": 20, @@ -1504,7 +1504,7 @@ }, "jerk_skirt": { "label": "Skirt Jerk", - "description": "The jerk with which the skirt and brim are printed. Normally this is done at the initial layer jerk, but sometimes you might want to print the skirt with a different jerk.", + "description": "The jerk with which the skirt and brim are printed.", "unit": "mm/s³", "type": "float", "default_value": 20, From 3e10335e037dfc565e9260ea461c5396be3dab24 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Wed, 8 Jun 2016 13:28:37 +0200 Subject: [PATCH 16/31] JSON fix typo: missing dot --- 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 89aa40192c..6828b8dd89 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1055,7 +1055,7 @@ "speed_wall_x": { "label": "Inner Wall Speed", - "description": "The speed at which all inner walls are printed Printing the inner wall faster than the outer wall will reduce printing time. It works well to set this in between the outer wall speed and the infill speed.", + "description": "The speed at which all inner walls are printed. Printing the inner wall faster than the outer wall will reduce printing time. It works well to set this in between the outer wall speed and the infill speed.", "unit": "mm/s", "type": "float", "minimum_value": "0.1", From b2d57207a4934d969d08f1b9a8c139852fceb03a Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 10 Jun 2016 13:20:55 +0200 Subject: [PATCH 17/31] fix: global_only ==> settable_per_X for acceleration and jerk settings (CURA-1560 CURA-1443) --- resources/definitions/fdmprinter.def.json | 104 +++++++++++++--------- 1 file changed, 64 insertions(+), 40 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 5c1d45442b..ff46047e48 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1318,7 +1318,8 @@ "description": "Enables adjusting the print head acceleration. Increasing the accelerations can reduce printing time at the cost of print quality.", "type": "bool", "default_value": false, - "global_only": "True" + "settable_per_mesh": false, + "settable_per_extruder": false }, "acceleration_print": { "label": "Print Acceleration", @@ -1330,6 +1331,7 @@ "maximum_value_warning": "10000", "default_value": 3000, "enabled": "acceleration_enabled", + "settable_per_mesh": true, "children": { "acceleration_infill": { "label": "Infill Acceleration", @@ -1340,7 +1342,8 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, - "enabled": "acceleration_enabled" + "enabled": "acceleration_enabled", + "settable_per_mesh": true }, "acceleration_wall": { "label": "Wall Acceleration", @@ -1352,6 +1355,7 @@ "maximum_value_warning": "10000", "default_value": 3000, "enabled": "acceleration_enabled", + "settable_per_mesh": true, "children": { "acceleration_wall_0": { "label": "Outer Wall Acceleration", @@ -1362,7 +1366,8 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, - "enabled": "acceleration_enabled" + "enabled": "acceleration_enabled", + "settable_per_mesh": true }, "acceleration_wall_x": { "label": "Inner Wall Acceleration", @@ -1373,7 +1378,8 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, - "enabled": "acceleration_enabled" + "enabled": "acceleration_enabled", + "settable_per_mesh": true } } }, @@ -1386,7 +1392,8 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, - "enabled": "acceleration_enabled" + "enabled": "acceleration_enabled", + "settable_per_mesh": true }, "acceleration_support": { "label": "Support Acceleration", @@ -1398,6 +1405,8 @@ "maximum_value_warning": "10000", "default_value": 3000, "enabled": "acceleration_enabled and support_roof_enable", + "settable_per_mesh": false, + "settable_per_extruder": false, "children": { "acceleration_support_infill": { "label": "Support Infill Acceleration", @@ -1409,7 +1418,8 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "enabled": "acceleration_enabled and support_enable", - "global_only": true + "settable_per_mesh": false, + "settable_per_extruder": false }, "acceleration_support_roof": { "label": "Support Roof Acceleration", @@ -1421,7 +1431,8 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "enabled": "acceleration_enabled and support_roof_enable", - "global_only": true + "settable_per_mesh": false, + "settable_per_extruder": false } } }, @@ -1435,7 +1446,7 @@ "maximum_value_warning": "10000", "default_value": 3000, "enabled": "prime_tower_enable and acceleration_enabled", - "global_only": true + "settable_per_mesh": false } } }, @@ -1449,8 +1460,8 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default": "acceleration_print if magic_spiralize else 5000", - "global_only": true, - "enabled": "acceleration_enabled" + "enabled": "acceleration_enabled", + "settable_per_mesh": false }, "acceleration_layer_0": { "label": "Initial Layer Acceleration", @@ -1461,7 +1472,8 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "enabled": "acceleration_enabled" + "enabled": "acceleration_enabled", + "settable_per_mesh": true }, "acceleration_skirt": { "label": "Skirt Acceleration", @@ -1473,8 +1485,8 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default": "acceleration_layer_0", - "global_only": true, - "enabled": "acceleration_enabled" + "enabled": "acceleration_enabled", + "settable_per_mesh": false }, @@ -1484,7 +1496,8 @@ "description": "Enables adjusting the jerk of print head when the X or Y axis halts or starts to move. Increasing the jerk can reduce printing time at the cost of print quality.", "type": "bool", "default_value": false, - "global_only": "True" + "settable_per_mesh": false, + "settable_per_extruder": false }, "jerk_print": { "label": "Print Jerk", @@ -1496,6 +1509,7 @@ "maximum_value_warning": "50", "default_value": 20, "enabled": "jerk_enabled", + "settable_per_mesh": true, "children": { "jerk_infill": { "label": "Infill Jerk", @@ -1506,7 +1520,8 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, - "enabled": "jerk_enabled" + "enabled": "jerk_enabled", + "settable_per_mesh": true }, "jerk_wall": { "label": "Wall Jerk", @@ -1518,6 +1533,7 @@ "maximum_value_warning": "50", "default_value": 20, "enabled": "jerk_enabled", + "settable_per_mesh": true, "children": { "jerk_wall_0": { "label": "Outer Wall Jerk", @@ -1528,7 +1544,8 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, - "enabled": "jerk_enabled" + "enabled": "jerk_enabled", + "settable_per_mesh": true }, "jerk_wall_x": { "label": "Inner Wall Jerk", @@ -1539,7 +1556,8 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, - "enabled": "jerk_enabled" + "enabled": "jerk_enabled", + "settable_per_mesh": true } } }, @@ -1552,7 +1570,8 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, - "enabled": "jerk_enabled" + "enabled": "jerk_enabled", + "settable_per_mesh": true }, "jerk_support": { "label": "Support Jerk", @@ -1564,6 +1583,8 @@ "maximum_value_warning": "50", "default_value": 20, "enabled": "jerk_enabled and support_roof_enable", + "settable_per_mesh": false, + "settable_per_extruder": false, "children": { "jerk_support_infill": { "label": "Support Infill Jerk", @@ -1575,7 +1596,8 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "enabled": "jerk_enabled and support_enable", - "global_only": true + "settable_per_mesh": false, + "settable_per_extruder": false }, "jerk_support_roof": { "label": "Support Roof Jerk", @@ -1587,7 +1609,8 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "enabled": "jerk_enabled and support_roof_enable", - "global_only": true + "settable_per_mesh": false, + "settable_per_extruder": false } } }, @@ -1601,7 +1624,7 @@ "maximum_value_warning": "50", "default_value": 20, "enabled": "prime_tower_enable and jerk_enabled", - "global_only": true + "settable_per_mesh": false } } }, @@ -1615,9 +1638,9 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default": "jerk_print if magic_spiralize else 30", - "global_only": true, "visible": true, - "enabled": "jerk_enabled" + "enabled": "jerk_enabled", + "settable_per_mesh": false }, "jerk_layer_0": { "label": "Initial Layer Jerk", @@ -1628,7 +1651,8 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "enabled": "jerk_enabled" + "enabled": "jerk_enabled", + "settable_per_mesh": true }, "jerk_skirt": { "label": "Skirt Jerk", @@ -1640,8 +1664,8 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default": "jerk_layer_0", - "global_only": true, - "enabled": "jerk_enabled" + "enabled": "jerk_enabled", + "settable_per_mesh": false } } }, @@ -2506,8 +2530,8 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default": "acceleration_print", - "global_only": "True", "enabled": "adhesion_type == \"raft\" and acceleration_enabled", + "settable_per_mesh": false, "children": { "raft_surface_acceleration": { "label": "Raft Top Print Acceleration", @@ -2518,8 +2542,8 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "global_only": "True", - "enabled": "adhesion_type == \"raft\" and acceleration_enabled" + "enabled": "adhesion_type == \"raft\" and acceleration_enabled", + "settable_per_mesh": false }, "raft_interface_acceleration": { "label": "Raft Middle Print Acceleration", @@ -2530,8 +2554,8 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "global_only": "True", - "enabled": "adhesion_type == \"raft\" and acceleration_enabled" + "enabled": "adhesion_type == \"raft\" and acceleration_enabled", + "settable_per_mesh": false }, "raft_base_acceleration": { "label": "Raft Base Print Acceleration", @@ -2542,8 +2566,8 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "global_only": "True", - "enabled": "adhesion_type == \"raft\" and acceleration_enabled" + "enabled": "adhesion_type == \"raft\" and acceleration_enabled", + "settable_per_mesh": false } } }, @@ -2560,8 +2584,8 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default": "jerk_print", - "global_only": "True", "enabled": "adhesion_type == \"raft\" and jerk_enabled", + "settable_per_mesh": false, "children": { "raft_surface_jerk": { "label": "Raft Top Print Jerk", @@ -2572,8 +2596,8 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "100", - "global_only": "True", - "enabled": "adhesion_type == \"raft\" and jerk_enabled" + "enabled": "adhesion_type == \"raft\" and jerk_enabled", + "settable_per_mesh": false }, "raft_interface_jerk": { "label": "Raft Middle Print Jerk", @@ -2584,8 +2608,8 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "global_only": "True", - "enabled": "adhesion_type == \"raft\" and jerk_enabled" + "enabled": "adhesion_type == \"raft\" and jerk_enabled", + "settable_per_mesh": false }, "raft_base_jerk": { "label": "Raft Base Print Jerk", @@ -2596,8 +2620,8 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "global_only": "True", - "enabled": "adhesion_type == \"raft\" and jerk_enabled" + "enabled": "adhesion_type == \"raft\" and jerk_enabled", + "settable_per_mesh": false } } }, From 795291a117575430461269b1a290cae7c6147318 Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 10 Jun 2016 13:32:57 +0200 Subject: [PATCH 18/31] fix/feat: introduced and fixed inheritance for all acceleration and jerk settings (CURA-1443) --- resources/definitions/fdmprinter.def.json | 38 +++++++++++++++++++---- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index ff46047e48..6b54136840 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1342,6 +1342,7 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, + "value": "acceleration_print", "enabled": "acceleration_enabled", "settable_per_mesh": true }, @@ -1354,6 +1355,7 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, + "value": "acceleration_print", "enabled": "acceleration_enabled", "settable_per_mesh": true, "children": { @@ -1366,6 +1368,7 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, + "value": "acceleration_wall", "enabled": "acceleration_enabled", "settable_per_mesh": true }, @@ -1378,6 +1381,7 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, + "value": "acceleration_wall", "enabled": "acceleration_enabled", "settable_per_mesh": true } @@ -1392,6 +1396,7 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, + "value": "acceleration_print", "enabled": "acceleration_enabled", "settable_per_mesh": true }, @@ -1404,6 +1409,7 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, + "value": "acceleration_print", "enabled": "acceleration_enabled and support_roof_enable", "settable_per_mesh": false, "settable_per_extruder": false, @@ -1414,6 +1420,7 @@ "unit": "mm/s²", "type": "float", "default_value": 3000, + "value": "acceleration_support", "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -1427,6 +1434,7 @@ "unit": "mm/s²", "type": "float", "default_value": 3000, + "value": "acceleration_support", "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -1445,6 +1453,7 @@ "minimum_value_warning": "100", "maximum_value_warning": "10000", "default_value": 3000, + "value": "acceleration_print", "enabled": "prime_tower_enable and acceleration_enabled", "settable_per_mesh": false } @@ -1459,7 +1468,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "default": "acceleration_print if magic_spiralize else 5000", + "value": "acceleration_print if magic_spiralize else 5000", "enabled": "acceleration_enabled", "settable_per_mesh": false }, @@ -1469,6 +1478,7 @@ "unit": "mm/s²", "type": "float", "default_value": 3000, + "value": "acceleration_print", "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -1481,10 +1491,10 @@ "unit": "mm/s²", "type": "float", "default_value": 3000, + "value": "acceleration_layer_0", "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "default": "acceleration_layer_0", "enabled": "acceleration_enabled", "settable_per_mesh": false }, @@ -1520,6 +1530,7 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, + "value": "jerk_print", "enabled": "jerk_enabled", "settable_per_mesh": true }, @@ -1532,6 +1543,7 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, + "value": "jerk_print", "enabled": "jerk_enabled", "settable_per_mesh": true, "children": { @@ -1544,6 +1556,7 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, + "value": "jerk_wall", "enabled": "jerk_enabled", "settable_per_mesh": true }, @@ -1556,6 +1569,7 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, + "value": "jerk_wall", "enabled": "jerk_enabled", "settable_per_mesh": true } @@ -1570,6 +1584,7 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, + "value": "jerk_print", "enabled": "jerk_enabled", "settable_per_mesh": true }, @@ -1582,6 +1597,7 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, + "value": "jerk_print", "enabled": "jerk_enabled and support_roof_enable", "settable_per_mesh": false, "settable_per_extruder": false, @@ -1592,6 +1608,7 @@ "unit": "mm/s³", "type": "float", "default_value": 20, + "value": "jerk_support", "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", @@ -1605,6 +1622,7 @@ "unit": "mm/s³", "type": "float", "default_value": 20, + "value": "jerk_support", "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", @@ -1623,6 +1641,7 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "default_value": 20, + "value": "jerk_print", "enabled": "prime_tower_enable and jerk_enabled", "settable_per_mesh": false } @@ -1637,7 +1656,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "default": "jerk_print if magic_spiralize else 30", + "value": "jerk_print if magic_spiralize else 30", "visible": true, "enabled": "jerk_enabled", "settable_per_mesh": false @@ -1648,6 +1667,7 @@ "unit": "mm/s³", "type": "float", "default_value": 20, + "value": "jerk_print", "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", @@ -1663,7 +1683,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "default": "jerk_layer_0", + "value": "jerk_layer_0", "enabled": "jerk_enabled", "settable_per_mesh": false } @@ -2529,7 +2549,7 @@ "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", - "default": "acceleration_print", + "value": "acceleration_print", "enabled": "adhesion_type == \"raft\" and acceleration_enabled", "settable_per_mesh": false, "children": { @@ -2539,6 +2559,7 @@ "unit": "mm/s²", "type": "float", "default_value": 3000, + "value": "raft_acceleration", "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -2551,6 +2572,7 @@ "unit": "mm/s²", "type": "float", "default_value": 3000, + "value": "raft_acceleration", "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -2563,6 +2585,7 @@ "unit": "mm/s²", "type": "float", "default_value": 3000, + "value": "raft_acceleration", "minimum_value": "0.1", "minimum_value_warning": "100", "maximum_value_warning": "10000", @@ -2583,7 +2606,7 @@ "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", - "default": "jerk_print", + "value": "jerk_print", "enabled": "adhesion_type == \"raft\" and jerk_enabled", "settable_per_mesh": false, "children": { @@ -2593,6 +2616,7 @@ "unit": "mm/s³", "type": "float", "default_value": 20, + "value": "raft_jerk", "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "100", @@ -2605,6 +2629,7 @@ "unit": "mm/s³", "type": "float", "default_value": 20, + "value": "raft_jerk", "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", @@ -2617,6 +2642,7 @@ "unit": "mm/s³", "type": "float", "default_value": 20, + "value": "raft_jerk", "minimum_value": "0.1", "minimum_value_warning": "5", "maximum_value_warning": "50", From 6bb1793d12ce912883b6535255fc5eabf67115df Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 10 Jun 2016 13:48:43 +0200 Subject: [PATCH 19/31] fix: moved jerk_travel visibility from json to CuraApplication (CURA-1443) --- cura/CuraApplication.py | 1 + resources/definitions/fdmprinter.def.json | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 472a4e6424..3ff0b4a008 100644 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -198,6 +198,7 @@ class CuraApplication(QtApplication): acceleration_print acceleration_travel jerk_print + jerk_travel travel cooling cool_fan_enabled diff --git a/resources/definitions/fdmprinter.def.json b/resources/definitions/fdmprinter.def.json index 6b54136840..6e6474053f 100644 --- a/resources/definitions/fdmprinter.def.json +++ b/resources/definitions/fdmprinter.def.json @@ -1657,7 +1657,6 @@ "minimum_value_warning": "5", "maximum_value_warning": "50", "value": "jerk_print if magic_spiralize else 30", - "visible": true, "enabled": "jerk_enabled", "settable_per_mesh": false }, From 67058c3d452f2605ae458131baf23ac8f06dd89a Mon Sep 17 00:00:00 2001 From: Tim Kuipers Date: Fri, 10 Jun 2016 14:52:15 +0200 Subject: [PATCH 20/31] fix: definition visibility got borked (CURA-1443) machine definition visibility should be a metadata property and should be set to true for only those definitions which are actually machines --- resources/definitions/ultimaker.def.json | 4 ++-- resources/definitions/ultimaker2_extended_plus.def.json | 3 +-- resources/definitions/ultimaker2_plus.def.json | 1 - 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/resources/definitions/ultimaker.def.json b/resources/definitions/ultimaker.def.json index d70d55ecf4..5df38d07cb 100644 --- a/resources/definitions/ultimaker.def.json +++ b/resources/definitions/ultimaker.def.json @@ -5,7 +5,7 @@ "inherits": "fdmprinter", "metadata": { "author": "Ultimaker", - "manufacturer": "Ultimaker" - "visible": false, + "manufacturer": "Ultimaker", + "visible": false } } diff --git a/resources/definitions/ultimaker2_extended_plus.def.json b/resources/definitions/ultimaker2_extended_plus.def.json index 96239fa804..50f0e73b9f 100644 --- a/resources/definitions/ultimaker2_extended_plus.def.json +++ b/resources/definitions/ultimaker2_extended_plus.def.json @@ -9,8 +9,7 @@ "category": "Ultimaker", "file_formats": "text/x-gcode", "platform": "ultimaker2_platform.obj", - "platform_texture": "Ultimaker2ExtendedPlusbackplate.png", - "visible": false + "platform_texture": "Ultimaker2ExtendedPlusbackplate.png" }, "overrides": { diff --git a/resources/definitions/ultimaker2_plus.def.json b/resources/definitions/ultimaker2_plus.def.json index b29f904095..4432fab170 100644 --- a/resources/definitions/ultimaker2_plus.def.json +++ b/resources/definitions/ultimaker2_plus.def.json @@ -3,7 +3,6 @@ "version": 2, "name": "Ultimaker 2+", "inherits": "ultimaker2", - "visible": "false", "metadata": { "author": "Ultimaker", "manufacturer": "Ultimaker", From c4a1bd2fd3a87bc68ca7e4d9b8ecb4404319c498 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 10 Jun 2016 16:13:47 +0200 Subject: [PATCH 21/31] Automatically use global- or extruder- containerstack CURA-1585 --- cura/MachineManagerModel.py | 116 ++++++++++++++++++++---------------- 1 file changed, 66 insertions(+), 50 deletions(-) diff --git a/cura/MachineManagerModel.py b/cura/MachineManagerModel.py index 0e7230fb79..f5661320ec 100644 --- a/cura/MachineManagerModel.py +++ b/cura/MachineManagerModel.py @@ -18,16 +18,25 @@ class MachineManagerModel(QObject): def __init__(self, parent = None): super().__init__(parent) + self._active_container_stack = None self._global_container_stack = None + Application.getInstance().globalContainerStackChanged.connect(self._onGlobalContainerChanged) self._global_stack_valid = None self._onGlobalContainerChanged() + ExtruderManager.ExtruderManager.getInstance().activeExtruderChanged.connect(self._onActiveExtruderStackChanged) + self._onActiveExtruderStackChanged() + ## When the global container is changed, active material probably needs to be updated. self.globalContainerChanged.connect(self.activeMaterialChanged) self.globalContainerChanged.connect(self.activeVariantChanged) self.globalContainerChanged.connect(self.activeQualityChanged) + self.globalContainerChanged.connect(self.activeStackChanged) + self.globalValueChanged.connect(self.activeStackChanged) + ExtruderManager.ExtruderManager.getInstance().activeExtruderChanged.connect(self.activeStackChanged) + self._empty_variant_container = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = "empty_variant")[0] self._empty_material_container = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = "empty_material")[0] self._empty_quality_container = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = "empty_quality")[0] @@ -45,6 +54,7 @@ class MachineManagerModel(QObject): activeMaterialChanged = pyqtSignal() activeVariantChanged = pyqtSignal() activeQualityChanged = pyqtSignal() + activeStackChanged = pyqtSignal() globalValueChanged = pyqtSignal() # Emitted whenever a value inside global container is changed. globalValidationChanged = pyqtSignal() # Emitted whenever a validation inside global container is changed. @@ -63,12 +73,12 @@ class MachineManagerModel(QObject): self.globalValueChanged.emit() if property_name == "validationState": if self._global_stack_valid: - changed_validation_state = self._global_container_stack.getProperty(key, property_name) + changed_validation_state = self._active_container_stack.getProperty(key, property_name) if changed_validation_state in (ValidatorState.Exception, ValidatorState.MaximumError, ValidatorState.MinimumError): self._global_stack_valid = False self.globalValidationChanged.emit() else: - new_validation_state = self._checkStackForErrors(self._global_container_stack) + new_validation_state = self._checkStackForErrors(self._active_container_stack) if new_validation_state: self._global_stack_valid = True self.globalValidationChanged.emit() @@ -87,6 +97,11 @@ class MachineManagerModel(QObject): self._global_container_stack.propertyChanged.connect(self._onGlobalPropertyChanged) self._global_stack_valid = not self._checkStackForErrors(self._global_container_stack) + def _onActiveExtruderStackChanged(self): + self._active_container_stack = ExtruderManager.ExtruderManager.getInstance().getActiveExtruderStack() + if not self._active_container_stack: + self._active_container_stack = self._global_container_stack + def _onInstanceContainersChanged(self, container): container_type = container.getMetaDataEntry("type") if container_type == "material": @@ -183,18 +198,19 @@ class MachineManagerModel(QObject): ## Remove all instances from the top instanceContainer (effectively removing all user-changed settings) @pyqtSlot() def clearUserSettings(self): - if not self._global_container_stack: + if not self._active_container_stack: return - user_settings = self._global_container_stack.getTop() + + user_settings = self._active_container_stack.getTop() user_settings.clear() ## Check if the global_container has instances in the user container - @pyqtProperty(bool, notify = globalValueChanged) + @pyqtProperty(bool, notify = activeStackChanged) def hasUserSettings(self): - if not self._global_container_stack: + if not self._active_container_stack: return - user_settings = self._global_container_stack.getTop().findInstances(**{}) + user_settings = self._active_container_stack.getTop().findInstances(**{}) return len(user_settings) != 0 ## Check if the global profile does not contain error states @@ -206,8 +222,8 @@ class MachineManagerModel(QObject): @pyqtProperty(str, notify = globalContainerChanged) def activeUserProfileId(self): - if self._global_container_stack: - return self._global_container_stack.getTop().getId() + if self._active_container_stack: + return self._active_container_stack.getTop().getId() return "" @@ -227,8 +243,8 @@ class MachineManagerModel(QObject): @pyqtProperty(str, notify = activeMaterialChanged) def activeMaterialName(self): - if self._global_container_stack: - material = self._global_container_stack.findContainer({"type":"material"}) + if self._active_container_stack: + material = self._active_container_stack.findContainer({"type":"material"}) if material: return material.getName() @@ -236,8 +252,8 @@ class MachineManagerModel(QObject): @pyqtProperty(str, notify=activeMaterialChanged) def activeMaterialId(self): - if self._global_container_stack: - material = self._global_container_stack.findContainer({"type": "material"}) + if self._active_container_stack: + material = self._active_container_stack.findContainer({"type": "material"}) if material: return material.getId() @@ -245,16 +261,16 @@ class MachineManagerModel(QObject): @pyqtProperty(str, notify=activeQualityChanged) def activeQualityName(self): - if self._global_container_stack: - quality = self._global_container_stack.findContainer({"type": "quality"}) + if self._active_container_stack: + quality = self._active_container_stack.findContainer({"type": "quality"}) if quality: return quality.getName() return "" @pyqtProperty(str, notify=activeQualityChanged) def activeQualityId(self): - if self._global_container_stack: - quality = self._global_container_stack.findContainer({"type": "quality"}) + if self._active_container_stack: + quality = self._active_container_stack.findContainer({"type": "quality"}) if quality: return quality.getId() return "" @@ -262,8 +278,8 @@ class MachineManagerModel(QObject): ## Check if a container is read_only @pyqtSlot(str, result = bool) def isReadOnly(self, container_id): - containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id=container_id) - if not containers or not self._global_container_stack: + containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = container_id) + if not containers or not self._active_container_stack: return True return containers[0].isReadOnly() @@ -278,9 +294,9 @@ class MachineManagerModel(QObject): @pyqtSlot(str, result=str) def duplicateContainer(self, container_id): - if not self._global_container_stack: + if not self._active_container_stack: return "" - containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id=container_id) + containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = container_id) if containers: new_name = self._createUniqueName("quality", "", containers[0].getName(), catalog.i18nc("@label", "Custom profile")) @@ -331,7 +347,7 @@ class MachineManagerModel(QObject): @pyqtSlot(str) def removeQualityContainer(self, container_id): containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = container_id) - if not containers or not self._global_container_stack: + if not containers or not self._active_container_stack: return # If the container that is being removed is the currently active container, set another machine as the active container @@ -349,10 +365,10 @@ class MachineManagerModel(QObject): @pyqtSlot() def updateQualityContainerFromUserContainer(self): - if not self._global_container_stack: + if not self._active_container_stack: return - user_settings = self._global_container_stack.getTop() - quality = self._global_container_stack.findContainer({"type": "quality"}) + user_settings = self._active_container_stack.getTop() + quality = self._active_container_stack.findContainer({"type": "quality"}) for key in user_settings.getAllKeys(): quality.setProperty(key, "value", user_settings.getProperty(key, "value")) self.clearUserSettings() # As all users settings are noq a quality, remove them. @@ -360,45 +376,45 @@ class MachineManagerModel(QObject): @pyqtSlot(str) def setActiveMaterial(self, material_id): - containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id=material_id) - if not containers or not self._global_container_stack: + containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = material_id) + if not containers or not self._active_container_stack: return - old_material = self._global_container_stack.findContainer({"type":"material"}) + old_material = self._active_container_stack.findContainer({"type":"material"}) if old_material: - material_index = self._global_container_stack.getContainerIndex(old_material) - self._global_container_stack.replaceContainer(material_index, containers[0]) + material_index = self._active_container_stack.getContainerIndex(old_material) + self._active_container_stack.replaceContainer(material_index, containers[0]) - self.setActiveQuality(self._updateQualityContainer(self._global_container_stack.getBottom(), containers[0]).id) + self.setActiveQuality(self._updateQualityContainer(self._active_container_stack.getBottom(), containers[0]).id) @pyqtSlot(str) def setActiveVariant(self, variant_id): - containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id=variant_id) - if not containers or not self._global_container_stack: + containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = variant_id) + if not containers or not self._active_container_stack: return - old_variant = self._global_container_stack.findContainer({"type": "variant"}) + old_variant = self._active_container_stack.findContainer({"type": "variant"}) if old_variant: - variant_index = self._global_container_stack.getContainerIndex(old_variant) - self._global_container_stack.replaceContainer(variant_index, containers[0]) + variant_index = self._active_container_stack.getContainerIndex(old_variant) + self._active_container_stack.replaceContainer(variant_index, containers[0]) - self.setActiveMaterial(self._updateMaterialContainer(self._global_container_stack.getBottom(), containers[0]).id) + self.setActiveMaterial(self._updateMaterialContainer(self._active_container_stack.getBottom(), containers[0]).id) @pyqtSlot(str) def setActiveQuality(self, quality_id): containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(id = quality_id) - if not containers or not self._global_container_stack: + if not containers or not self._active_container_stack: return - old_quality = self._global_container_stack.findContainer({"type": "quality"}) + old_quality = self._active_container_stack.findContainer({"type": "quality"}) if old_quality: - quality_index = self._global_container_stack.getContainerIndex(old_quality) - self._global_container_stack.replaceContainer(quality_index, containers[0]) + quality_index = self._active_container_stack.getContainerIndex(old_quality) + self._active_container_stack.replaceContainer(quality_index, containers[0]) @pyqtProperty(str, notify = activeVariantChanged) def activeVariantName(self): - if self._global_container_stack: - variant = self._global_container_stack.findContainer({"type": "variant"}) + if self._active_container_stack: + variant = self._active_container_stack.findContainer({"type": "variant"}) if variant: return variant.getName() @@ -406,8 +422,8 @@ class MachineManagerModel(QObject): @pyqtProperty(str, notify = activeVariantChanged) def activeVariantId(self): - if self._global_container_stack: - variant = self._global_container_stack.findContainer({"type": "variant"}) + if self._active_container_stack: + variant = self._active_container_stack.findContainer({"type": "variant"}) if variant: return variant.getId() @@ -415,7 +431,7 @@ class MachineManagerModel(QObject): @pyqtProperty(str, notify = globalContainerChanged) def activeDefinitionId(self): - if self._global_container_stack: + if self._active_container_stack: definition = self._global_container_stack.getBottom() if definition: return definition.id @@ -449,15 +465,15 @@ class MachineManagerModel(QObject): @pyqtProperty(bool, notify = globalContainerChanged) def hasMaterials(self): - if self._global_container_stack: - return bool(self._global_container_stack.getMetaDataEntry("has_materials", False)) + if self._active_container_stack: + return bool(self._active_container_stack.getMetaDataEntry("has_materials", False)) return False @pyqtProperty(bool, notify = globalContainerChanged) def hasVariants(self): - if self._global_container_stack: - return bool(self._global_container_stack.getMetaDataEntry("has_variants", False)) + if self._active_container_stack: + return bool(self._active_container_stack.getMetaDataEntry("has_variants", False)) return False From 57dfc2ae7959943a66ea06a46ff72716eb4569f5 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 10 Jun 2016 16:37:43 +0200 Subject: [PATCH 22/31] Change active containerstack when the global containerstack is changed CURA-1585 --- cura/MachineManagerModel.py | 1 + 1 file changed, 1 insertion(+) diff --git a/cura/MachineManagerModel.py b/cura/MachineManagerModel.py index f5661320ec..0104b343f4 100644 --- a/cura/MachineManagerModel.py +++ b/cura/MachineManagerModel.py @@ -26,6 +26,7 @@ class MachineManagerModel(QObject): self._onGlobalContainerChanged() ExtruderManager.ExtruderManager.getInstance().activeExtruderChanged.connect(self._onActiveExtruderStackChanged) + self.globalContainerChanged.connect(self._onActiveExtruderStackChanged) self._onActiveExtruderStackChanged() ## When the global container is changed, active material probably needs to be updated. From e150b1887eb9d8337a130fa40de6b2e063a508ec Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 10 Jun 2016 16:50:11 +0200 Subject: [PATCH 23/31] Update active variant, material and quality id when switching extruders CURA-1585 --- cura/MachineManagerModel.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura/MachineManagerModel.py b/cura/MachineManagerModel.py index 0104b343f4..321f5af486 100644 --- a/cura/MachineManagerModel.py +++ b/cura/MachineManagerModel.py @@ -33,6 +33,9 @@ class MachineManagerModel(QObject): self.globalContainerChanged.connect(self.activeMaterialChanged) self.globalContainerChanged.connect(self.activeVariantChanged) self.globalContainerChanged.connect(self.activeQualityChanged) + ExtruderManager.ExtruderManager.getInstance().activeExtruderChanged.connect(self.activeMaterialChanged) + ExtruderManager.ExtruderManager.getInstance().activeExtruderChanged.connect(self.activeVariantChanged) + ExtruderManager.ExtruderManager.getInstance().activeExtruderChanged.connect(self.activeQualityChanged) self.globalContainerChanged.connect(self.activeStackChanged) self.globalValueChanged.connect(self.activeStackChanged) @@ -221,7 +224,7 @@ class MachineManagerModel(QObject): def isGlobalStackValid(self): return self._global_stack_valid - @pyqtProperty(str, notify = globalContainerChanged) + @pyqtProperty(str, notify = activeStackChanged) def activeUserProfileId(self): if self._active_container_stack: return self._active_container_stack.getTop().getId() From 9626cddf3490e11d3cb4bd62bd44837bd7a9f52c Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 10 Jun 2016 16:53:59 +0200 Subject: [PATCH 24/31] Extruder trains are now correctly saved --- cura/CuraApplication.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 3ff0b4a008..393f1e5634 100644 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -283,7 +283,7 @@ class CuraApplication(QtApplication): path = None if not stack_type or stack_type == "machine": path = Resources.getStoragePath(self.ResourceTypes.MachineStack, file_name) - elif stack_type == "extruder": + elif stack_type == "extruder_train": path = Resources.getStoragePath(self.ResourceTypes.ExtruderStack, file_name) if path: with SaveFile(path, "wt", -1, "utf-8") as f: From 8c43d4c4cb03e2733dcd24e558a6a043ff7231a6 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 10 Jun 2016 17:04:25 +0200 Subject: [PATCH 25/31] Quality is now set for extruder, regardless if the machine has machine specific qualities --- cura/ExtruderManager.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/cura/ExtruderManager.py b/cura/ExtruderManager.py index 72b6086e26..123388296b 100644 --- a/cura/ExtruderManager.py +++ b/cura/ExtruderManager.py @@ -18,7 +18,7 @@ class ExtruderManager(QObject): ## Notify when the user switches the currently active extruder. activeExtruderChanged = pyqtSignal() - ## Registers listeners and such to listen to changes to the extruders. + ## Registers listeners and such to listen to chafnges to the extruders. def __init__(self, parent = None): super().__init__(parent) self._extruder_trains = { } #Per machine, a dictionary of extruder container stack IDs. @@ -169,19 +169,19 @@ class ExtruderManager(QObject): #Find a quality to use for this extruder. quality = container_registry.getEmptyInstanceContainer() - if machine_definition.getMetaDataEntry("has_machine_quality"): - #First add any quality. Later, overwrite with preference if the preference is valid. - qualities = container_registry.findInstanceContainers(type = "quality") - if len(qualities) >= 1: - quality = qualities[0] - preferred_quality_id = machine_definition.getMetaDataEntry("preferred_quality") - if preferred_quality_id: - preferred_quality = container_registry.findInstanceContainers(id = preferred_quality_id.lower(), type = "quality") - if len(preferred_quality) >= 1: - quality = preferred_quality[0] - else: - UM.Logger.log("w", "The preferred quality \"%s\" of machine %s doesn't exist or is not a quality profile.", preferred_quality_id, machine_id) - #And leave it at the default quality. + + #First add any quality. Later, overwrite with preference if the preference is valid. + qualities = container_registry.findInstanceContainers(type = "quality") + if len(qualities) >= 1: + quality = qualities[0] + preferred_quality_id = machine_definition.getMetaDataEntry("preferred_quality") + if preferred_quality_id: + preferred_quality = container_registry.findInstanceContainers(id = preferred_quality_id.lower(), type = "quality") + if len(preferred_quality) >= 1: + quality = preferred_quality[0] + else: + UM.Logger.log("w", "The preferred quality \"%s\" of machine %s doesn't exist or is not a quality profile.", preferred_quality_id, machine_id) + #And leave it at the default quality. container_stack.addContainer(quality) user_profile = container_registry.findInstanceContainers(id = extruder_stack_id + "_current_settings") From 204bf4d7ddaeb20cea8a0329b4e6fd1daa9df34a Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 10 Jun 2016 16:32:19 +0200 Subject: [PATCH 26/31] Update visibility of extruder dropdown on change It currently only works when switching to a dual-extrusion printer, since the model is not updated when switching away to a non-dual-extrusion printer... Contributes to issue CURA-340. --- plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml index 502e903416..920196d447 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml +++ b/plugins/PerObjectSettingsTool/PerObjectSettingsPanel.qml @@ -35,6 +35,8 @@ Item { model: Cura.ExtrudersModel { id: extruders_model + onRowsInserted: extruderSelector.visible = extruders_model.rowCount() > 1 + onModelReset: extruderSelector.visible = extruders_model.rowCount() > 1 } visible: extruders_model.rowCount() > 1 textRole: "name" From d89c9d882712c747b0bc9a31ccc02710fe9ba2af Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 10 Jun 2016 17:04:17 +0200 Subject: [PATCH 27/31] Make getSelectedActiveExtruder return its misbegotten gains It was getting a value from the decorator, then keeping it to itself all greedy like. It must return what it found. Contributes to issue CURA-340. --- plugins/PerObjectSettingsTool/PerObjectSettingsTool.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/PerObjectSettingsTool/PerObjectSettingsTool.py b/plugins/PerObjectSettingsTool/PerObjectSettingsTool.py index 395dbdc594..cb7d1766d2 100644 --- a/plugins/PerObjectSettingsTool/PerObjectSettingsTool.py +++ b/plugins/PerObjectSettingsTool/PerObjectSettingsTool.py @@ -47,7 +47,7 @@ class PerObjectSettingsTool(Tool): # \return The active extruder of the currently selected object. def getSelectedActiveExtruder(self): selected_object = Selection.getSelectedObject(0) - selected_object.callDecoration("getActiveExtruder") + return selected_object.callDecoration("getActiveExtruder") ## Changes the active extruder of the currently selected object. # From cc17c2897806b4333191ab4c9d6b7ccf149f66ca Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 10 Jun 2016 17:26:09 +0200 Subject: [PATCH 28/31] Fixed global stack not being set as next stack for extruder trains --- cura/ExtruderManager.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cura/ExtruderManager.py b/cura/ExtruderManager.py index 123388296b..84c3028c72 100644 --- a/cura/ExtruderManager.py +++ b/cura/ExtruderManager.py @@ -99,6 +99,10 @@ class ExtruderManager(QObject): extruder_trains = container_registry.findContainerStacks(type = "extruder_train", machine = machine_definition.getId()) for extruder_train in extruder_trains: self._extruder_trains[machine_id][extruder_train.getMetaDataEntry("position")] = extruder_train + + ## Ensure that the extruder train stacks are linked to global stack. + extruder_train.setNextStack(UM.Application.getInstance().getGlobalContainerStack()) + if extruder_trains: self.extrudersChanged.emit(machine_definition) From b321a8a053838b97351e3802a5ab347de3afd4fd Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 10 Jun 2016 23:36:36 +0200 Subject: [PATCH 29/31] Add definition Printrbot Simple by Calvindog717 Source: https://www.reddit.com/r/3Dprinting/comments/4n1lyd/cura_212_has_been_released_it_features_major_ui/d409udf I've converted Calvin's profile that he was using personally to be up to date after the settings rework. --- .../definitions/printrbot_simple.def.json | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 resources/definitions/printrbot_simple.def.json diff --git a/resources/definitions/printrbot_simple.def.json b/resources/definitions/printrbot_simple.def.json new file mode 100644 index 0000000000..5d0af46f85 --- /dev/null +++ b/resources/definitions/printrbot_simple.def.json @@ -0,0 +1,41 @@ +{ + "id": "printrbot_simple", + "version": 2, + "name": "Printrbot Simple", + "inherits": "fdmprinter", + "metadata": { + "visible": true, + "author": "Calvindog717", + "manufacturer": "PrintrBot", + "file_formats": "text/x-gcode" + }, + + "overrides": { + "machine_heated_bed": { "default_value": false }, + "machine_width": { "default_value": 150 }, + "machine_height": { "default_value": 150 }, + "machine_depth": { "default_value": 140 }, + "machine_center_is_zero": { "default_value": false }, + "machine_nozzle_size": { "default_value": 0.3 }, + "material_diameter": { "default_value": 1.75 }, + "machine_nozzle_heat_up_speed": { "default_value": 2 }, + "machine_nozzle_cool_down_speed": { "default_value": 2 }, + "machine_head_with_fans_polygon": { + "default_value": [ + [ -3, 3 ], + [ -3, -3 ], + [ 3, -3 ], + [ 3, 3 ] + ] + }, + "gantry_height": { "default_value": 15 }, + "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, + + "machine_start_gcode": { + "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG29 ; auto bed-levelling\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." + }, + "machine_end_gcode": { + "default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning" + } + } +} From 6311cea372d75b365e246afee5755784091a3022 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Sat, 11 Jun 2016 00:57:49 +0200 Subject: [PATCH 30/31] Machine head polygon with measured dimensions The collision polygon of the machine head is rectangular, but the arm on which the nozzle hangs extends to the edge of the build plate on one side. These measurements were taken also by Calvindog717. The orientation is guessed. Usually the Y+ direction is towards the front... Let's hope it's good! --- resources/definitions/printrbot_simple.def.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/resources/definitions/printrbot_simple.def.json b/resources/definitions/printrbot_simple.def.json index 5d0af46f85..5950055a76 100644 --- a/resources/definitions/printrbot_simple.def.json +++ b/resources/definitions/printrbot_simple.def.json @@ -22,13 +22,13 @@ "machine_nozzle_cool_down_speed": { "default_value": 2 }, "machine_head_with_fans_polygon": { "default_value": [ - [ -3, 3 ], - [ -3, -3 ], - [ 3, -3 ], - [ 3, 3 ] + [ -55, 20 ], + [ -55, -99999 ], + [ 49, -99999 ], + [ 49, 20 ] ] }, - "gantry_height": { "default_value": 15 }, + "gantry_height": { "default_value": 99999 }, "machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" }, "machine_start_gcode": { From 49649f4cd848372852f4da53624e8b45ecfa19f2 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Sat, 11 Jun 2016 02:51:48 +0200 Subject: [PATCH 31/31] Mirror Y-axis of head polygon Apparently, the machine homes to maximum-Y, so the open end of the machine is on the other side. I'm rotating it 180 degrees. --- resources/definitions/printrbot_simple.def.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/definitions/printrbot_simple.def.json b/resources/definitions/printrbot_simple.def.json index 5950055a76..0116ba6244 100644 --- a/resources/definitions/printrbot_simple.def.json +++ b/resources/definitions/printrbot_simple.def.json @@ -22,10 +22,10 @@ "machine_nozzle_cool_down_speed": { "default_value": 2 }, "machine_head_with_fans_polygon": { "default_value": [ - [ -55, 20 ], - [ -55, -99999 ], - [ 49, -99999 ], - [ 49, 20 ] + [ 55, -20 ], + [ 55, 99999 ], + [ -49, 99999 ], + [ -49, -20 ] ] }, "gantry_height": { "default_value": 99999 },