Просмотр исходного кода

Merge pull request #17946 from Ultimaker/CURA-11228_raft_walls

Add/reorganize settings for raft walls
Casper Lamboo 1 год назад
Родитель
Сommit
650bed18bd
2 измененных файлов с 162 добавлено и 124 удалено
  1. 161 124
      resources/definitions/fdmprinter.def.json
  2. 1 0
      resources/setting_visibility/expert.cfg

+ 161 - 124
resources/definitions/fdmprinter.def.json

@@ -6159,66 +6159,53 @@
                     "settable_per_extruder": true,
                     "limit_to_extruder": "raft_surface_extruder_nr"
                 },
-                "raft_surface_layers":
-                {
-                    "label": "Raft Top Layers",
-                    "description": "The number of top layers on top of the 2nd raft layer. These are fully filled layers that the model sits on. 2 layers result in a smoother top surface than 1.",
-                    "type": "int",
-                    "default_value": 2,
-                    "minimum_value": "0",
-                    "maximum_value_warning": "20",
-                    "enabled": "resolveOrValue('adhesion_type') == 'raft'",
-                    "settable_per_mesh": false,
-                    "settable_per_extruder": true,
-                    "limit_to_extruder": "raft_surface_extruder_nr"
-                },
-                "raft_surface_thickness":
+                "raft_base_thickness":
                 {
-                    "label": "Raft Top Layer Thickness",
-                    "description": "Layer thickness of the top raft layers.",
+                    "label": "Raft Base Thickness",
+                    "description": "Layer thickness of the base raft layer. This should be a thick layer which sticks firmly to the printer build plate.",
                     "unit": "mm",
                     "type": "float",
-                    "default_value": 0.1,
-                    "value": "resolveOrValue('layer_height')",
+                    "default_value": 0.3,
+                    "value": "resolveOrValue('layer_height_0') * 1.2",
                     "minimum_value": "0.001",
                     "minimum_value_warning": "0.04",
-                    "maximum_value_warning": "0.75 * machine_nozzle_size",
-                    "enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
+                    "maximum_value_warning": "0.75 * raft_base_line_width",
+                    "enabled": "resolveOrValue('adhesion_type') == 'raft'",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "limit_to_extruder": "raft_surface_extruder_nr"
+                    "limit_to_extruder": "raft_base_extruder_nr"
                 },
-                "raft_surface_line_width":
+                "raft_base_line_width":
                 {
-                    "label": "Raft Top Line Width",
-                    "description": "Width of the lines in the top surface of the raft. These can be thin lines so that the top of the raft becomes smooth.",
+                    "label": "Raft Base Line Width",
+                    "description": "Width of the lines in the base raft layer. These should be thick lines to assist in build plate adhesion.",
                     "unit": "mm",
                     "type": "float",
-                    "default_value": 0.4,
-                    "value": "line_width",
+                    "default_value": 0.8,
                     "minimum_value": "0.001",
-                    "minimum_value_warning": "machine_nozzle_size * 0.1",
-                    "maximum_value_warning": "machine_nozzle_size * 2",
-                    "enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
+                    "value": "machine_nozzle_size * 2",
+                    "minimum_value_warning": "machine_nozzle_size * 0.5",
+                    "maximum_value_warning": "machine_nozzle_size * 3",
+                    "enabled": "resolveOrValue('adhesion_type') == 'raft'",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "limit_to_extruder": "raft_surface_extruder_nr"
+                    "limit_to_extruder": "raft_base_extruder_nr"
                 },
-                "raft_surface_line_spacing":
+                "raft_base_line_spacing":
                 {
-                    "label": "Raft Top Spacing",
-                    "description": "The distance between the raft lines for the top raft layers. The spacing should be equal to the line width, so that the surface is solid.",
+                    "label": "Raft Base Line Spacing",
+                    "description": "The distance between the raft lines for the base raft layer. Wide spacing makes for easy removal of the raft from the build plate.",
                     "unit": "mm",
                     "type": "float",
-                    "default_value": 0.4,
+                    "default_value": 1.6,
+                    "value": "raft_base_line_width * 2",
                     "minimum_value": "0",
-                    "minimum_value_warning": "raft_surface_line_width",
-                    "maximum_value_warning": "raft_surface_line_width * 3",
-                    "enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
-                    "value": "raft_surface_line_width",
+                    "minimum_value_warning": "raft_base_line_width",
+                    "maximum_value_warning": "100",
+                    "enabled": "resolveOrValue('adhesion_type') == 'raft'",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "limit_to_extruder": "raft_surface_extruder_nr"
+                    "limit_to_extruder": "raft_base_extruder_nr"
                 },
                 "raft_interface_layers":
                 {
@@ -6281,53 +6268,114 @@
                     "settable_per_extruder": true,
                     "limit_to_extruder": "raft_interface_extruder_nr"
                 },
-                "raft_base_thickness":
+                "raft_surface_layers":
                 {
-                    "label": "Raft Base Thickness",
-                    "description": "Layer thickness of the base raft layer. This should be a thick layer which sticks firmly to the printer build plate.",
+                    "label": "Raft Top Layers",
+                    "description": "The number of top layers on top of the 2nd raft layer. These are fully filled layers that the model sits on. 2 layers result in a smoother top surface than 1.",
+                    "type": "int",
+                    "default_value": 2,
+                    "minimum_value": "0",
+                    "maximum_value_warning": "20",
+                    "enabled": "resolveOrValue('adhesion_type') == 'raft'",
+                    "settable_per_mesh": false,
+                    "settable_per_extruder": true,
+                    "limit_to_extruder": "raft_surface_extruder_nr"
+                },
+                "raft_surface_thickness":
+                {
+                    "label": "Raft Top Layer Thickness",
+                    "description": "Layer thickness of the top raft layers.",
                     "unit": "mm",
                     "type": "float",
-                    "default_value": 0.3,
-                    "value": "resolveOrValue('layer_height_0') * 1.2",
+                    "default_value": 0.1,
+                    "value": "resolveOrValue('layer_height')",
                     "minimum_value": "0.001",
                     "minimum_value_warning": "0.04",
-                    "maximum_value_warning": "0.75 * raft_base_line_width",
-                    "enabled": "resolveOrValue('adhesion_type') == 'raft'",
+                    "maximum_value_warning": "0.75 * machine_nozzle_size",
+                    "enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "limit_to_extruder": "raft_base_extruder_nr"
+                    "limit_to_extruder": "raft_surface_extruder_nr"
                 },
-                "raft_base_line_width":
+                "raft_surface_line_width":
                 {
-                    "label": "Raft Base Line Width",
-                    "description": "Width of the lines in the base raft layer. These should be thick lines to assist in build plate adhesion.",
+                    "label": "Raft Top Line Width",
+                    "description": "Width of the lines in the top surface of the raft. These can be thin lines so that the top of the raft becomes smooth.",
                     "unit": "mm",
                     "type": "float",
-                    "default_value": 0.8,
+                    "default_value": 0.4,
+                    "value": "line_width",
                     "minimum_value": "0.001",
-                    "value": "machine_nozzle_size * 2",
-                    "minimum_value_warning": "machine_nozzle_size * 0.5",
-                    "maximum_value_warning": "machine_nozzle_size * 3",
-                    "enabled": "resolveOrValue('adhesion_type') == 'raft'",
+                    "minimum_value_warning": "machine_nozzle_size * 0.1",
+                    "maximum_value_warning": "machine_nozzle_size * 2",
+                    "enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "limit_to_extruder": "raft_base_extruder_nr"
+                    "limit_to_extruder": "raft_surface_extruder_nr"
                 },
-                "raft_base_line_spacing":
+                "raft_surface_line_spacing":
                 {
-                    "label": "Raft Base Line Spacing",
-                    "description": "The distance between the raft lines for the base raft layer. Wide spacing makes for easy removal of the raft from the build plate.",
+                    "label": "Raft Top Spacing",
+                    "description": "The distance between the raft lines for the top raft layers. The spacing should be equal to the line width, so that the surface is solid.",
                     "unit": "mm",
                     "type": "float",
-                    "default_value": 1.6,
-                    "value": "raft_base_line_width * 2",
+                    "default_value": 0.4,
                     "minimum_value": "0",
-                    "minimum_value_warning": "raft_base_line_width",
-                    "maximum_value_warning": "100",
-                    "enabled": "resolveOrValue('adhesion_type') == 'raft'",
+                    "minimum_value_warning": "raft_surface_line_width",
+                    "maximum_value_warning": "raft_surface_line_width * 3",
+                    "enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
+                    "value": "raft_surface_line_width",
                     "settable_per_mesh": false,
                     "settable_per_extruder": true,
-                    "limit_to_extruder": "raft_base_extruder_nr"
+                    "limit_to_extruder": "raft_surface_extruder_nr"
+                },
+                "raft_wall_count":
+                {
+                    "label": "Raft Wall Count",
+                    "description": "The number of contours to print around the linear pattern of the raft.",
+                    "type": "int",
+                    "default_value": 1,
+                    "minimum_value": "0",
+                    "enabled": "resolveOrValue('adhesion_type') == 'raft'",
+                    "settable_per_mesh": false,
+                    "settable_per_extruder": false,
+                    "children":
+                    {
+                        "raft_base_wall_count":
+                        {
+                            "label": "Raft Base Wall Count",
+                            "description": "The number of contours to print around the linear pattern in the base layer of the raft.",
+                            "type": "int",
+                            "default_value": 1,
+                            "value": "raft_wall_count",
+                            "minimum_value": "0",
+                            "enabled": "resolveOrValue('adhesion_type') == 'raft'",
+                            "settable_per_mesh": false,
+                            "settable_per_extruder": false
+                        },
+                        "raft_interface_wall_count":
+                        {
+                            "label": "Raft Middle Wall Count",
+                            "description": "The number of contours to print around the linear pattern in the middle layers of the raft.",
+                            "type": "int",
+                            "default_value": 0,
+                            "minimum_value": "0",
+                            "enabled": "resolveOrValue('adhesion_type') == 'raft'",
+                            "settable_per_mesh": false,
+                            "settable_per_extruder": false
+                        },
+                        "raft_surface_wall_count":
+                        {
+                            "label": "Raft Top Wall Count",
+                            "description": "The number of contours to print around the linear pattern in the top layers of the raft.",
+                            "type": "int",
+                            "default_value": 0,
+                            "minimum_value": "0",
+                            "enabled": "resolveOrValue('adhesion_type') == 'raft'",
+                            "settable_per_mesh": false,
+                            "settable_per_extruder": false
+                        }
+                    }
                 },
                 "raft_speed":
                 {
@@ -6346,21 +6394,21 @@
                     "limit_to_extruder": "adhesion_extruder_nr",
                     "children":
                     {
-                        "raft_surface_speed":
+                        "raft_base_speed":
                         {
-                            "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.",
+                            "label": "Raft Base Print Speed",
+                            "description": "The speed at which the base 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": 20,
+                            "default_value": 15,
                             "minimum_value": "0.1",
                             "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
-                            "maximum_value_warning": "100",
-                            "enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
-                            "value": "raft_speed",
+                            "maximum_value_warning": "200",
+                            "enabled": "resolveOrValue('adhesion_type') == 'raft'",
+                            "value": "0.75 * raft_speed",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true,
-                            "limit_to_extruder": "raft_surface_extruder_nr"
+                            "limit_to_extruder": "raft_base_extruder_nr"
                         },
                         "raft_interface_speed":
                         {
@@ -6378,21 +6426,21 @@
                             "settable_per_extruder": true,
                             "limit_to_extruder": "raft_interface_extruder_nr"
                         },
-                        "raft_base_speed":
+                        "raft_surface_speed":
                         {
-                            "label": "Raft Base Print Speed",
-                            "description": "The speed at which the base 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 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": 15,
+                            "default_value": 20,
                             "minimum_value": "0.1",
                             "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
-                            "maximum_value_warning": "200",
-                            "enabled": "resolveOrValue('adhesion_type') == 'raft'",
-                            "value": "0.75 * raft_speed",
+                            "maximum_value_warning": "100",
+                            "enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
+                            "value": "raft_speed",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true,
-                            "limit_to_extruder": "raft_base_extruder_nr"
+                            "limit_to_extruder": "raft_surface_extruder_nr"
                         }
                     }
                 },
@@ -6412,10 +6460,10 @@
                     "limit_to_extruder": "adhesion_extruder_nr",
                     "children":
                     {
-                        "raft_surface_acceleration":
+                        "raft_base_acceleration":
                         {
-                            "label": "Raft Top Print Acceleration",
-                            "description": "The acceleration with which the top raft layers are printed.",
+                            "label": "Raft Base Print Acceleration",
+                            "description": "The acceleration with which the base raft layer is printed.",
                             "unit": "mm/s\u00b2",
                             "type": "float",
                             "default_value": 3000,
@@ -6423,9 +6471,9 @@
                             "minimum_value": "0.1",
                             "minimum_value_warning": "100",
                             "maximum_value_warning": "10000",
-                            "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled') and raft_surface_layers > 0",
+                            "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')",
                             "settable_per_mesh": false,
-                            "limit_to_extruder": "raft_surface_extruder_nr"
+                            "limit_to_extruder": "raft_base_extruder_nr"
                         },
                         "raft_interface_acceleration":
                         {
@@ -6442,10 +6490,10 @@
                             "settable_per_mesh": false,
                             "limit_to_extruder": "raft_interface_extruder_nr"
                         },
-                        "raft_base_acceleration":
+                        "raft_surface_acceleration":
                         {
-                            "label": "Raft Base Print Acceleration",
-                            "description": "The acceleration with which the base raft layer is printed.",
+                            "label": "Raft Top Print Acceleration",
+                            "description": "The acceleration with which the top raft layers are printed.",
                             "unit": "mm/s\u00b2",
                             "type": "float",
                             "default_value": 3000,
@@ -6453,9 +6501,9 @@
                             "minimum_value": "0.1",
                             "minimum_value_warning": "100",
                             "maximum_value_warning": "10000",
-                            "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled')",
+                            "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('acceleration_enabled') and raft_surface_layers > 0",
                             "settable_per_mesh": false,
-                            "limit_to_extruder": "raft_base_extruder_nr"
+                            "limit_to_extruder": "raft_surface_extruder_nr"
                         }
                     }
                 },
@@ -6475,20 +6523,20 @@
                     "limit_to_extruder": "adhesion_extruder_nr",
                     "children":
                     {
-                        "raft_surface_jerk":
+                        "raft_base_jerk":
                         {
-                            "label": "Raft Top Print Jerk",
-                            "description": "The jerk with which the top raft layers are printed.",
+                            "label": "Raft Base Print Jerk",
+                            "description": "The jerk with which the base raft layer is printed.",
                             "unit": "mm/s",
                             "type": "float",
                             "default_value": 20,
                             "value": "raft_jerk",
                             "minimum_value": "0",
                             "minimum_value_warning": "5",
-                            "maximum_value_warning": "100",
-                            "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled') and raft_surface_layers > 0",
+                            "maximum_value_warning": "50",
+                            "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')",
                             "settable_per_mesh": false,
-                            "limit_to_extruder": "raft_surface_extruder_nr"
+                            "limit_to_extruder": "raft_base_extruder_nr"
                         },
                         "raft_interface_jerk":
                         {
@@ -6505,20 +6553,20 @@
                             "settable_per_mesh": false,
                             "limit_to_extruder": "raft_interface_extruder_nr"
                         },
-                        "raft_base_jerk":
+                        "raft_surface_jerk":
                         {
-                            "label": "Raft Base Print Jerk",
-                            "description": "The jerk with which the base raft layer is 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,
                             "value": "raft_jerk",
                             "minimum_value": "0",
                             "minimum_value_warning": "5",
-                            "maximum_value_warning": "50",
-                            "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled')",
+                            "maximum_value_warning": "100",
+                            "enabled": "resolveOrValue('adhesion_type') == 'raft' and resolveOrValue('jerk_enabled') and raft_surface_layers > 0",
                             "settable_per_mesh": false,
-                            "limit_to_extruder": "raft_base_extruder_nr"
+                            "limit_to_extruder": "raft_surface_extruder_nr"
                         }
                     }
                 },
@@ -6537,20 +6585,20 @@
                     "limit_to_extruder": "adhesion_extruder_nr",
                     "children":
                     {
-                        "raft_surface_fan_speed":
+                        "raft_base_fan_speed":
                         {
-                            "label": "Raft Top Fan Speed",
-                            "description": "The fan speed for the top raft layers.",
+                            "label": "Raft Base Fan Speed",
+                            "description": "The fan speed for the base raft layer.",
                             "unit": "%",
                             "type": "float",
                             "minimum_value": "0",
                             "maximum_value": "100",
                             "default_value": 0,
                             "value": "raft_fan_speed",
-                            "enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
+                            "enabled": "resolveOrValue('adhesion_type') == 'raft'",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true,
-                            "limit_to_extruder": "raft_surface_extruder_nr"
+                            "limit_to_extruder": "raft_base_extruder_nr"
                         },
                         "raft_interface_fan_speed":
                         {
@@ -6567,20 +6615,20 @@
                             "settable_per_extruder": true,
                             "limit_to_extruder": "raft_interface_extruder_nr"
                         },
-                        "raft_base_fan_speed":
+                        "raft_surface_fan_speed":
                         {
-                            "label": "Raft Base Fan Speed",
-                            "description": "The fan speed for the base raft layer.",
+                            "label": "Raft Top Fan Speed",
+                            "description": "The fan speed for the top raft layers.",
                             "unit": "%",
                             "type": "float",
                             "minimum_value": "0",
                             "maximum_value": "100",
                             "default_value": 0,
                             "value": "raft_fan_speed",
-                            "enabled": "resolveOrValue('adhesion_type') == 'raft'",
+                            "enabled": "resolveOrValue('adhesion_type') == 'raft' and raft_surface_layers > 0",
                             "settable_per_mesh": false,
                             "settable_per_extruder": true,
-                            "limit_to_extruder": "raft_base_extruder_nr"
+                            "limit_to_extruder": "raft_surface_extruder_nr"
                         }
                     }
                 }
@@ -8286,17 +8334,6 @@
                     "settable_per_mesh": false,
                     "settable_per_extruder": false
                 },
-                "raft_base_wall_count":
-                {
-                    "label": "Raft Base Wall Count",
-                    "description": "The number of contours to print around the linear pattern in the base layer of the raft.",
-                    "type": "int",
-                    "default_value": 1,
-                    "enabled": "resolveOrValue('adhesion_type') == 'raft'",
-                    "resolve": "max(extruderValues('raft_base_wall_count'))",
-                    "settable_per_mesh": false,
-                    "settable_per_extruder": false
-                },
                 "group_outer_walls":
                 {
                     "label": "Group Outer Walls",

+ 1 - 0
resources/setting_visibility/expert.cfg

@@ -344,6 +344,7 @@ raft_interface_line_spacing
 raft_base_thickness
 raft_base_line_width
 raft_base_line_spacing
+raft_wall_count
 raft_speed
 raft_acceleration
 raft_jerk