mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-27 10:51:22 +00:00
* 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
52 lines
2.1 KiB
JSON
52 lines
2.1 KiB
JSON
{
|
|
"default_print_profile": "0.20mm Standard @OpenEYE Peacock V2",
|
|
"default_bed_type": "Textured PEI Plate",
|
|
"from": "system",
|
|
"inherits": "fdm_openeye_common",
|
|
"instantiation": "true",
|
|
"adaptive_bed_mesh_margin": "10",
|
|
"bed_mesh_max": "211,211",
|
|
"bed_mesh_min": "1.5,7",
|
|
"layer_change_gcode": "SET_PRINT_STATS_INFO CURRENT_LAYER={layer_num + 1}\n_MMU_UPDATE_HEIGHT",
|
|
"machine_end_gcode": "MMU_END\nEND_PRINT",
|
|
"machine_load_filament_time": "30",
|
|
"machine_max_speed_e": [
|
|
"60",
|
|
"60"
|
|
],
|
|
"machine_max_speed_x": [
|
|
"500",
|
|
"500"
|
|
],
|
|
"machine_max_speed_y": [
|
|
"500",
|
|
"500"
|
|
],
|
|
"machine_max_speed_z": [
|
|
"30",
|
|
"30"
|
|
],
|
|
"machine_pause_gcode": "PAUSE",
|
|
"machine_start_gcode": "SET_PRINT_STATS_INFO TOTAL_LAYER=[total_layer_count]\nMMU_START_SETUP INITIAL_TOOL={initial_tool} TOTAL_TOOLCHANGES=!total_toolchanges! REFERENCED_TOOLS=!referenced_tools! TOOL_COLORS=!colors! TOOL_TEMPS=!temperatures! TOOL_MATERIALS=!materials! FILAMENT_NAMES=!filament_names! PURGE_VOLUMES=!purge_volumes!\nMMU_START_CHECK\nSTART_PRINT BED_TEMP=[bed_temperature_initial_layer] EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TYPE=\"{curr_bed_type}\" MESH_MIN={adaptive_bed_mesh_min[0]},{adaptive_bed_mesh_min[1]} MESH_MAX={adaptive_bed_mesh_max[0]},{adaptive_bed_mesh_max[1]} ALGORITHM=[bed_mesh_algo] PROBE_COUNT={bed_mesh_probe_count[0]},{bed_mesh_probe_count[1]} ADAPTIVE_MARGIN={adaptive_bed_mesh_margin}\n; Enter YOUR exist start_print macro call here (minus purging logic because tool may not be loaded yet)\nMMU_START_LOAD_INITIAL_TOOL\n; Optionally add YOUR additional start logic (like purging) here to run just prior to start\nSTART_PRINT_SECONDARY\nSET_PRINT_STATS_INFO TOTAL_LAYER={total_layer_count} ; For pause at layer functionality and better print stats",
|
|
"machine_unload_filament_time": "30",
|
|
"name": "OpenEYE Peacock V2 0.4 nozzle",
|
|
"nozzle_diameter": [
|
|
"0.4"
|
|
],
|
|
"printable_area": [
|
|
"1.5x7",
|
|
"235x7",
|
|
"235x235",
|
|
"1.5x235"
|
|
],
|
|
"printable_height": "200",
|
|
"printer_model": "OpenEYE Peacock V2",
|
|
"printer_variant": "0.4",
|
|
"retract_lift_below": [
|
|
"180",
|
|
"180"
|
|
],
|
|
"setting_id": "iJqPJqKBFJvagyMn",
|
|
"type": "machine"
|
|
}
|