If layer starts with a color change, the full layer time will be much longer, which will trick the slicer to think this layer has enough cooling time.
However the actual filament extrusion time (the real "printing" part) won't necessarily have enough time to cool down, so if we don't do extra slowing down
before starting next layer, the filament could still be soft and lead to worse surface quality.
# Description
Re-Creation of Pull Request #6964 with X1E changes pulled.
OrcaSlicer includes exhaust fan settings for each filaments, however
these settings do not take effect on Bambu Labs machines that include
chamber temperature regulation fans.

Further investigation into the g-code files produced reveals that the
filament start g-code is responsible for using the air filtration
setting and sending the appropriate `M106 P3
S{during_print_exhaust_fan_speed_num[current_extruder]}` command to the
printer. However, this command, even with the setting enabled, is never
written to the final g-code file.
By default, Bambu Lab's filament profiles wrap this command up in` {if
activate_air_filtration[current_extruder] && support_air_filtration}`
clause, which always evaluates to false. As it turns out, the printer's
have the `support_air_filtration` flag set to `0` in the
`fdm_machine_common.json` file.
This change updates that value to `1` in the .json files for the X1,
X1C, X1E, and P1S 0.4mm nozzles. This is then inherited to other nozzle
sizes and user generated profiles. This is done by simply adding a line
` "support_air_filtration": "1",` to the .json to override the inherited
setting.
<!--
> Please provide a summary of the changes made in this PR. Include
details such as:
> * What issue does this PR address or fix?
> * What new features or enhancements does this PR introduce?
> * Are there any breaking changes or dependencies that need to be
considered?
-->
Fixes#6066
# Screenshots/Recordings/Graphs
N/A
## Tests
Updated this flag in a custom user config for the printer than tried
generating the code file with Air Filtration enabled and set to 70%
The appropriate `M106 P3 S178 ` appears in the filament start gcode
section of the file.
<!--
> Please provide a summary of the changes made in this PR. Include
details such as:
> * What issue does this PR address or fix?
> * What new features or enhancements does this PR introduce?
> * Are there any breaking changes or dependencies that need to be
considered?
-->
# Screenshots/Recordings/Graphs
<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->
## Tests
Updated this flag in a custom user config for the printer than tried
generating the code file with Air Filtration enabled and set to 70%
The appropriate `M106 P3 S178 ` appears in the filament start gcode
section of the file.
# Description
Added support for Creality Print (E.g. Orca can upload and print
directly to Ender 3 V3 KE)
# Screenshots/Recordings/Graphs
Video: https://www.youtube.com/watch?v=ONzaMJhj_Hk
## Tests
Tested in the video above on a Macbook Pro, Ender 3 V3 KE.
It should also be tested on Windows but I don't have a windows computer.
# Description
fixed#6987
# Screenshots/Recordings/Graphs
<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->
## Tests
<!--
> Please describe the tests that you have conducted to verify the
changes made in this PR.
-->
# Description
The idea behind this PR is to make it easier for the users to tweak
filament setting overrides i.e. reduce number of times users have to
switch between the printer and filament settings to compare the values.
# Screenshots/Recordings/Graphs




## Tests
I've done some manual testing to confirm:
* Override setting with the same value as extruder is still shown as a
change.
* Resetting unsaved override setting back to original value still works
as expected.
* Override settings are shown correctly on the next load after a save.
* Extruder settings changes are reflected on Settings Overrides page.
## Other
I have discovered a strange behaviour between `Filament Settings` and
`Printer Settings` windows. On a fresh load of application opening
`Filament Settings` window, navigating to `Settings Overrides` tab and
then closing the window results in `Filament` tab being opened the next
time `Filament Settings` window is opened. But if you open `Printer
settings` window, navigate to `Extruder` or `Motion ability` tabs then
the application changes the behaviour to open the last visited tab by
the user for both of the windows. I'm mentioning this because when this
happens the flow of events in the application changes and causes my
change to break until the user changes a tab. As far as I can tell for
some reason ConfigOptionsGroup's `reload_config` method is starting to
get called (second time?) after TabFilament's
`update_filament_overrides_page` method which wipes out the values set
by me. I'm not sure which is the correct behaviour, so I left that for a
discussion here. If last visited tab is the correct behaviour, then I
would need help to figure out how to fix this problem.
This PR moves the code around without any functional changes, so that all code related to supports now placed at the same location & structure as BambuStudio.
This makes merging updates from BambuStudio much easier in the future.
Resolves#5932
**The following changes made are made to all V-Core 4 versions**
- Improved cover's quality

- Added RatRig's PunkFil ABS, PETG, and PETG CF filaments
- Added PETG-CF10 filament type & RatRig to filament vendors
- Increased max z speed to 200 from 50 and max acceleration travel to
10,000 from 9,000
- Enabled wipe and z hop, as well as, increased retract before wipe to
70% from 0%
- Improved layer change G-Code
- Fixed pause G-Code
- Added extruder clearance parameters
*Almost all of these changes come from @nameisCruzCruz in #5932
…
# Description
This update, along with #6934, resolves the remaining issues with the
wipe tower.
The GCode class will no longer maintain its own Z height information
(m_nominal_z). Instead, it will utilize the Z height from GCodeWriter's
m_pos. This approach is less error-prone.
This PR also fixes#6755.
It also enforce "Enable Filament ramming" option
@igiannakas It should fix the wipe tower crashing issue
# Screenshots/Recordings/Graphs
<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->
## Tests
<!--
> Please describe the tests that you have conducted to verify the
changes made in this PR.
-->