Commit Graph
21 Commits
Author SHA1 Message Date
Hugo Costa 3df9c215f8 Blocks: branded filaments, naming/loading fixes, RF50 bed type and other fixes. (#15804)
# Description

<!--
> 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?
-->

This PR fixes some problems with the current profiles for Blocks
printers

- **Fix**: start gcode for the Blocks 0.6mm RF50 printer where the start
gcode command had no newline separation on two commands so they were
concatenated and would make printing fail.
- **Added**: multi material plates selection for the RF50 printers,
right now only textured PEI and smooth high temp plates are available,
but in the future more to come.
- **Naming consistancy** for Blocks Pro S100 processes and filaments,
target labels used bare `@Blocks` while RD50 and RF50 used
`@Blocks_RD50` and `@Blocks_RF50`. Renamed Pro S100 to
`@Blocks_Pro_S100` to match the structure.
- **Filament restructure**: replaced Blocks tuned-generic filaments
(e.g. `Generic PLA @Blocks`) with real Blocks-branded filaments. One for
each printer model. Every material keeps the same coverage we already
had.
- **Fix**: `sparse_infill_pattern` was misspelled `sparse_infill_patter`
on 13 `@Blocks_RF50` process presets. Harmless due to inheritances but
fixed non the less.
- **Fix**: `Blocks RD50 V2 0.4 nozzle.json` was missing
`printer_variant`.
- **Normalize** all Blocks profiles to standard formatting (tab
indentation, key order) and bumped `Blocks.json` version.
- **RF50 retraction length** increased on all RF50 machines.


## Tests

- [x] `orca_profile_tool.py check --vendor Blocks` - clean
- [x] `orca_profile_tool.py check` - clean
- [x] `normalize` / `generate-id` / `update-index --dry-run` — fully
settled, no pending changes
- [x] `check_profile.sh --vendor Blocks` → `profile_tool` check — passes
- [ ] `validate_system` / `validate_slice` /
`validate_filament_subtypes` / `validate_custom` —
could not run locally (dev host's glibc 2.36 is older than the nightly
validator binary's
      required 2.38); needs CI or a compatible host
- [x] In-app confirmation that the Blocks bundle loads
 
<!--
> A guide for users on how to download the artifacts from this PR.
-->

[How to Download Pull Requests Artifacts for
Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
2026-09-28 17:16:55 +08:00
SoftFever f520e9221f Repair shipped default materials and obsolete settings, and validate them (#15741)
* add orca profile skill

* add default material check

Improve validation for default materials and filament profiles

* Fix default materials and obsolete keys

* clarifying orca-profiles skill
2026-09-18 00:39:46 +08:00
SoftFever 6ec904074b Give generic filaments one name and one identity across every vendor 2026-09-01 17:26:57 +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 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
SoftFever 16a992b4d5 bump profile version 2026-05-22 02:27:34 +08:00
yw4zandSoftFever 95cf1745a8 Profile folder optimizations (Anycubic, Creality, Elegoo, Flashforge, Qidi, Prusa, Re3d, Rh3d, Snapmaker, Sovol and more) (#13149)
* anker

* blocks

* prusa

* zbolt

* snapmaker

* iQ

* eryone

* OpenEYE

* RH3D

* anycubic kobra neo

* kobra neo cover

* prusa one L cover

* longer lk10 & plus

* anycubic predettor

* creality covers

* k2 - k2 pro bed models

* m3d enabler d8500

* artillery m1 pro

* wemake3d

* Update Anet A8 Plus(A8+)_cover.png

* cubicon

* qidi

* Update Qidi X-Max 4_cover.png

* re3D

* Update Flashforge Artemis_cover.png

* flashforge

* tronxy

* Update flashforge_g2s_buildplate_model.stl

* Update FlyingBear Ghost7-bed.stl

* lulzbot

* Rolohaun3D

* Raise3D

* Update ThePositron_bed_texture.svg

* Mellow M1

* flsun

* CoPrint

* chuanying

* artillery

* anycubic

* sovol

* comgrow

* elegoo

* fix conflict

* update

* Update M5-CE-texture.svg

* prusa

* anker

* creality texture and model

* creality covers

* magicmaker

* Update wm_buildplate_model.stl

* comgrow

* infimech

* voxelab

* flashforge

* peopoly

* biqu

* ginger additive

* e3ng

* flashforge

* wanhao

* compress covers

* re3D

* wemake3d

* update

* flsun

* flashforge

* elegoo

* creality

* blocks

* update

* anycubic

* artillery

* Update Co_Print_ChromaSet_buildplate_texture.svg

* comgrow

* Update Taz_Pro_Dual_printbed.svg

* Update elegoo_orangestorm_giga_buildplate_texture.svg

* snapmaker

* flashforge

* anycubic 3 and S1

* artillery

* artillery

* update

* update

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2026-04-26 20:17:08 +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
SoftFever 7736b31015 update profile version 2025-09-29 22:57:27 +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
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
SoftFever 4b46bfcbdf update profile version 2024-10-27 23:11:44 +08:00
Hugo Costa 88ca0bc5b9 Add BLOCKS RD50, ProS100 and RF50 printers (#7190)
* Add BLOCKS RD50, ProS100 and RF50 printers

Add printer configurations and profiles for Blockstech printers to OrcaSlicer

* Update RF50 thumbnail

Added the definative thumbnail for the RF50 printer model.
2024-10-26 00:31:11 +08:00