Files
OrcaSlicer/resources/profiles/FLSun/machine/FLSun V400 0.4 nozzle.json
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

100 lines
2.5 KiB
JSON

{
"type": "machine",
"name": "FLSun V400 0.4 nozzle",
"inherits": "fdm_machine_common",
"from": "system",
"setting_id": "4P1vcj47NO5IMNPe",
"instantiation": "true",
"printer_model": "FLSun V400",
"default_print_profile": "0.20mm Standard @FLSun V400",
"gcode_flavor": "klipper",
"nozzle_diameter": [
"0.4"
],
"bed_exclude_area": [
"0x0"
],
"printable_area": [
"149.429x13.0734",
"147.721x26.0472",
"144.889x38.8229",
"140.954x51.303",
"135.946x63.3927",
"129.904x75",
"122.873x86.0365",
"114.907x96.4181",
"106.066x106.066",
"96.4181x114.907",
"86.0365x122.873",
"75x129.904",
"63.3927x135.946",
"51.303x140.954",
"38.8229x144.889",
"26.0472x147.721",
"13.0734x149.429",
"9.18485e-15x150",
"-13.0734x149.429",
"-26.0472x147.721",
"-38.8229x144.889",
"-51.303x140.954",
"-63.3927x135.946",
"-75x129.904",
"-86.0365x122.873",
"-96.4181x114.907",
"-106.066x106.066",
"-114.907x96.4181",
"-122.873x86.0365",
"-129.904x75",
"-135.946x63.3927",
"-140.954x51.303",
"-144.889x38.8229",
"-147.721x26.0472",
"-149.429x13.0734",
"-150x1.83697e-14",
"-149.429x-13.0734",
"-147.721x-26.0472",
"-144.889x-38.8229",
"-140.954x-51.303",
"-135.946x-63.3927",
"-129.904x-75",
"-122.873x-86.0365",
"-114.907x-96.4181",
"-106.066x-106.066",
"-96.4181x-114.907",
"-86.0365x-122.873",
"-75x-129.904",
"-63.3927x-135.946",
"-51.303x-140.954",
"-38.8229x-144.889",
"-26.0472x-147.721",
"-13.0734x-149.429",
"-2.75546e-14x-150",
"13.0734x-149.429",
"26.0472x-147.721",
"38.8229x-144.889",
"51.303x-140.954",
"63.3927x-135.946",
"75x-129.904",
"86.0365x-122.873",
"96.4181x-114.907",
"106.066x-106.066",
"114.907x-96.4181",
"122.873x-86.0365",
"129.904x-75",
"135.946x-63.3927",
"140.954x-51.303",
"144.889x-38.8229",
"147.721x-26.0472",
"149.429x-13.0734",
"150x-3.67394e-14"
],
"printable_height": "410",
"machine_end_gcode": "M107 T0\nM104 S0\nM104 S0 T1\nM140 S0\nG92 E0\nG91\nG1 E-1 F300\nG1 Z+0.5 F6000\nG28 \nG90 ;absolute positioning",
"machine_start_gcode": "G21\nG90\nM82\nM107 T0\nM140 S[bed_temperature_initial_layer_single]\nM104 S[nozzle_temperature_initial_layer] T0\nM190 S[bed_temperature_initial_layer_single]\nM109 S[nozzle_temperature_initial_layer] T0\nG28\nG1 F3000 Z1\nG1 X-150 Y0 Z0.4\nG92 E0\nG3 X0 Y-130 I150 Z0.3 E30 F2000\nG92 E0",
"layer_change_gcode": "",
"machine_pause_gcode": "PAUSE",
"scan_first_layer": "0",
"nozzle_type": "hardened_steel",
"auxiliary_fan": "0"
}