* 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
123 lines
2.2 KiB
JSON
123 lines
2.2 KiB
JSON
{
|
|
"type": "machine",
|
|
"name": "RatRig V-Core 4 HYBRID 300 0.5 nozzle",
|
|
"inherits": "fdm_klipper_common",
|
|
"from": "system",
|
|
"setting_id": "kYSU7lS52QnLsENZ",
|
|
"instantiation": "true",
|
|
"printer_model": "RatRig V-Core 4 HYBRID 300",
|
|
"printer_variant": "0.5",
|
|
"nozzle_diameter": [
|
|
"0.5"
|
|
],
|
|
"printable_area": [
|
|
"0x0",
|
|
"300x0",
|
|
"300x300",
|
|
"0x300"
|
|
],
|
|
"machine_max_speed_x": [
|
|
"500",
|
|
"500"
|
|
],
|
|
"machine_max_speed_y": [
|
|
"500",
|
|
"500"
|
|
],
|
|
"machine_max_speed_z": [
|
|
"200",
|
|
"200"
|
|
],
|
|
"machine_max_speed_e": [
|
|
"120",
|
|
"120"
|
|
],
|
|
"machine_max_acceleration_x": [
|
|
"20000",
|
|
"20000"
|
|
],
|
|
"machine_max_acceleration_y": [
|
|
"20000",
|
|
"20000"
|
|
],
|
|
"machine_max_acceleration_z": [
|
|
"200",
|
|
"200"
|
|
],
|
|
"machine_max_acceleration_e": [
|
|
"5000",
|
|
"5000"
|
|
],
|
|
"machine_max_acceleration_extruding": [
|
|
"20000",
|
|
"20000"
|
|
],
|
|
"machine_max_acceleration_retracting": [
|
|
"20000",
|
|
"20000"
|
|
],
|
|
"machine_max_acceleration_travel": [
|
|
"20000",
|
|
"20000"
|
|
],
|
|
"machine_max_jerk_x": [
|
|
"5",
|
|
"5"
|
|
],
|
|
"machine_max_jerk_y": [
|
|
"5",
|
|
"5"
|
|
],
|
|
"machine_max_jerk_z": [
|
|
"0.4",
|
|
"0.4"
|
|
],
|
|
"machine_max_jerk_e": [
|
|
"5",
|
|
"5"
|
|
],
|
|
"min_layer_height": [
|
|
"0.07"
|
|
],
|
|
"max_layer_height": [
|
|
"0.32"
|
|
],
|
|
"extruder_clearance_radius": "45",
|
|
"extruder_clearance_height_to_rod": "25",
|
|
"extruder_clearance_height_to_lid": "140",
|
|
"retract_lift_below": [
|
|
"0.2"
|
|
],
|
|
"retraction_length": [
|
|
"0.8"
|
|
],
|
|
"retraction_speed": [
|
|
"120"
|
|
],
|
|
"deretraction_speed": [
|
|
"120"
|
|
],
|
|
"wipe": [
|
|
"1"
|
|
],
|
|
"retract_before_wipe": [
|
|
"70%"
|
|
],
|
|
"z_hop": [
|
|
"0.2"
|
|
],
|
|
"machine_start_gcode": "START_PRINT EXTRUDER_TEMP=[nozzle_temperature_initial_layer] BED_TEMP=[bed_temperature_initial_layer_single] TOTAL_LAYER_COUNT={total_layer_count} X0={first_layer_print_min[0]} Y0={first_layer_print_min[1]} X1={first_layer_print_max[0]} Y1={first_layer_print_max[1]}",
|
|
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]",
|
|
"before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n_ON_LAYER_CHANGE LAYER={layer_num + 1}",
|
|
"change_filament_gcode": "M600",
|
|
"machine_pause_gcode": "PAUSE",
|
|
"printing_by_object_gcode": ";BETWEEN_OBJECTS\nG92 E0",
|
|
"printable_height": "300",
|
|
"time_lapse_gcode": "TIMELAPSE_TAKE_FRAME",
|
|
"thumbnails": [
|
|
"64x64/PNG",
|
|
"100x100/PNG",
|
|
"400x300/PNG"
|
|
]
|
|
}
|