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

Reorganize raft settings to a user-intuitive order

CURA-11228
Erwan MATHIEU 1 год назад
Родитель
Сommit
90ce6d7f76
1 измененных файлов с 122 добавлено и 122 удалено
  1. 122 122
      resources/definitions/fdmprinter.def.json

+ 122 - 122
resources/definitions/fdmprinter.def.json

@@ -6159,66 +6159,53 @@
                     "settable_per_extruder": true,
                     "settable_per_extruder": true,
                     "limit_to_extruder": "raft_surface_extruder_nr"
                     "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",
                     "unit": "mm",
                     "type": "float",
                     "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": "0.001",
                     "minimum_value_warning": "0.04",
                     "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_mesh": false,
                     "settable_per_extruder": true,
                     "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",
                     "unit": "mm",
                     "type": "float",
                     "type": "float",
-                    "default_value": 0.4,
-                    "value": "line_width",
+                    "default_value": 0.8,
                     "minimum_value": "0.001",
                     "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_mesh": false,
                     "settable_per_extruder": true,
                     "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",
                     "unit": "mm",
                     "type": "float",
                     "type": "float",
-                    "default_value": 0.4,
+                    "default_value": 1.6,
+                    "value": "raft_base_line_width * 2",
                     "minimum_value": "0",
                     "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_mesh": false,
                     "settable_per_extruder": true,
                     "settable_per_extruder": true,
-                    "limit_to_extruder": "raft_surface_extruder_nr"
+                    "limit_to_extruder": "raft_base_extruder_nr"
                 },
                 },
                 "raft_interface_layers":
                 "raft_interface_layers":
                 {
                 {
@@ -6281,53 +6268,66 @@
                     "settable_per_extruder": true,
                     "settable_per_extruder": true,
                     "limit_to_extruder": "raft_interface_extruder_nr"
                     "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",
                     "unit": "mm",
                     "type": "float",
                     "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": "0.001",
                     "minimum_value_warning": "0.04",
                     "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_mesh": false,
                     "settable_per_extruder": true,
                     "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",
                     "unit": "mm",
                     "type": "float",
                     "type": "float",
-                    "default_value": 0.8,
+                    "default_value": 0.4,
+                    "value": "line_width",
                     "minimum_value": "0.001",
                     "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_mesh": false,
                     "settable_per_extruder": true,
                     "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",
                     "unit": "mm",
                     "type": "float",
                     "type": "float",
-                    "default_value": 1.6,
-                    "value": "raft_base_line_width * 2",
+                    "default_value": 0.4,
                     "minimum_value": "0",
                     "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_mesh": false,
                     "settable_per_extruder": true,
                     "settable_per_extruder": true,
-                    "limit_to_extruder": "raft_base_extruder_nr"
+                    "limit_to_extruder": "raft_surface_extruder_nr"
                 },
                 },
                 "raft_wall_count":
                 "raft_wall_count":
                 {
                 {
@@ -6341,12 +6341,13 @@
                     "settable_per_extruder": false,
                     "settable_per_extruder": false,
                     "children":
                     "children":
                     {
                     {
-                        "raft_surface_wall_count":
+                        "raft_base_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.",
+                            "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",
                             "type": "int",
-                            "default_value": 0,
+                            "default_value": 1,
+                            "value": "raft_wall_count",
                             "minimum_value": "0",
                             "minimum_value": "0",
                             "enabled": "resolveOrValue('adhesion_type') == 'raft'",
                             "enabled": "resolveOrValue('adhesion_type') == 'raft'",
                             "settable_per_mesh": false,
                             "settable_per_mesh": false,
@@ -6363,13 +6364,12 @@
                             "settable_per_mesh": false,
                             "settable_per_mesh": false,
                             "settable_per_extruder": false
                             "settable_per_extruder": false
                         },
                         },
-                        "raft_base_wall_count":
+                        "raft_surface_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.",
+                            "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",
                             "type": "int",
-                            "default_value": 1,
-                            "value": "raft_wall_count",
+                            "default_value": 0,
                             "minimum_value": "0",
                             "minimum_value": "0",
                             "enabled": "resolveOrValue('adhesion_type') == 'raft'",
                             "enabled": "resolveOrValue('adhesion_type') == 'raft'",
                             "settable_per_mesh": false,
                             "settable_per_mesh": false,
@@ -6394,21 +6394,21 @@
                     "limit_to_extruder": "adhesion_extruder_nr",
                     "limit_to_extruder": "adhesion_extruder_nr",
                     "children":
                     "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",
                             "unit": "mm/s",
                             "type": "float",
                             "type": "float",
-                            "default_value": 20,
+                            "default_value": 15,
                             "minimum_value": "0.1",
                             "minimum_value": "0.1",
                             "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
                             "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_mesh": false,
                             "settable_per_extruder": true,
                             "settable_per_extruder": true,
-                            "limit_to_extruder": "raft_surface_extruder_nr"
+                            "limit_to_extruder": "raft_base_extruder_nr"
                         },
                         },
                         "raft_interface_speed":
                         "raft_interface_speed":
                         {
                         {
@@ -6426,21 +6426,21 @@
                             "settable_per_extruder": true,
                             "settable_per_extruder": true,
                             "limit_to_extruder": "raft_interface_extruder_nr"
                             "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",
                             "unit": "mm/s",
                             "type": "float",
                             "type": "float",
-                            "default_value": 15,
+                            "default_value": 20,
                             "minimum_value": "0.1",
                             "minimum_value": "0.1",
                             "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
                             "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_mesh": false,
                             "settable_per_extruder": true,
                             "settable_per_extruder": true,
-                            "limit_to_extruder": "raft_base_extruder_nr"
+                            "limit_to_extruder": "raft_surface_extruder_nr"
                         }
                         }
                     }
                     }
                 },
                 },
@@ -6460,10 +6460,10 @@
                     "limit_to_extruder": "adhesion_extruder_nr",
                     "limit_to_extruder": "adhesion_extruder_nr",
                     "children":
                     "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",
                             "unit": "mm/s\u00b2",
                             "type": "float",
                             "type": "float",
                             "default_value": 3000,
                             "default_value": 3000,
@@ -6471,9 +6471,9 @@
                             "minimum_value": "0.1",
                             "minimum_value": "0.1",
                             "minimum_value_warning": "100",
                             "minimum_value_warning": "100",
                             "maximum_value_warning": "10000",
                             "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,
                             "settable_per_mesh": false,
-                            "limit_to_extruder": "raft_surface_extruder_nr"
+                            "limit_to_extruder": "raft_base_extruder_nr"
                         },
                         },
                         "raft_interface_acceleration":
                         "raft_interface_acceleration":
                         {
                         {
@@ -6490,10 +6490,10 @@
                             "settable_per_mesh": false,
                             "settable_per_mesh": false,
                             "limit_to_extruder": "raft_interface_extruder_nr"
                             "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",
                             "unit": "mm/s\u00b2",
                             "type": "float",
                             "type": "float",
                             "default_value": 3000,
                             "default_value": 3000,
@@ -6501,9 +6501,9 @@
                             "minimum_value": "0.1",
                             "minimum_value": "0.1",
                             "minimum_value_warning": "100",
                             "minimum_value_warning": "100",
                             "maximum_value_warning": "10000",
                             "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,
                             "settable_per_mesh": false,
-                            "limit_to_extruder": "raft_base_extruder_nr"
+                            "limit_to_extruder": "raft_surface_extruder_nr"
                         }
                         }
                     }
                     }
                 },
                 },
@@ -6523,20 +6523,20 @@
                     "limit_to_extruder": "adhesion_extruder_nr",
                     "limit_to_extruder": "adhesion_extruder_nr",
                     "children":
                     "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",
                             "unit": "mm/s",
                             "type": "float",
                             "type": "float",
                             "default_value": 20,
                             "default_value": 20,
                             "value": "raft_jerk",
                             "value": "raft_jerk",
                             "minimum_value": "0",
                             "minimum_value": "0",
                             "minimum_value_warning": "5",
                             "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,
                             "settable_per_mesh": false,
-                            "limit_to_extruder": "raft_surface_extruder_nr"
+                            "limit_to_extruder": "raft_base_extruder_nr"
                         },
                         },
                         "raft_interface_jerk":
                         "raft_interface_jerk":
                         {
                         {
@@ -6553,20 +6553,20 @@
                             "settable_per_mesh": false,
                             "settable_per_mesh": false,
                             "limit_to_extruder": "raft_interface_extruder_nr"
                             "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",
                             "unit": "mm/s",
                             "type": "float",
                             "type": "float",
                             "default_value": 20,
                             "default_value": 20,
                             "value": "raft_jerk",
                             "value": "raft_jerk",
                             "minimum_value": "0",
                             "minimum_value": "0",
                             "minimum_value_warning": "5",
                             "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,
                             "settable_per_mesh": false,
-                            "limit_to_extruder": "raft_base_extruder_nr"
+                            "limit_to_extruder": "raft_surface_extruder_nr"
                         }
                         }
                     }
                     }
                 },
                 },
@@ -6585,20 +6585,20 @@
                     "limit_to_extruder": "adhesion_extruder_nr",
                     "limit_to_extruder": "adhesion_extruder_nr",
                     "children":
                     "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": "%",
                             "unit": "%",
                             "type": "float",
                             "type": "float",
                             "minimum_value": "0",
                             "minimum_value": "0",
                             "maximum_value": "100",
                             "maximum_value": "100",
                             "default_value": 0,
                             "default_value": 0,
                             "value": "raft_fan_speed",
                             "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_mesh": false,
                             "settable_per_extruder": true,
                             "settable_per_extruder": true,
-                            "limit_to_extruder": "raft_surface_extruder_nr"
+                            "limit_to_extruder": "raft_base_extruder_nr"
                         },
                         },
                         "raft_interface_fan_speed":
                         "raft_interface_fan_speed":
                         {
                         {
@@ -6615,20 +6615,20 @@
                             "settable_per_extruder": true,
                             "settable_per_extruder": true,
                             "limit_to_extruder": "raft_interface_extruder_nr"
                             "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": "%",
                             "unit": "%",
                             "type": "float",
                             "type": "float",
                             "minimum_value": "0",
                             "minimum_value": "0",
                             "maximum_value": "100",
                             "maximum_value": "100",
                             "default_value": 0,
                             "default_value": 0,
                             "value": "raft_fan_speed",
                             "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_mesh": false,
                             "settable_per_extruder": true,
                             "settable_per_extruder": true,
-                            "limit_to_extruder": "raft_base_extruder_nr"
+                            "limit_to_extruder": "raft_surface_extruder_nr"
                         }
                         }
                     }
                     }
                 }
                 }