mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-08-11 00:30:12 -04:00
The Profiles page edit modal (shared by BL Cloud / Orca Cloud / Local Profiles) renders filament_type from backend/app/data/filament_fields.json via GET /cloud/fields/filament. The curated 11-option list pre-dated Bambu's CF/GF lineup expansion, so PLA-CF and most carbon/glass-fiber variants were unselectable — saved presets carried the wrong material code at dispatch. Expanded to 25 BambuStudio-aligned options grouped by family: PLA (+ CF/GF/ AERO), PETG (+ CF), ABS (+ GF), ASA (+ CF/GF), PC, PCTG, PA family (+ CF/ PAHT-CF/PA6-CF/PA6-GF), PET-CF, TPU, PPS family (+ CF/GF for X1E), PVA, HIPS. K-profiles editor unaffected (picks filament_id, not filament_type).
639 lines
18 KiB
JSON
639 lines
18 KiB
JSON
{
|
|
"version": "1.0.0",
|
|
"description": "Filament preset field definitions for Bambu Lab printers",
|
|
"fields": [
|
|
{
|
|
"key": "filament_vendor",
|
|
"label": "Vendor",
|
|
"type": "text",
|
|
"category": "basic",
|
|
"description": "Filament manufacturer name"
|
|
},
|
|
{
|
|
"key": "filament_type",
|
|
"label": "Filament Type",
|
|
"type": "select",
|
|
"category": "basic",
|
|
"description": "Material type",
|
|
"options": [
|
|
{"value": "PLA", "label": "PLA"},
|
|
{"value": "PLA-CF", "label": "PLA-CF"},
|
|
{"value": "PLA-GF", "label": "PLA-GF"},
|
|
{"value": "PLA-AERO", "label": "PLA Aero"},
|
|
{"value": "PETG", "label": "PETG"},
|
|
{"value": "PETG-CF", "label": "PETG-CF"},
|
|
{"value": "ABS", "label": "ABS"},
|
|
{"value": "ABS-GF", "label": "ABS-GF"},
|
|
{"value": "ASA", "label": "ASA"},
|
|
{"value": "ASA-CF", "label": "ASA-CF"},
|
|
{"value": "ASA-GF", "label": "ASA-GF"},
|
|
{"value": "PC", "label": "PC"},
|
|
{"value": "PCTG", "label": "PCTG"},
|
|
{"value": "PA", "label": "PA (Nylon)"},
|
|
{"value": "PA-CF", "label": "PA-CF"},
|
|
{"value": "PAHT-CF", "label": "PAHT-CF"},
|
|
{"value": "PA6-CF", "label": "PA6-CF"},
|
|
{"value": "PA6-GF", "label": "PA6-GF"},
|
|
{"value": "PET-CF", "label": "PET-CF"},
|
|
{"value": "TPU", "label": "TPU"},
|
|
{"value": "PPS", "label": "PPS"},
|
|
{"value": "PPS-CF", "label": "PPS-CF"},
|
|
{"value": "PPS-GF", "label": "PPS-GF"},
|
|
{"value": "PVA", "label": "PVA"},
|
|
{"value": "HIPS", "label": "HIPS"}
|
|
]
|
|
},
|
|
{
|
|
"key": "filament_cost",
|
|
"label": "Filament Cost",
|
|
"type": "number",
|
|
"category": "basic",
|
|
"description": "Cost per kg",
|
|
"unit": "$/kg"
|
|
},
|
|
{
|
|
"key": "filament_density",
|
|
"label": "Density",
|
|
"type": "number",
|
|
"category": "basic",
|
|
"description": "Material density",
|
|
"unit": "g/cm³",
|
|
"step": 0.01
|
|
},
|
|
{
|
|
"key": "filament_diameter",
|
|
"label": "Filament Diameter",
|
|
"type": "number",
|
|
"category": "basic",
|
|
"description": "Filament diameter",
|
|
"unit": "mm",
|
|
"step": 0.01,
|
|
"min": 1.5,
|
|
"max": 3.0
|
|
},
|
|
{
|
|
"key": "nozzle_temperature",
|
|
"label": "Nozzle Temperature",
|
|
"type": "text",
|
|
"category": "temperature",
|
|
"description": "Printing temperature (comma-separated: normal,first layer)",
|
|
"unit": "°C"
|
|
},
|
|
{
|
|
"key": "nozzle_temperature_initial_layer",
|
|
"label": "Initial Layer Nozzle Temp",
|
|
"type": "text",
|
|
"category": "temperature",
|
|
"description": "First layer nozzle temperature",
|
|
"unit": "°C"
|
|
},
|
|
{
|
|
"key": "nozzle_temperature_range_low",
|
|
"label": "Min Nozzle Temp",
|
|
"type": "number",
|
|
"category": "temperature",
|
|
"description": "Minimum recommended nozzle temperature",
|
|
"unit": "°C",
|
|
"min": 150,
|
|
"max": 350
|
|
},
|
|
{
|
|
"key": "nozzle_temperature_range_high",
|
|
"label": "Max Nozzle Temp",
|
|
"type": "number",
|
|
"category": "temperature",
|
|
"description": "Maximum recommended nozzle temperature",
|
|
"unit": "°C",
|
|
"min": 150,
|
|
"max": 350
|
|
},
|
|
{
|
|
"key": "hot_plate_temp",
|
|
"label": "Bed Temperature (Hot Plate)",
|
|
"type": "number",
|
|
"category": "temperature",
|
|
"description": "Bed temperature for standard plate",
|
|
"unit": "°C",
|
|
"min": 0,
|
|
"max": 120
|
|
},
|
|
{
|
|
"key": "hot_plate_temp_initial_layer",
|
|
"label": "Initial Layer Bed Temp (Hot Plate)",
|
|
"type": "number",
|
|
"category": "temperature",
|
|
"description": "First layer bed temperature for standard plate",
|
|
"unit": "°C",
|
|
"min": 0,
|
|
"max": 120
|
|
},
|
|
{
|
|
"key": "cool_plate_temp",
|
|
"label": "Bed Temperature (Cool Plate)",
|
|
"type": "number",
|
|
"category": "temperature",
|
|
"description": "Bed temperature for cool plate",
|
|
"unit": "°C",
|
|
"min": 0,
|
|
"max": 120
|
|
},
|
|
{
|
|
"key": "cool_plate_temp_initial_layer",
|
|
"label": "Initial Layer Bed Temp (Cool Plate)",
|
|
"type": "number",
|
|
"category": "temperature",
|
|
"description": "First layer bed temperature for cool plate",
|
|
"unit": "°C",
|
|
"min": 0,
|
|
"max": 120
|
|
},
|
|
{
|
|
"key": "eng_plate_temp",
|
|
"label": "Bed Temperature (Engineering Plate)",
|
|
"type": "number",
|
|
"category": "temperature",
|
|
"description": "Bed temperature for engineering plate",
|
|
"unit": "°C",
|
|
"min": 0,
|
|
"max": 120
|
|
},
|
|
{
|
|
"key": "eng_plate_temp_initial_layer",
|
|
"label": "Initial Layer Bed Temp (Eng Plate)",
|
|
"type": "number",
|
|
"category": "temperature",
|
|
"description": "First layer bed temperature for engineering plate",
|
|
"unit": "°C",
|
|
"min": 0,
|
|
"max": 120
|
|
},
|
|
{
|
|
"key": "textured_plate_temp",
|
|
"label": "Bed Temperature (Textured Plate)",
|
|
"type": "number",
|
|
"category": "temperature",
|
|
"description": "Bed temperature for textured plate",
|
|
"unit": "°C",
|
|
"min": 0,
|
|
"max": 120
|
|
},
|
|
{
|
|
"key": "textured_plate_temp_initial_layer",
|
|
"label": "Initial Layer Bed Temp (Textured)",
|
|
"type": "number",
|
|
"category": "temperature",
|
|
"description": "First layer bed temperature for textured plate",
|
|
"unit": "°C",
|
|
"min": 0,
|
|
"max": 120
|
|
},
|
|
{
|
|
"key": "temperature_vitrification",
|
|
"label": "Glass Transition Temperature",
|
|
"type": "number",
|
|
"category": "temperature",
|
|
"description": "Glass transition temperature of material",
|
|
"unit": "°C"
|
|
},
|
|
{
|
|
"key": "pressure_advance",
|
|
"label": "Pressure Advance",
|
|
"type": "number",
|
|
"category": "flow",
|
|
"description": "Pressure advance value for linear advance",
|
|
"step": 0.001,
|
|
"min": 0,
|
|
"max": 0.2
|
|
},
|
|
{
|
|
"key": "enable_pressure_advance",
|
|
"label": "Enable Pressure Advance",
|
|
"type": "boolean",
|
|
"category": "flow",
|
|
"description": "Enable pressure advance compensation"
|
|
},
|
|
{
|
|
"key": "filament_flow_ratio",
|
|
"label": "Flow Ratio",
|
|
"type": "number",
|
|
"category": "flow",
|
|
"description": "Flow rate multiplier",
|
|
"step": 0.01,
|
|
"min": 0.8,
|
|
"max": 1.2
|
|
},
|
|
{
|
|
"key": "filament_max_volumetric_speed",
|
|
"label": "Max Volumetric Speed",
|
|
"type": "text",
|
|
"category": "flow",
|
|
"description": "Maximum volumetric flow rate (comma-separated values)",
|
|
"unit": "mm³/s"
|
|
},
|
|
{
|
|
"key": "fan_min_speed",
|
|
"label": "Min Fan Speed",
|
|
"type": "number",
|
|
"category": "cooling",
|
|
"description": "Minimum part cooling fan speed",
|
|
"unit": "%",
|
|
"min": 0,
|
|
"max": 100
|
|
},
|
|
{
|
|
"key": "fan_max_speed",
|
|
"label": "Max Fan Speed",
|
|
"type": "number",
|
|
"category": "cooling",
|
|
"description": "Maximum part cooling fan speed",
|
|
"unit": "%",
|
|
"min": 0,
|
|
"max": 100
|
|
},
|
|
{
|
|
"key": "fan_cooling_layer_time",
|
|
"label": "Fan Cooling Layer Time",
|
|
"type": "number",
|
|
"category": "cooling",
|
|
"description": "Layer time threshold for max fan",
|
|
"unit": "s",
|
|
"min": 0,
|
|
"max": 120
|
|
},
|
|
{
|
|
"key": "slow_down_layer_time",
|
|
"label": "Slow Down Layer Time",
|
|
"type": "number",
|
|
"category": "cooling",
|
|
"description": "Minimum layer time before slowing down",
|
|
"unit": "s",
|
|
"min": 0,
|
|
"max": 60
|
|
},
|
|
{
|
|
"key": "slow_down_min_speed",
|
|
"label": "Slow Down Min Speed",
|
|
"type": "number",
|
|
"category": "cooling",
|
|
"description": "Minimum speed when slowing down for cooling",
|
|
"unit": "mm/s",
|
|
"min": 5,
|
|
"max": 100
|
|
},
|
|
{
|
|
"key": "close_fan_the_first_x_layers",
|
|
"label": "Disable Fan First Layers",
|
|
"type": "number",
|
|
"category": "cooling",
|
|
"description": "Number of initial layers without fan",
|
|
"min": 0,
|
|
"max": 10
|
|
},
|
|
{
|
|
"key": "overhang_fan_threshold",
|
|
"label": "Overhang Fan Threshold",
|
|
"type": "text",
|
|
"category": "cooling",
|
|
"description": "Overhang angle to trigger fan boost"
|
|
},
|
|
{
|
|
"key": "overhang_fan_speed",
|
|
"label": "Overhang Fan Speed",
|
|
"type": "number",
|
|
"category": "cooling",
|
|
"description": "Fan speed for overhangs",
|
|
"unit": "%",
|
|
"min": 0,
|
|
"max": 100
|
|
},
|
|
{
|
|
"key": "reduce_fan_stop_start_freq",
|
|
"label": "Reduce Fan Stop/Start Frequency",
|
|
"type": "boolean",
|
|
"category": "cooling",
|
|
"description": "Prevent frequent fan speed changes"
|
|
},
|
|
{
|
|
"key": "activate_air_filtration",
|
|
"label": "Activate Air Filtration",
|
|
"type": "boolean",
|
|
"category": "chamber",
|
|
"description": "Enable chamber air filtration during print"
|
|
},
|
|
{
|
|
"key": "during_print_exhaust_fan_speed",
|
|
"label": "Exhaust Fan Speed (During Print)",
|
|
"type": "number",
|
|
"category": "chamber",
|
|
"description": "Exhaust fan speed during printing",
|
|
"unit": "%",
|
|
"min": 0,
|
|
"max": 100
|
|
},
|
|
{
|
|
"key": "complete_print_exhaust_fan_speed",
|
|
"label": "Exhaust Fan Speed (After Print)",
|
|
"type": "number",
|
|
"category": "chamber",
|
|
"description": "Exhaust fan speed after print completes",
|
|
"unit": "%",
|
|
"min": 0,
|
|
"max": 100
|
|
},
|
|
{
|
|
"key": "activate_chamber_temp_control",
|
|
"label": "Chamber Temp Control",
|
|
"type": "boolean",
|
|
"category": "chamber",
|
|
"description": "Enable active chamber temperature control"
|
|
},
|
|
{
|
|
"key": "chamber_temperature",
|
|
"label": "Chamber Temperature",
|
|
"type": "number",
|
|
"category": "chamber",
|
|
"description": "Target chamber temperature",
|
|
"unit": "°C",
|
|
"min": 0,
|
|
"max": 60
|
|
},
|
|
{
|
|
"key": "filament_retraction_length",
|
|
"label": "Retraction Length",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Length of filament to retract",
|
|
"unit": "mm",
|
|
"step": 0.1,
|
|
"min": 0,
|
|
"max": 10
|
|
},
|
|
{
|
|
"key": "filament_retract_before_wipe",
|
|
"label": "Retract Before Wipe",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Percentage of retraction before wipe",
|
|
"unit": "%",
|
|
"min": 0,
|
|
"max": 100
|
|
},
|
|
{
|
|
"key": "filament_retraction_speed",
|
|
"label": "Retraction Speed",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Speed for retraction moves",
|
|
"unit": "mm/s",
|
|
"min": 10,
|
|
"max": 120
|
|
},
|
|
{
|
|
"key": "filament_deretraction_speed",
|
|
"label": "Deretraction Speed",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Speed for priming after retraction",
|
|
"unit": "mm/s",
|
|
"min": 10,
|
|
"max": 120
|
|
},
|
|
{
|
|
"key": "filament_retract_restart_extra",
|
|
"label": "Extra Length on Restart",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Extra filament to prime after retraction",
|
|
"unit": "mm",
|
|
"step": 0.01
|
|
},
|
|
{
|
|
"key": "filament_retract_when_changing_layer",
|
|
"label": "Retract on Layer Change",
|
|
"type": "boolean",
|
|
"category": "retraction",
|
|
"description": "Force retraction when changing layers"
|
|
},
|
|
{
|
|
"key": "filament_wipe",
|
|
"label": "Enable Wipe",
|
|
"type": "boolean",
|
|
"category": "retraction",
|
|
"description": "Enable nozzle wipe during retraction"
|
|
},
|
|
{
|
|
"key": "filament_wipe_distance",
|
|
"label": "Wipe Distance",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Distance to wipe while retracting",
|
|
"unit": "mm",
|
|
"step": 0.1
|
|
},
|
|
{
|
|
"key": "filament_z_hop",
|
|
"label": "Z Hop Height",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Lift height during travel moves",
|
|
"unit": "mm",
|
|
"step": 0.1,
|
|
"min": 0,
|
|
"max": 2
|
|
},
|
|
{
|
|
"key": "filament_z_hop_types",
|
|
"label": "Z Hop Type",
|
|
"type": "select",
|
|
"category": "retraction",
|
|
"description": "Type of Z hop motion",
|
|
"options": [
|
|
{"value": "Normal Lift", "label": "Normal Lift"},
|
|
{"value": "Slope Lift", "label": "Slope Lift"},
|
|
{"value": "Spiral Lift", "label": "Spiral Lift"}
|
|
]
|
|
},
|
|
{
|
|
"key": "filament_retraction_minimum_travel",
|
|
"label": "Min Travel After Retraction",
|
|
"type": "number",
|
|
"category": "retraction",
|
|
"description": "Minimum travel distance to trigger retraction",
|
|
"unit": "mm",
|
|
"step": 0.1
|
|
},
|
|
{
|
|
"key": "filament_retract_layer_change",
|
|
"label": "Retract on Layer Change",
|
|
"type": "boolean",
|
|
"category": "retraction",
|
|
"description": "Retract when layer changes"
|
|
},
|
|
{
|
|
"key": "filament_colour",
|
|
"label": "Filament Color",
|
|
"type": "text",
|
|
"category": "appearance",
|
|
"description": "Filament color (hex format #RRGGBB)"
|
|
},
|
|
{
|
|
"key": "default_filament_colour",
|
|
"label": "Default Filament Color",
|
|
"type": "text",
|
|
"category": "appearance",
|
|
"description": "Default color for this filament type"
|
|
},
|
|
{
|
|
"key": "filament_is_support",
|
|
"label": "Is Support Material",
|
|
"type": "boolean",
|
|
"category": "advanced",
|
|
"description": "Mark as support material filament"
|
|
},
|
|
{
|
|
"key": "filament_soluble",
|
|
"label": "Soluble Material",
|
|
"type": "boolean",
|
|
"category": "advanced",
|
|
"description": "Material dissolves in liquid"
|
|
},
|
|
{
|
|
"key": "required_nozzle_HRC",
|
|
"label": "Required Nozzle HRC",
|
|
"type": "number",
|
|
"category": "advanced",
|
|
"description": "Minimum nozzle hardness required",
|
|
"min": 0,
|
|
"max": 100
|
|
},
|
|
{
|
|
"key": "filament_start_gcode",
|
|
"label": "Filament Start G-code",
|
|
"type": "text",
|
|
"category": "gcode",
|
|
"description": "G-code executed when switching to this filament"
|
|
},
|
|
{
|
|
"key": "filament_end_gcode",
|
|
"label": "Filament End G-code",
|
|
"type": "text",
|
|
"category": "gcode",
|
|
"description": "G-code executed when switching from this filament"
|
|
},
|
|
{
|
|
"key": "filament_loading_speed",
|
|
"label": "Loading Speed",
|
|
"type": "number",
|
|
"category": "ams",
|
|
"description": "Speed for loading filament",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "filament_loading_speed_start",
|
|
"label": "Loading Start Speed",
|
|
"type": "number",
|
|
"category": "ams",
|
|
"description": "Initial speed when loading filament",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "filament_unloading_speed",
|
|
"label": "Unloading Speed",
|
|
"type": "number",
|
|
"category": "ams",
|
|
"description": "Speed for unloading filament",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "filament_unloading_speed_start",
|
|
"label": "Unloading Start Speed",
|
|
"type": "number",
|
|
"category": "ams",
|
|
"description": "Initial speed when unloading filament",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "filament_toolchange_delay",
|
|
"label": "Toolchange Delay",
|
|
"type": "number",
|
|
"category": "ams",
|
|
"description": "Delay after tool change",
|
|
"unit": "s"
|
|
},
|
|
{
|
|
"key": "filament_cooling_moves",
|
|
"label": "Cooling Moves",
|
|
"type": "number",
|
|
"category": "ams",
|
|
"description": "Number of cooling moves during unload"
|
|
},
|
|
{
|
|
"key": "filament_cooling_initial_speed",
|
|
"label": "Cooling Initial Speed",
|
|
"type": "number",
|
|
"category": "ams",
|
|
"description": "Initial speed for tip shaping cooling moves",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "filament_cooling_final_speed",
|
|
"label": "Cooling Final Speed",
|
|
"type": "number",
|
|
"category": "ams",
|
|
"description": "Final speed for tip shaping cooling moves",
|
|
"unit": "mm/s"
|
|
},
|
|
{
|
|
"key": "filament_ramming_parameters",
|
|
"label": "Ramming Parameters",
|
|
"type": "text",
|
|
"category": "ams",
|
|
"description": "Ramming sequence parameters"
|
|
},
|
|
{
|
|
"key": "filament_minimal_purge_on_wipe_tower",
|
|
"label": "Min Purge on Wipe Tower",
|
|
"type": "number",
|
|
"category": "ams",
|
|
"description": "Minimum purge volume on wipe tower",
|
|
"unit": "mm³"
|
|
},
|
|
{
|
|
"key": "filament_multitool_ramming",
|
|
"label": "Multitool Ramming",
|
|
"type": "boolean",
|
|
"category": "ams",
|
|
"description": "Enable ramming for multi-tool"
|
|
},
|
|
{
|
|
"key": "filament_multitool_ramming_volume",
|
|
"label": "Multitool Ramming Volume",
|
|
"type": "number",
|
|
"category": "ams",
|
|
"description": "Volume to ram during multi-tool change",
|
|
"unit": "mm³"
|
|
},
|
|
{
|
|
"key": "filament_multitool_ramming_flow",
|
|
"label": "Multitool Ramming Flow",
|
|
"type": "number",
|
|
"category": "ams",
|
|
"description": "Flow rate during multi-tool ramming",
|
|
"unit": "mm³/s"
|
|
},
|
|
{
|
|
"key": "filament_long_retractions_when_cut",
|
|
"label": "Long Retractions When Cut",
|
|
"type": "boolean",
|
|
"category": "ams",
|
|
"description": "Use long retraction when cutting filament"
|
|
},
|
|
{
|
|
"key": "filament_retraction_distances_when_cut",
|
|
"label": "Retraction Distance When Cut",
|
|
"type": "text",
|
|
"category": "ams",
|
|
"description": "Retraction distance during filament cut"
|
|
}
|
|
]
|
|
}
|