* Support 'Default' filament option (index 0)
Treat filament index 0 as the new "Default" (use active object/part filament) instead of using 1. Update config defaults and tooltips for wall/sparse/solid infill filament options (min/default -> 0, tooltip explains "Default"). Adjust normalization and propagation logic to respect explicit feature overrides and only apply base extruder when feature values are zero; only copy sparse->solid infill when sparse > 0. Introduce FeatureFilamentOverrideMask and clamp_feature_filament_to_valid to resolve and clamp feature filaments. Update UI lists and selection behavior to expose a "Default" entry and handle zero-based indices in PartPlate and Plater.
* enable_filament_for_features option
Co-Authored-By: LixNix <105106115+lixnix@users.noreply.github.com>
* \n
* Allow wipe_tower_filament to equal nozzle count
Relax the assertion in Print::extruders to permit wipe_tower_filament == config().nozzle_diameter.size(). The configuration value is 1-based and the code subtracts 1 when pushing the extruder index, so equality should be valid and selecting the last nozzle should not trigger an assertion.
* Revert "Allow wipe_tower_filament to equal nozzle count"
This reverts commit 2c97657432.
* Revert "enable_filament_for_features option"
This reverts commit 01c13baedd.
* Migrate legacy feature filament defaults
Add migration logic to convert legacy feature filament selections from 1 to 0 for older 3mf files. Introduces a local migrate_legacy_feature_filament_defaults lambda in src/OrcaSlicer.cpp and src/slic3r/GUI/Plater.cpp that scans keys (wall_filament, sparse_infill_filament, solid_infill_filament, support_filament, support_interface_filament) on configs/objects/volumes, updates values, counts conversions and logs the result. Also adds a Semver check for "2.4.0-dev" in OrcaSlicer to trigger the migration for files older than that version. This preserves expected default filament selections when loading older project files.
* Update OrcaSlicer.cpp
* Extract migration helper to ConfigMigrations
Centralize legacy feature-filament default migration by moving the duplicated lambda into ConfigMigrations::migrate_legacy_feature_filament_defaults (src/libslic3r/Config.cpp) and declaring it in Config.hpp. Update OrcaSlicer.cpp and slic3r/GUI/Plater.cpp to call the new function instead of inline lambdas. The helper converts specific feature filament keys (wall_filament, sparse_infill_filament, solid_infill_filament, support_filament, support_interface_filament) from int 1 to 0 and returns the count of conversions to avoid duplicated migration logic.
* Remove DynamicFilamentList1Based and consolidate lists
Delete the specialized DynamicFilamentList1Based struct and its global instance. Update Choice registrations to use the single dynamic_filament_list for wall, sparse_infill and solid_infill filaments, and remove the extra update call for the removed instance. This consolidates filament choice handling and removes duplicated logic in Plater.cpp.
* move it
* fix objects
* Update Config.hpp
* Update profiles
Reduce the size of current and new JSONs by standardising them with 1 tab indentation instead of 4 spaces.
This effectively reduces the size by almost 20 MB.
| Current | New |
|---|---|
| 85.2 Mib | 67 Mib |
Used [JQ](https://jqlang.org/) `--tab` to automatically format every current JSON.
> [!NOTE]
> Some profiles had the arrays on the same line, but those created by Orca were in the standard format (each object below the previous one). In some cases, this increases the number of tabs due to the new lines, but the increase is negligible, and this way both the base profiles and those created by Orca maintain the same style.
* explicitly set the machine_max_junction_deviation
* reworked the support settings for all profiles
* forgot the bottom interface spacing. set more accurate values
* set the wrong value, meant support_bottom_z_distance
* bugfix for TPU filament overrides
* higher voluemetric flow
* bugfix for to high speed at internal solid infill
* Update Prusa.json
* updated firmware check and nozzle settings
* bugfix speed and standard for 0,15mm profiles of the 0.4mm nozzle
* variables not defined in orcaslicer
* bug fix volumetric speed, wrong value
* added high flow base process
* added highflow base process
* added first full draft of high flow profiles, further tests are necessary
* changed 0.35mm to 0.32mm for 0.6mm nozzle
* minor changes to initial layer speeds
* changed 0.35mm to 0.32mm for 0.6mm nozzle
* furcer changes on accelartion and speed
* added 0.35mm Standard @MK3.5 again for not breaking anythin for current users
* Update 0.35mm Standard @MK3.5.json
forgot to set the layer_height after creation of the 0.35mm profile
* minor fixes in filament overrides
* added profiles for high flow nozzles on the Prusa MINIIS
* added fan_speedup_time for MINIIS and MK3.5
* changes to support interface, pattern and distance
---------
Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
* bugfix for TPU filament overrides
* higher voluemetric flow
* bugfix for to high speed at internal solid infill
* Update Prusa.json
* updated firmware check and nozzle settings
* bugfix speed and standard for 0,15mm profiles of the 0.4mm nozzle
* variables not defined in orcaslicer
* bug fix volumetric speed, wrong value
* added high flow base process
* added highflow base process
* added first full draft of high flow profiles, further tests are necessary
* changed 0.35mm to 0.32mm for 0.6mm nozzle
* minor changes to initial layer speeds
* changed 0.35mm to 0.32mm for 0.6mm nozzle
* furcer changes on accelartion and speed
* added 0.35mm Standard @MK3.5 again for not breaking anythin for current users
* Update 0.35mm Standard @MK3.5.json
forgot to set the layer_height after creation of the 0.35mm profile
* bugfix for TPU filament overrides
* higher voluemetric flow
* bugfix for to high speed at internal solid infill
* Update Prusa.json
* updated firmware check and nozzle settings
* bugfix speed and standard for 0,15mm profiles of the 0.4mm nozzle
* variables not defined in orcaslicer
* Whitespace cleanup in Prusa profile
```
$ diff -u Prusa.json <(jq --indent 4 < Prusa.json) | wc -l
0
```
* Add Prusa MK4S profiles
There were generated from the PrusaSlicer profiles[0] using some scripts
which try to faithfully convert the profiles[1]. The high flow nozzle
settings have been modeled as a separate printer model.
A few things I'm aware of that haven't been converted:
- Filament multi-material settings (eg loading speeds)
- High-flow and abrasive nozzle check in gcode, which, as far as I
know, isn't available in the current firmware anyways
I've also found that disabling z-hop on layer change in OrcaSlicer seems
more similar to the behavior in PrusaSlicer (which allows travel
distance limitations to override that setting), so I've disabled that.
Fixes#7391
[0]: 0bca90da13/resources/profiles/PrusaResearch.ini
[1]: https://github.com/rcloran/SuperSlicer_to_Orca_scripts/tree/20d2881
Fix issue `Preset name "0.20mm Speed @MK3S 0.4" was marked as renamed from "0.20mm Standard @MK3S", though preset name "0.20mm Detail @MK3S 0.6" was marked as renamed from "0.20mm Standard @MK3S" as well.`
* added Prusa Mini with Input Shaper to profiles
* refactoring to more reusable settings
* added more processes, changed settings
* Update 0.15mm Speed @MINIIS.json
* Update 0.10mm Speed @MINIIS.json
* changed to cubic because of speed
* further changes after reviewing prusa slicer settings
* simplified machine settings
* retraction speeds according to prusa slicer
* changed max flow according to prusa slicer
* after clearification at the prusaslicer repository M900 got removed
* precise wall per default
* enable reverse overhang on odd by default
* added settings from prusa slicer
* changed cooling setings
* changed default to inner-outer-inner wall
inner-outer-inner gives pretty good overhangs with better surface
* new profiles for bigger nozzles, changed some cooling settings according to prusaslicer
* profiles for different nozzles sizes, better speed settings
* initial layer height was wrong
* wrong initial layer height
* set the correct accelerations
* changed firmware version number
* using pressure advance UI setting instead of custom filament g-code
* Update Prusa Generic PC.json
* Update Prusa Generic PC.json
* changed max flow for PC
* added PVA filament profiles
* bug fix in filament loading
* changed line width according to prusa slicer
* changed heatbed temperature for Minis capabilities
* set default support to snug
* changed default filament setting to the correct value
* changed line with to the correct values according to prusaslicer profiles
* Update Prusa MINIIS 0.4 nozzle.json
updated firmware version
* updated firmware version
* changed first layer height according to optimal value of the respective nozzle size
* changed wall loops to 2 for bigger nozzles
1. Change default ensure_vertical_shell_thickness value back to ensure_all as suggested by @igiannakas
2. Change default sparse_infill_pattern vaule to ipCrossHatch
* added Prusa Mini with Input Shaper to profiles
* refactoring to more reusable settings
* added more processes, changed settings
* Update 0.15mm Speed @MINIIS.json
* Update 0.10mm Speed @MINIIS.json
* changed to cubic because of speed
* further changes after reviewing prusa slicer settings
* simplified machine settings
* retraction speeds according to prusa slicer
* changed max flow according to prusa slicer
* after clearification at the prusaslicer repository M900 got removed
* precise wall per default
* enable reverse overhang on odd by default
* added settings from prusa slicer
* changed cooling setings
* changed default to inner-outer-inner wall
inner-outer-inner gives pretty good overhangs with better surface
* new profiles for bigger nozzles, changed some cooling settings according to prusaslicer
* profiles for different nozzles sizes, better speed settings
* initial layer height was wrong
* wrong initial layer height
* set the correct accelerations
* changed firmware version number
* using pressure advance UI setting instead of custom filament g-code
* Update Prusa Generic PC.json
* Update Prusa Generic PC.json
* changed max flow for PC
* added PVA filament profiles
* bug fix in filament loading
* changed line width according to prusa slicer
* changed heatbed temperature for Minis capabilities
* added Prusa Mini with Input Shaper to profiles
* refactoring to more reusable settings
* added more processes, changed settings
* Update 0.15mm Speed @MINIIS.json
* Update 0.10mm Speed @MINIIS.json
* changed to cubic because of speed
* further changes after reviewing prusa slicer settings
* simplified machine settings
* retraction speeds according to prusa slicer
* changed max flow according to prusa slicer
* after clearification at the prusaslicer repository M900 got removed
* precise wall per default
* enable reverse overhang on odd by default
* added settings from prusa slicer
* changed cooling setings