Files
OrcaSlicer/resources/profiles/Prusa/machine/Prusa MINIIS 0.4 nozzle.json
T
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

125 lines
4.0 KiB
JSON

{
"type": "machine",
"name": "Prusa MINIIS 0.4 nozzle",
"inherits": "fdm_machine_common",
"from": "system",
"setting_id": "4Iq79bN4T8i3d47F",
"instantiation": "true",
"gcode_flavor": "marlin2",
"printer_model": "Prusa MINI IS",
"printer_variant": "0.4",
"default_filament_profile": [
"Prusa Generic PLA @MINIIS"
],
"default_print_profile": "0.20mm Standard @MINIIS",
"nozzle_diameter": [
"0.4"
],
"bed_exclude_area": [
"0x0"
],
"printable_area": [
"0x0",
"180x0",
"180x180",
"0x180"
],
"machine_max_acceleration_e": [
"5000",
"5000"
],
"machine_max_acceleration_extruding": [
"4000",
"4000"
],
"machine_max_acceleration_retracting": [
"1250",
"1250"
],
"machine_max_acceleration_x": [
"4000",
"4000"
],
"machine_max_acceleration_y": [
"4000",
"4000"
],
"machine_max_acceleration_z": [
"400",
"400"
],
"machine_max_acceleration_travel": [
"4000",
"4000"
],
"machine_max_jerk_e": [
"10",
"2.5"
],
"machine_max_jerk_x": [
"8",
"8"
],
"machine_max_jerk_y": [
"8",
"8"
],
"machine_max_jerk_z": [
"2",
"2"
],
"machine_max_speed_e": [
"80",
"25"
],
"machine_max_speed_x": [
"400",
"400"
],
"machine_max_speed_y": [
"400",
"400"
],
"retraction_length": [
"2.5"
],
"retraction_minimum_travel": [
"1.5"
],
"retraction_speed": [
"70"
],
"deretraction_speed": [
"40"
],
"z_hop": [
"0.2"
],
"machine_max_junction_deviation": [
"0.01"
],
"fan_speedup_time": "0.2",
"fan_speedup_overhangs": "1",
"fan_kickstart": "0",
"host_type": "prusalink",
"printable_height": "180",
"machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F720 ; Move print head up{endif}\nG1 X170 Y170 F4200 ; park print head\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+50, max_print_height)} F720 ; Move print head further up{endif}\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM221 S100 ; reset flow\nM572 S0 ; reset PA\nM569 S1 X Y ; reset to stealthchop for X Y\nM84 ; disable motors\n; max_layer_z = [max_layer_z]",
"machine_pause_gcode": "M601",
"machine_start_gcode": "M862.3 P \"MINI\" ; printer model check\nM862.1 P[nozzle_diameter] ; nozzle diameter check\nM862.5 P2 ; g-code level check\nM862.6 P\"Input shaper\" ; FW feature check\nM115 U6.4.0+11974\nG90 ; use absolute coordinates\nM83 ; extruder relative mode\nG28 ; home all without mesh bed level\nM104 S170 ; set extruder temp for bed leveling\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 R170 ; wait for bed leveling temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM569 S1 X Y ; set stealthchop for X Y\nM204 T1250 ; set travel acceleration\nG29 ; mesh bed leveling \nM104 S[first_layer_temperature] ; set extruder temp\nG92 E0\n\nG1 X0 Y-2 Z3 F2400\n\nM109 S[first_layer_temperature] ; wait for extruder temp\n\n; intro line\nG1 X10 Z0.2 F1000\nG1 X70 E8 F900\nG1 X140 E10 F700\nG92 E0\n\nM569 S0 X Y ; set spreadcycle for X Y\nM204 T[machine_max_acceleration_travel] ; restore travel acceleration\nM572 W0.06 ; set smooth time\nM221 S95 ; set flow",
"before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]\nM201 X{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))} Y{interpolate_table(extruded_weight_total, (0,4000), (1000,1700), (10000,1700))}",
"change_filament_gcode": "M600",
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]\n{if ! spiral_mode}M74 W[extruded_weight_total]{endif}\n",
"printer_notes": "Don't remove the following keywords! These keywords are used in the \"compatible printer\" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_PRUSA3D\nPRINTER_MODEL_MINIIS\nNO_TEMPLATES",
"scan_first_layer": "0",
"machine_load_filament_time": "17",
"machine_unload_filament_time": "16",
"nozzle_type": "brass",
"auxiliary_fan": "0",
"thumbnails": [
"16x16/QOI",
"220x124/QOI",
"200x240/QOI",
"640x480/PNG"
]
}