Commit Graph
61 Commits
Author SHA1 Message Date
SoftFever ade9e77b6b Run every profile maintenance job from one tool (#15726)
* Run every profile maintenance job from one tool

orca_id_tool.py becomes orca_profile_tool.py, and orca_extra_profile_check.py
and orca_filament_lib.py fold into it as subcommands: check, generate-id, fix,
trim, update-index and update-snapshot. The three scripts already overlapped --
the checker imported half of its rules from the id tool, which in turn kept a
copy-pasted set of output helpers to avoid the resulting import cycle -- while
disagreeing on how a vendor is enumerated, how a JSON file is read and what the
exit code means. One file settles all three.

check, normalize, trim and update-index reproduce their predecessors exactly; normalize and
update-index were diffed byte-for-byte against the old scripts over a copy of
the whole tree. Deliberate changes: the compatible-printers check no longer
switches itself off when --check-materials is passed, an error exits 1 rather
than -1, update-index honours --profile-type and reports a profile it cannot
place instead of dropping it from the index, fix and update-index gained
--dry-run, trim keeps an unindexed file some surviving profile still inherits
from, and vendors are enumerated as directories with an index -- which is why
blacklist.json, a data file that an unscoped index rebuild once wrote four empty
list sections into, loses them here and will not collect them again. The dead
rename_filament_system() helper is gone.

The suite under scripts/tests now covers the maintenance commands too, and CI
runs it; nothing there ran in CI before. No shipped profile data changes apart
from those four keys.

* update vendor index files with "python3 ./scripts/orca_profile_tool.py update-index" and "python3 ./scripts/orca_profile_tool.py normalize"
2026-09-16 19:53:23 +08:00
SoftFever 6ec904074b Give generic filaments one name and one identity across every vendor 2026-09-01 17:26:57 +08:00
SoftFever 1a62a25d36 Merge branch 'main' into feature/filament_id
Brings in 560 commits (merge base 2026-07-04 .. origin/main af9fd10d7a).
19 conflicts resolved; the other 138 touched files auto-merged.

Conflict resolutions
- Snapmaker/Polymaker (7): main normalised JSON key order in #15039 while this
  branch inserted filament_id/filament_vendor. Took main's key order and kept
  this branch's values, inserting a single filament_id key rather than letting
  git's line merge leave duplicate "from"/"instantiation" keys.
- re3D rPETG @0.8/@1.75 nozzle (2): main renamed these from "re3D Greengate
  rPETG @*" and re-vendored GreenGate3D -> re3D (#15169). Git's rename-aware
  merge produced a file with two filament_vendor keys; took main's version
  wholesale instead. The id is reconciled by the tooling, not by hand.
- re3D rPP (1): kept main's inherits change (fdm_filament_pet -> fdm_filament_pp,
  local filament_type override dropped) and its widened compatible_printers.
  The flattened type is still PP, so the product triple and id OFfHGM1D are
  unchanged.
- re3D Greengate rPETG.json, Afinia {ABS+,ABS,PLA,TPU,Value ABS,Value PLA}.json
  (7 modify/delete): accepted main's deletions. The Afinia ids are not orphaned
  - the surviving @HS presets resolve the same triple and already carry the
  same ids, so nothing is retired.
- .github/workflows/check_profiles.yml: kept both main's new "validate slice"
  step and this branch's tree-wide filament-subtype check.
- tests/libslic3r/CMakeLists.txt: kept both test_filament_id_succession.cpp and
  main's test_preset_diff.cpp.

Verified
- No conflict markers; all 12795 profile JSONs parse with no duplicate keys.
- All branch artifacts (tooling, snapshot, ledger, doc, tests) intact and
  unmodified by the merge.
- The succession-ledger C++ call sites survived main's refactors; audited
  Preset.{cpp,hpp}, PresetBundle.cpp, DeviceManager.cpp, PresetComboBoxes.cpp,
  CaliHistoryDialog.cpp, MoonrakerPrinterAgent.cpp against base/ours/theirs.
- scripts/tests: 115/116 pass.

Known follow-up: assign_filament_ids.py --check reports 243 errors, all from
filament data main added in the last month (BBL/addnorth, Qidi X5/Plus 5,
Snapmaker U1, re3D). The single failing unit test is the live-tree conformance
test asserting that count is zero. Reconciliation lands separately.
2026-08-08 02:05:37 +08:00
SoftFever 8747605930 Fixes invalid inherits/compatible_printers/compatible_prints references that point at a deleted or renamed preset. (#14595)
* fix profile reference for Creality

* fix profile reference for Blocks

* fix profile reference for OrcaArena

* fix profile reference for re3D

* fix profile reference for Chuanying

* fix profile reference for Prusa

* fix profile reference for Wanhao France

* fix profile reference for MagicMaker

* fix profile reference for Afinia

Remove the ABS/ABS+/PLA/TPU/Value ABS/Value PLA filament presets that referenced the non-existent "Afinia H400 Pro" printer. The real printer is "Afinia H+1(HS)", already served by the @HS filament variants.

* fix profile reference for Comgrow

Remove the orphaned "0.20mm Standard @Comgrow T500 1.0" process preset and its process_list entry. Its only compatible printer "Comgrow T500 1.0 nozzle" never existed (the T500 model defines nozzle diameters 0.4/0.6/0.8 only).

* always run check_preset_references
2026-07-05 20:26:36 +08:00
SoftFever 095fd9fba4 Prusa: move filament_ids off shared templates onto family roots
Phase 2 of the filament_id cleanup (31 collision groups, all one mechanism:
material-class ids on shared fdm_filament_* templates collapsing HF/-CF/
Prusament lines onto one id, plus 3 overclaims). 18 new @base family roots
(owner generic keeps the legacy id, 12 impostor families get deterministic
mints), 72 config-neutral inherits repoints, 6 template filament_id keys
removed (only where every id-less inheritor is covered by a new root;
fdm_filament_asa/pc keep theirs for the frozen Prusament @XL riders),
3 compatible_printers trims on MINIIS printers covered by dedicated @MINIIS
variants. Frozen name-shaped and _NN per-variant ids stay byte-identical.

Verified: config-equivalence gate zero unexpected diffs; extra check exit 0;
--check exit 0; validator -l 2 exit 0; extended -f -v Prusa exit 0 (was 31
groups / 1035 printer-level errors on the pre-apply copy).
2026-07-03 00:09:05 +08:00
SoftFever 8cb2e4e01e profiles: deterministic setting_id from vendor/type/name (#14432)
* profiles: enforce globally-unique, per-vendor-namespaced setting_id

Many non-Bambu vendors copied Bambu's generic setting_ids (GFSA04 alone
appeared in 1557 files), so setting_id was not globally unique. This
namespaces every vendor's ids and reserves Bambu/OrcaFilamentLibrary space.

- Reserve "G*" (Bambu) and "O*" (OrcaFilamentLibrary) id spaces.
- Assign each other vendor a 2-char prefix (first+last letter, collision
  resolved) and renumber every instantiated preset to <PREFIX><NNNN>.
- Strip setting_id from base profiles (instantiation:false) per Bambu's
  convention; assign one to instantiated presets that lacked it.
- Remove the pre-existing misspelled "settings_id" key (91 files).
- filament_id is left untouched (it is a per-material id).
- Add one-time migration script scripts/assign_vendor_setting_ids.py with a
  persisted registry resources/profiles/vendor_prefixes.json. Re-runs freeze
  existing ids; only new vendors/profiles get new ids.
- Bump version in each changed vendor index file.
- Extend scripts/orca_extra_profile_check.py with a CI guard: global
  uniqueness, in-namespace, no base setting_id, no gaps, no settings_id typo.

7425 profile files changed across 61 vendors; 0 cross-vendor collisions;
validator clean; migration idempotent. BBL and OrcaFilamentLibrary id spaces
untouched.

* profiles: add setting_id authoring guide for new vendors / profiles

* profiles: drop in-repo README; setting_id guide now lives in the wiki

* profiles: derive setting_id deterministically from vendor/type/name

* bump profile version
2026-06-27 20:11:25 +08:00
Ian Bassi 19e8c24f14 Filament for features bump version (#14033) 2026-06-04 12:42:47 -03:00
SoftFever 16a992b4d5 bump profile version 2026-05-22 02:27:34 +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
SoftFever f4224e9780 tidy up and bump profile version (#12889)
* tidy up and bump profile version

* fix error

* tidy up

* fix

* tide up more

* fix errors

* fix more errors
2026-03-23 01:17:34 +08:00
SoftFever 0f92dec77d update profile version 2026-03-06 11:44:20 +08:00
SoftFever 7cabde6ca6 update profile version 2026-03-01 00:41:54 +08:00
SoftFever 06cee7ffe7 bump profile version to "02.03.02.40" (#12309) 2026-02-15 14:24:36 +08:00
Dmitrii f3f752d0be Prusa CORE One L (C1L) Profiles (#11447)
# Description

This adds support for Prusa CORE One L.

Prusaslicer commit: https://github.com/prusa3d/PrusaSlicer/commit/5bda77520e420ba62bb2dbbc39c5c8d9f9418481

# Screenshots/Recordings/Graphs

<img width="762" height="289" alt="image" src="https://github.com/user-attachments/assets/ff117547-daaa-46c1-a964-996d533613cc" />

(no i'm not sure if it's meant to be this wide)

## Tests

None yet, plz help
2026-01-22 15:34:43 +08:00
SoftFever 7736b31015 update profile version 2025-09-29 22:57:27 +08:00
SoftFever e5243be866 fix a regression bug that wrong printer model for Prusa MK3S and MINI in 2.3.1 beta (#10821)
fix wrong printer model for Prusa MK3S and MINI
2025-09-21 19:36:18 +08:00
SoftFever 4f50fdc94e Fixed many profile issues and cleaned up some messes. (#10686) 2025-09-11 17:50:53 +08:00
SoftFever e3d55b3c5b update profiles 2025-09-10 23:21:45 +08:00
Bernhard KoppensteinerandNoisyfox 52e4d2af82 High Flow Profiles for MINIIS; minor Profile Tweaks for MK3.5 and MINIIS (#9485)
* 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>
2025-06-15 19:44:39 +08:00
Michele Stefanelli 5a173bb1c4 Improve printers pictures and sorting (prusa printers) (#9824)
* Replace prusa printer images with standard sizes and aspect ratio

* Rename Prusa Mini IS to specify the IS in the name

* Add missing prusa CORE One in the preset dialog and reorder prusa printers

* updated pictures to 320px
2025-06-08 18:04:04 +08:00
2304e6a9cd Prusa CORE One Profiles (#9352)
* update profiles from https://github.com/bwees/orca_coreone/commit/3b3aa19543626f4c77e2782d9707b20d7a28a96c

* capitalize SPEED

* Capitalize SPEED

* sync with https://github.com/bwees/orca_coreone/commit/cac592a4628478896f91d9b43708e005c1de6c4f#diff-b2ec55404a83d29c6c998171282a456702f47a98bade1a24aa583ea65c4314e0

* sync with https://github.com/bwees/orca_coreone/commit/1d5331b7d92e228f1d71b427dec727cc6d880678

there was an issue with the filament start gcode conversion that appears to make the gcode invalid

* tweak Prusa CORE One

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-05-03 00:02:37 +08:00
Bernhard Koppensteiner 69c2143804 High Flow Profiles for Prusa MK3.5 (#9312)
* 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
2025-04-16 10:34:27 +08:00
cochcoder b795708852 Fix/improve Prusa XL & XL 5T profiles (#8833)
* First set of fixes

* Add FLEX filament to PrintConfig.cpp

* Add new FLEX filament profiles to main Prusa json

* Comment out M104.1 code

* Revert "Comment out M104.1 code"

This reverts commit 831414adb7.
2025-04-14 15:39:03 +08:00
Bernhard Koppensteiner 44b6a6a6b6 bugfix and updates in profiles for MK3.5 (#8778)
* 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
2025-03-16 23:42:24 +08:00
SoftFever 4ebbadb2a6 update profile version 2025-03-16 22:59:07 +08:00
SoftFever c17b52ad66 bump profile version to "02.03.00.02" 2025-03-09 15:25:44 +08:00
SoftFever 0965b92895 update profile version 2025-03-01 17:49:00 +08:00
SoftFever a49460d8d8 bump profile versions 2025-02-20 21:44:39 +08:00
Russell Cloran 06c809c598 Add Prusa MK4S profiles (#8279)
* 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]: https://github.com/prusa3d/PrusaSlicer/blob/0bca90da1338f0bf31e3a820a9e6e69f3a4dc2c9/resources/profiles/PrusaResearch.ini
[1]: https://github.com/rcloran/SuperSlicer_to_Orca_scripts/tree/20d2881
2025-02-08 00:12:55 +08:00
SoftFever 4b46bfcbdf update profile version 2024-10-27 23:11:44 +08:00
SoftFever 04c65b750d bump profile version 2024-09-23 21:29:19 +08:00
SoftFever a141e4fbf7 bump profile version 2024-09-08 23:12:46 +08:00
Bernhard Koppensteiner 0921b6d99d fixed process naming, checks seem to be case sensitive 2024-09-04 20:51:10 +02:00
Bernhard Koppensteiner 50039afb66 added MK3.5 2024-08-29 14:41:09 +02:00
Bernhard Koppensteiner 65e007cb41 added MK3.5 support 2024-08-28 21:48:15 +02:00
SoftFever e0daca73ab upgrade profiles version to 02.01.01.00 2024-06-26 21:32:45 +08:00
SoftFever 9ee33e30df bump profile version to 02.01.00.01 2024-06-16 21:22:23 +08:00
SoftFever f9ecc9d423 Fix some small issues for Prusa XL profiles:
1. fixed some wrong parameter names
2. fixed bed texture
3. Fix typo "pursa"
4. Use Prusa XL in all cases
2024-06-08 17:38:09 +08:00
cochcoder 467691db5e Add support for Prusa XL Input Shaper (only one head will print) & add PC-CF, PA11-CF, & PVB filament types (#5511)
* Add Prusa XL & speed profile

* Wrong name

* Fix cover image sizing

* Change infill pattern & density to whats in PrusaSlicer

* Fix filament start G-Code & Add additional info in printer notes

* Add PETG profile

* Link PETG profile

* Add ABS & add bed temps

* Add Prusament PLA & attempt at removing ramming limits

* Allow user to change ramming time & volume

* Revert changing identifier

* Remove invalid ramming variables

* Add Prusament PETG

* Try this

* Revert "Try this"

This reverts commit c6228950fb.

* Revert ramming changes

* Add rPLA, PLA+, PC-CF, PA11-CF, and PVB

* Add PVB profile and other minor improvements

* Add image formats

* Add rPLA profile & remove rPLA & PLA+ from printConfig

* Add Prusament PC-CF & small bug fixes

* Add Prusament ASA, PA-CF, PC, & pa11cf common file

* Minor improvements to common and speed profiles

* Add 0.20mm Quality profile

* Add .3mm Draft process & link .2mm Quality

* Add 0.15mm Quality process

* Add 0.10mm Detail process

* Add 0.07mm UltraDetail profile

* Add 0.5mm nozzle size & related processes

* Set default print profile

* Fix incorrect bridge flow ratio

* Fix incorrect support z distance

* Correct skirt values if enabled

* Add 0.6 & 0.8 nozzles & respective profiles as well as some fixes

* Set default profile for 0.8

* Add 0.25, 0.3, & respective profiles

This also adds all the nozzle sizes to the filament profiles

* Adapt filename format

* Remove unneeded values

* Add Input Shaper

* Fix raft contact distance

* Add Input Shaper profiles to filaments

* List default profiles

* Add printer variant variable

* Change cover sizes & optimize svg

* Fix small filament bug

* Add comment for symmetry

* Add Prusa before XL & XLIS

* Fix failing check

* Fix failing check part 2

* Some small changes

* I've been overthinking this haven't I?

* Could it be this?

* Revert this change

* Try one last thing

* Change naming for XLIS & covers

* Try removing non-IS profiles

* Change IS models

* Remove remnants of non-IS profiles

* Change naming for better consistency
2024-06-08 17:36:00 +08:00
SoftFever f13dc1fdcd bump profiles version to 2.1, change most profiles' top_surface_pattern to monotonicline as default pattern 2024-05-22 22:54:56 +08:00
Bernhard Koppensteiner 96d7139b95 Prusa MINIIS Profiles, changed to Pressure Advance UI settings, better processes for different nozzle sizes (#5244)
* 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
2024-05-17 22:22:40 +08:00
Bernhard Koppensteiner 0369a14ab8 Prusa Mini with Input Shaper Profiles (#5116)
* 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
2024-04-23 21:49:37 +08:00
cochcoder a187356b93 Various profile improvments (#4775)
* Add Prusa MINI profiles & fix image extension

* Add MINI & MK3S to generic filaments

* Change 0.2 to 0.25

* Change this one

* Fix this

* Fix nozzle diameters

* Forgot this...
2024-03-30 10:10:30 +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
SoftFever 8a1313aa43 bump printer profile version to 2.0 2024-03-11 22:42:32 +08:00
goyetusandSoftFever 31d1d03578 Creality Ender 3 and Prusa Mk3s 0,2;0,4,06 and 0,8 profiles (#4029)
* Ender 3 - All nozzles and Quality Profiles

Ender 3 Profiles.

0.20 Nozzle
0.40 Nozzle
0.60 Nozzle
0.80 Nozzle

0.12 to 0.24 Quality Profiles for every Nozzle in Process Folder

* all

all

* Ender 3 Profiles

Ender 3 Profiles for: 0,2;0,4;0,6;0,8

5 Different and independent Quality profiles for each Nozzle.

Fine, Optimal, Standard, Draft and Superdraft

* aa

aa

* aa

aa

* aa

aa

* Prusa Mk3s Profiles

Prusa Mk3s Profiles

* Mk3s FIXED

mk3s FIXED

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2024-02-11 10:25:18 +08:00
SoftFever 18b52fd780 bump version profile version to "01.09.00.02" 2024-01-06 09:22:44 +08:00
SoftFever 7db0ad3112 bump profile version to 1.9.0 2023-12-24 11:41:55 +08:00
SoftFever cb038d0469 fix Prusa MK3S and Mini profile issues
Fixed #2768
2023-11-17 20:00:05 +08:00