Merge branch 'main' into u1-hf

This commit is contained in:
SoftFever
2026-09-23 01:28:11 +08:00
committed by GitHub
11 changed files with 510 additions and 4 deletions
@@ -35,9 +35,10 @@ toolhead, a multi-material build) may drop the suffix — still an exact referen
## `process`
`<layer height>mm <quality> @<target>` — [process-profiles.md](process-profiles.md#naming) has the
quality ladder and the `fdm_process_*` base names. The `@<target>` is a human label, not a reference: it
usually does not equal a real variant, and compatibility comes from the resolved `compatible_printers`
list or condition.
quality ladder and the `fdm_process_*` base names. The quality label stays before `@` and the printer
target after it: a printer model in the quality slot leaves the tier undescribed. The `@<target>` is a
human label, not a reference: it usually does not equal a real variant, and compatibility comes from the
resolved `compatible_printers` list or condition.
## `filament`
@@ -58,6 +59,30 @@ to the first `@`; the target half is a label except for reserved forms:
chosen at runtime
([color is a runtime property](filament-profiles.md#color-is-a-runtime-property)).
## Checking names
Check every newly added profile's `name` against its type and role: model, selectable preset or base.
Apply the same checks to an intentional name change. The human-readable naming shapes are not enforced
by `check`: inspect the added or renamed profiles in the diff, using neighbouring names as context and
following the bundle's established style where the type-specific conventions allow variation.
For bases (`instantiation: "false"`), use the type-specific conventions:
| Type | Base names |
| --- | --- |
| `machine` | `fdm_machine_common`, `fdm_<vendor>_common`, or an established machine-family base name |
| `process` | `fdm_process_*`, including shared roots and per-layer-height / per-nozzle bases such as `fdm_process_single_0.20` |
| `filament` | `fdm_filament_*` material roots or `<Product> @base` product roots |
Shared base names across bundles are intentional, including product roots such as `Fiberon PA6-CF @base`.
Investigate a newly authored base that retains an unrelated selectable preset's name from a copy.
**Name uniqueness is checked by CI.** `check_preset_name_uniqueness` checks type + name within each
bundle. `check_machine_model_name_uniqueness` checks model names across the entire tree, even with
`--vendor`: `Preset::get_printer_type` matches `printer_model` against all vendors' models and returns
the first match, so a duplicate makes lookup depend on vendor order. Both run as part of
`python3 scripts/orca_profile_tool.py check`.
## Not the same as the filename
The loader keys off `name`, and a filename that disagrees usually still loads. Index `name` must equal the
@@ -17,6 +17,7 @@ The table highlights gaps that need human review. What CI *does* run:
| A `renamed_from` whose old name is still a live preset | The redirect is inert while a live preset carries that name |
| A preset differentiated only by color, or an all-printer library preset without `@System` | Per-color presets split one product across ids and the selector fills with near-duplicates; CI stays green |
| Per-extruder vector length on a multi-nozzle printer | Silently padded (with the **first** value) or truncated |
| A name that ignores its type's convention — a model in a `process` quality slot, or an unrelated target label left in a copied preset | The selector misrepresents the preset's quality or intended printer |
## 1. Was the vendor `version` bumped?
@@ -169,6 +170,15 @@ vendor, and a filename that disagrees with the preset's `name` (common; the load
Check for Windows-invalid characters, reserved device names, trailing path-component spaces/dots,
and case mismatches in `sub_path` or asset paths. See [cross-platform paths](validation.md#cross-platform-paths).
## 16. Do the preset names follow the conventions?
Check **every newly added profile and intentional name change**, including models and bases,
against [the naming conventions](naming.md#checking-names). Preserve shipped names during
ordinary tuning; renaming a shipped selectable preset requires the migration in item 4.
*Why:* CI checks name uniqueness, but does not enforce the naming conventions. Catch naming
mistakes before the names ship and existing projects depend on them.
---
## Reporting the review
+29 -1
View File
@@ -1,10 +1,14 @@
{
"name": "Lulzbot",
"url": "https://ohai.lulzbot.com/group/taz-6/",
"version": "02.04.00.04",
"version": "02.04.00.05",
"force_update": "0",
"description": "Lulzbot configurations",
"machine_model_list": [
{
"name": "Lulzbot Mini 1",
"sub_path": "machine/Lulzbot Mini 1.json"
},
{
"name": "Lulzbot Taz 4 or 5",
"sub_path": "machine/Lulzbot Taz 4 or 5.json"
@@ -27,6 +31,10 @@
"name": "fdm_process_common",
"sub_path": "process/fdm_process_common.json"
},
{
"name": "0.25mm Standard @Lulzbot Mini 1",
"sub_path": "process/0.25mm Standard @Lulzbot Mini 1.json"
},
{
"name": "0.25mm Standard @Lulzbot Taz 4 or 5",
"sub_path": "process/0.25mm Standard @Lulzbot Taz 4 or 5.json"
@@ -43,6 +51,10 @@
"name": "0.25mm Standard @Lulzbot Taz Pro S",
"sub_path": "process/0.25mm Standard @Lulzbot Taz Pro S.json"
},
{
"name": "0.18mm High Detail @Lulzbot Mini 1",
"sub_path": "process/0.18mm High Detail @Lulzbot Mini 1.json"
},
{
"name": "0.18mm High Detail @Lulzbot Taz 4 or 5",
"sub_path": "process/0.18mm High Detail @Lulzbot Taz 4 or 5.json"
@@ -65,13 +77,25 @@
"name": "Generic ABS @Lulzbot",
"sub_path": "filament/Generic ABS @Lulzbot.json"
},
{
"name": "Generic ABS @Lulzbot Mini 1",
"sub_path": "filament/Generic ABS @Lulzbot Mini 1.json"
},
{
"name": "Generic PETG @Lulzbot",
"sub_path": "filament/Generic PETG @Lulzbot.json"
},
{
"name": "Generic PETG @Lulzbot Mini 1",
"sub_path": "filament/Generic PETG @Lulzbot Mini 1.json"
},
{
"name": "Generic PLA @Lulzbot",
"sub_path": "filament/Generic PLA @Lulzbot.json"
},
{
"name": "Generic PLA @Lulzbot Mini 1",
"sub_path": "filament/Generic PLA @Lulzbot Mini 1.json"
}
],
"machine_list": [
@@ -79,6 +103,10 @@
"name": "fdm_machine_common",
"sub_path": "machine/fdm_machine_common.json"
},
{
"name": "Lulzbot Mini 1 0.5 nozzle",
"sub_path": "machine/Lulzbot Mini 1 0.5 nozzle.json"
},
{
"name": "Lulzbot Taz 4 or 5 0.5 nozzle",
"sub_path": "machine/Lulzbot Taz 4 or 5 0.5 nozzle.json"
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@@ -0,0 +1,68 @@
{
"type": "filament",
"name": "Generic ABS @Lulzbot Mini 1",
"inherits": "Generic ABS @System",
"from": "system",
"setting_id": "vYckNG6HUwmwixlF",
"instantiation": "true",
"filament_diameter": [
"2.85"
],
"filament_density": [
"1.06"
],
"filament_max_volumetric_speed": [
"6"
],
"nozzle_temperature": [
"240"
],
"nozzle_temperature_initial_layer": [
"245"
],
"cool_plate_temp": [
"110"
],
"cool_plate_temp_initial_layer": [
"110"
],
"eng_plate_temp": [
"110"
],
"eng_plate_temp_initial_layer": [
"110"
],
"hot_plate_temp": [
"110"
],
"hot_plate_temp_initial_layer": [
"110"
],
"textured_plate_temp": [
"110"
],
"textured_plate_temp_initial_layer": [
"110"
],
"fan_min_speed": [
"40"
],
"fan_max_speed": [
"60"
],
"compatible_printers": [
"Lulzbot Mini 1 0.5 nozzle"
],
"textured_cool_plate_temp": [
"110"
],
"textured_cool_plate_temp_initial_layer": [
"110"
],
"supertack_plate_temp": [
"110"
],
"supertack_plate_temp_initial_layer": [
"110"
]
}
@@ -0,0 +1,68 @@
{
"type": "filament",
"name": "Generic PETG @Lulzbot Mini 1",
"inherits": "Generic PETG @System",
"from": "system",
"setting_id": "zcgAqKXFHMgCJr2q",
"instantiation": "true",
"filament_diameter": [
"2.85"
],
"filament_density": [
"1.24"
],
"filament_max_volumetric_speed": [
"6"
],
"nozzle_temperature": [
"230"
],
"nozzle_temperature_initial_layer": [
"235"
],
"cool_plate_temp": [
"80"
],
"cool_plate_temp_initial_layer": [
"80"
],
"eng_plate_temp": [
"80"
],
"eng_plate_temp_initial_layer": [
"80"
],
"hot_plate_temp": [
"80"
],
"hot_plate_temp_initial_layer": [
"80"
],
"textured_plate_temp": [
"80"
],
"textured_plate_temp_initial_layer": [
"80"
],
"fan_min_speed": [
"40"
],
"fan_max_speed": [
"60"
],
"compatible_printers": [
"Lulzbot Mini 1 0.5 nozzle"
],
"textured_cool_plate_temp": [
"80"
],
"textured_cool_plate_temp_initial_layer": [
"80"
],
"supertack_plate_temp": [
"80"
],
"supertack_plate_temp_initial_layer": [
"80"
]
}
@@ -0,0 +1,65 @@
{
"type": "filament",
"name": "Generic PLA @Lulzbot Mini 1",
"inherits": "Generic PLA @System",
"from": "system",
"setting_id": "xjWvBH3Qyc46iwAi",
"instantiation": "true",
"filament_diameter": [
"2.85"
],
"filament_density": [
"1.25"
],
"filament_max_volumetric_speed": [
"8"
],
"nozzle_temperature": [
"205"
],
"nozzle_temperature_initial_layer": [
"210"
],
"cool_plate_temp": [
"60"
],
"cool_plate_temp_initial_layer": [
"60"
],
"eng_plate_temp": [
"60"
],
"eng_plate_temp_initial_layer": [
"60"
],
"hot_plate_temp": [
"60"
],
"hot_plate_temp_initial_layer": [
"60"
],
"textured_plate_temp": [
"60"
],
"textured_plate_temp_initial_layer": [
"60"
],
"fan_min_speed": [
"75"
],
"compatible_printers": [
"Lulzbot Mini 1 0.5 nozzle"
],
"textured_cool_plate_temp": [
"60"
],
"textured_cool_plate_temp_initial_layer": [
"60"
],
"supertack_plate_temp": [
"60"
],
"supertack_plate_temp_initial_layer": [
"60"
]
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,12 @@
{
"type": "machine_model",
"name": "Lulzbot Mini 1",
"model_id": "Lulzbot-Mini-1",
"nozzle_diameter": "0.5",
"machine_tech": "FFF",
"family": "Lulzbot",
"bed_model": "",
"bed_texture": "lulzbot_logo.svg",
"hotend_model": "",
"default_materials": "Generic PLA @Lulzbot Mini 1;Generic ABS @Lulzbot Mini 1;Generic PETG @Lulzbot Mini 1"
}
@@ -0,0 +1,12 @@
{
"type": "process",
"name": "0.18mm High Detail @Lulzbot Mini 1",
"inherits": "0.25mm Standard @Lulzbot Mini 1",
"from": "system",
"setting_id": "2FKMCpTJ1Ptv1wLD",
"instantiation": "true",
"layer_height": "0.18",
"compatible_printers": [
"Lulzbot Mini 1 0.5 nozzle"
]
}
@@ -0,0 +1,108 @@
{
"type": "process",
"name": "0.25mm Standard @Lulzbot Mini 1",
"inherits": "fdm_process_common",
"from": "system",
"setting_id": "bqY8CEHwvUYnLRPe",
"instantiation": "true",
"reduce_crossing_wall": "0",
"layer_height": "0.25",
"max_travel_detour_distance": "0",
"bottom_surface_pattern": "monotonic",
"bottom_shell_layers": "5",
"bottom_shell_thickness": "0",
"bridge_flow": "0.85",
"bridge_speed": "25",
"brim_width": "0",
"brim_object_gap": "0",
"compatible_printers_condition": "",
"print_sequence": "by layer",
"default_acceleration": "0",
"outer_wall_acceleration": "0",
"top_surface_acceleration": "0",
"bridge_no_support": "0",
"draft_shield": "disabled",
"elefant_foot_compensation": "0.1",
"enable_arc_fitting": "0",
"outer_wall_line_width": "0.5",
"wall_infill_order": "inner wall/outer wall/infill",
"line_width": "0.5",
"infill_direction": "45",
"sparse_infill_density": "20%",
"sparse_infill_pattern": "crosshatch",
"initial_layer_acceleration": "0",
"travel_acceleration": "0",
"inner_wall_acceleration": "0",
"initial_layer_line_width": "0.50",
"initial_layer_print_height": "0.425",
"infill_combination": "0",
"sparse_infill_line_width": "0.50",
"infill_wall_overlap": "25%",
"interface_shells": "0",
"ironing_flow": "15%",
"ironing_spacing": "0.1",
"ironing_speed": "15",
"ironing_type": "no ironing",
"reduce_infill_retraction": "1",
"filename_format": "{input_filename_base}_{filament_type[initial_tool]}_{print_time}.gcode",
"detect_overhang_wall": "1",
"overhang_1_4_speed": "0",
"overhang_2_4_speed": "20",
"overhang_3_4_speed": "15",
"overhang_4_4_speed": "10",
"inner_wall_line_width": "0.50",
"wall_loops": "2",
"print_settings_id": "",
"raft_layers": "0",
"seam_position": "aligned",
"skirt_distance": "3",
"skirt_height": "1",
"skirt_loops": "2",
"minimum_sparse_infill_area": "10",
"internal_solid_infill_line_width": "0",
"spiral_mode": "0",
"standby_temperature_delta": "-5",
"enable_support": "0",
"resolution": "0.012",
"support_type": "normal(auto)",
"support_style": "grid",
"support_on_build_plate_only": "0",
"support_top_z_distance": "0.19",
"support_filament": "0",
"support_line_width": "0.5",
"support_interface_loop_pattern": "0",
"support_interface_filament": "0",
"support_interface_top_layers": "3",
"support_interface_bottom_layers": "-1",
"support_interface_spacing": "0.2",
"support_interface_speed": "100%",
"support_base_pattern": "rectilinear",
"support_base_pattern_spacing": "0.2",
"support_speed": "40",
"support_threshold_angle": "30",
"support_object_xy_distance": "60%",
"tree_support_branch_angle": "40",
"tree_support_wall_count": "0",
"detect_thin_wall": "1",
"top_surface_pattern": "monotonicline",
"top_surface_line_width": "0.5",
"top_shell_layers": "5",
"top_shell_thickness": "1.0",
"initial_layer_speed": "35%",
"initial_layer_infill_speed": "35%",
"outer_wall_speed": "40",
"inner_wall_speed": "45",
"internal_solid_infill_speed": "40",
"top_surface_speed": "30",
"gap_infill_speed": "30",
"sparse_infill_speed": "60",
"travel_speed": "175",
"enable_prime_tower": "1",
"wipe_tower_no_sparse_layers": "0",
"prime_tower_width": "30",
"xy_hole_compensation": "0",
"xy_contour_compensation": "0",
"compatible_printers": [
"Lulzbot Mini 1 0.5 nozzle"
]
}