Skip to content

Bed temperature mode uses first project filament instead of plate-used filament #575

Description

@doppleganger53

Is there an existing issue for this problem?

  • I have searched the existing issues

CrealityPrint Version

7.2.0.5225

Operating System (OS)

Windows

OS Version

Windows 11 Pro 10.0.26200, 64-bit

Additional system information

No response

Printer

Creality K1

How to reproduce

  1. Create or open a multi-material / multi-plate project with several filament slots loaded globally.
  2. Put a high-bed-temperature material in the first global filament slot, for example PCTG/PETG with High Temp Plate first-layer bed temperature 80C.
  3. On a plate/object that only uses a different filament slot, assign a lower-bed-temperature material, for example LW-PLA with High Temp Plate first-layer bed temperature 45C.
  4. Set Bed temperature mode to Use first material (bed_temperature_mode = use_first_material) and select High Temp Plate.
  5. Slice/export the plate.

Actual results

The generated G-code uses the first filament in the global/project filament list for bed temperature, even when that filament is not the material used by the sliced plate/object.

Example emitted G-code/metadata from a K1 export:

; generated by Creality_Print V7.2.0.5225
START_PRINT EXTRUDER_TEMP=248 BED_TEMP=80
T2
...
; bed_temperature_mode = use_first_material
; curr_bed_type = High Temp Plate
; filament_settings_id = "3DFuel PCTG @Creality K1 0.4 nozzle";"Polymaker PA6-CF-0.6mm @Creality K1 0.4 nozzle";"SainsmartL-W PLA @Creality 255-v2";"Hyper PLA @Creality K1 0.4 nozzle";"Hyper ABS-detail @Creality K1 0.4 nozzle";"Hyper PLA-cleaning"
; hot_plate_temp_initial_layer = 80,50,45,50,80,60
; first_layer_bed_temperature = 80

In this case the actual print starts with T2, which is the LW-PLA slot with High Temp Plate first-layer bed temperature 45C, but START_PRINT receives BED_TEMP=80 from the first global filament slot.

Expected results

For multi-plate / multi-material projects, bed temperature selection should be scoped to the material(s) actually used on the sliced plate/object.

Expected behavior would be one of the following:

  • Use first material uses the first material actually used by the current plate/object, not the first material loaded globally in the project.
  • Use max of all materials uses the max bed temperature among materials actually used by the current plate/object, not unused global filament slots.
  • Or Creality Print warns that unused global filament slots will affect the emitted BED_TEMP.

The current behavior is surprising and can start prints with unsafe/incorrect bed temperatures. For example, an LW-PLA plate configured for 45C can start at 80C simply because an unused PCTG/PETG filament slot is first in the project.

Project file & Debug log uploads

Not attached in this issue. The relevant generated G-code metadata is included above. I can provide a minimal sanitized reproduction project if needed.

Checklist of files to include

  • Log file
  • Project file

Anything else?

Current workaround is to reorder or remove unused filament slots before slicing/exporting each plate, so the material used by that plate is first in the project filament list. This workaround is fragile for multi-plate workflows where each plate may use a different subset of materials.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions