Commit Graph

14 Commits

Author SHA1 Message Date
Ian Bassi
3db37d004a Fix + Support 'Default' filament option (index 0) (#13887)
* 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 2c976574327a8bcdc74a1b296bf1aaff7752a94e.

* Revert "enable_filament_for_features option"

This reverts commit 01c13baeddb8e26793f752deab788ee4d086975b.

* 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
2026-05-29 10:54:26 +08:00
Ian Bassi
16727644bb Reduce size by Json Fromatting (#13163)
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.
2026-04-15 22:58:12 +08:00
Anson Liu
fcb640bee1 Set Ironing angle setting to be a relative degree offset from top surface infill direction (#10841)
* Change ironing angle setting to be an offset angle from the top surface angle rather offset from the layer 0 angle that changes on each layer.

* Change Ironing angle offset range from [-1,359] to [0,359].
-1 is redundant because it is the same behavior as 0 offset.

* Change ironing_angle new default value to 0.

* Update existing print profiles' hardcoded ironing_angles from -1 to 0 to reflect new default value.

* Add migration for old -1 ironing_angle settings. Remove logic for -1 ironing_angle.

* Add u8 prefix for degree symbol string

* Use solid_infill_direction instead of infill_direction for top surface infill direction. Use calculate_infill_rotation_angle to add offset to solid_infill_rotate_template if used.

* Update quality settings wiki for Ironing

* Set f->is_using_template_angle when making ironing filler objects

* Update quality_settings_ironing link from #angle to #angle-offset

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-10-20 09:01:53 +08:00
SoftFever
4f50fdc94e Fixed many profile issues and cleaned up some messes. (#10686) 2025-09-11 17:50:53 +08:00
Thomas
83f8b6b625 Set Crosshatch as default infill pattern instead of grid (#8952) 2025-03-18 19:53:10 +08:00
Asim Siddiqui
18652068e3 Added AD5X & SUNLU filaments for Flashforge + fixes & updates (#8573)
- Added AD5X
- Added SUNLU filaments for AD5 and AD3 series
- Updated SUNLU filament & setting IDs for BBL
- Updated SUNLU parameters in OrcaLibrary
- Fixes & enhancements for Flashforge profiles

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-03-01 13:00:18 +08:00
SoftFever
dc491166a8 Feature/revert recent flashforge changes(#8498)
* Revert "fix more Flashforge issues"

This reverts commit 6e473fd5fa.

* Revert "Fixed an issue that some Flashforge filament profiles don't' have compatible_printers defined which cause filament selection dialog didn't filter properly"

This reverts commit f8c0cdfb11.

* Revert "Merged Orca-Flashforge 1.3 branch (Added AD5X & G4P) + fixes & optimizations (#8461)"

This reverts commit b8e4ce75e0, reversing
changes made to be8bf54884.
2025-02-22 17:58:23 +08:00
RikshaDriver
5e7c8678fb Prettified json formatting
prettified/simplified json formatting using jj
2025-02-20 18:35:13 +11:00
RikshaDriver
fcc3da5800 Merged Orca-Flashforge 1.3 branch + fixes & optimizations
Added AD5X & G4P
Consolidated/Revised AD3, AD5M & G2S profiles
Commenced filament Filament ID & Setting ID corrections
2025-02-20 11:49:06 +11:00
SoftFever
c36d4ad7c9 Fix misc bugs 2024-07-23 00:12:54 +08:00
SoftFever
0459c28596 Tweak default parameters
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
2024-05-29 23:07:29 +08:00
SoftFever
676a190a77 update profile version 2024-03-29 18:37:40 +08:00
SoftFever
f88e3f2c64 bump profile version to 2.0.1 2024-03-23 16:31:13 +08:00
FlashforgeOfficial
80a49092cc Update Flashforge Printer Profiles for Guider3 Ultra 0320 (#4587)
Update Printer Profiles for Guider3 Ultra 0320
2024-03-20 23:22:54 +08:00