mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-27 02:41:17 +00:00
UltiMaker S5 Profile + Local API Support (#14062)
* Add Ultimaker S5 Profile - WIP * Add Ultimaker physical printer base * Ultimaker API WIP for base update. * Fix undefined reference error. * Add UMS5 profile, add placeholders for testAuth stuff. * Fix non-const func definitions, make func names align with style guide. * Localization stuff? IDK if this does anything or is required. * Add cover image * Auth code cleanup, add UI button for auth cred generation, implement various auth checks and tests. * Fix auth stuff * Clean up code * Get upload code sort-of working, fix typo * Update printer settings and start/end gcodes * Add makeGriffinCompatible preprocessor script to prevent machine crash, update machine profile. * Fix buildplate size, fix time missing bug, add S5 buildplate model * Correct capitalization to UltiMaker * Fix display bug, fix capitalization bug * Implement credential generation button and logic * Fix generate auth creds button, add todos, fix capitalization. * Actually fix generate auth credentials. * Fix generate auth creds message. * Update UM S5 machine limits * Revert accidental commit. * Fix postprocessor, clean up code. * Update presets for multi-extruder printing. * Add Single Extruder and Fast profiles. * Code cleanup * Register and validate the UltiMaker S5 presets * Show the Generate API Key button only for UltiMaker print hosts The PR added it to the Physical Printer dialog for every host type, where pressing it runs an ordinary connection test and reports "API Key created". Gate it on the selected host type instead. * Drop unused lambda captures in the UltiMaker host code clang promotes -Wunused-lambda-capture to an error under the project's -Werror, so the file failed to build on macOS; the five callbacks do not touch this. * Fix the Windows build of the UltiMaker print host --------- Co-authored-by: SoftFever <softfeverever@gmail.com>
This commit is contained in:
co-authored by
SoftFever
parent
505a46b280
commit
6e4be42a04
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"name": "UltiMaker S5 0.4 nozzle - Single Extruder",
|
||||
"inherits": "UltiMaker S5 0.4 nozzle",
|
||||
"from": "system",
|
||||
"setting_id": "7BKZlwffTrzDsUgj",
|
||||
"instantiation": "true",
|
||||
"printer_model": "UltiMaker S5",
|
||||
"default_print_profile": "0.18mm Standard @UltiMaker S5",
|
||||
"default_nozzle_volume_type": [
|
||||
"Standard"
|
||||
],
|
||||
"extruder_colour": [
|
||||
"#FCE94F"
|
||||
],
|
||||
"extruder_offset": [
|
||||
"0x0"
|
||||
],
|
||||
"extruder_type": [
|
||||
"Direct Drive"
|
||||
],
|
||||
"machine_start_gcode": "; NOTE: Do NOT remove the following header. It is necessary for the UM printer to not crash.\n;START_OF_HEADER\n;HEADER_VERSION:0.1\n;FLAVOR:Griffin\n;GENERATOR.NAME:OrcaSlicer\n;GENERATOR.VERSION:5.11.0\n;GENERATOR.BUILD_DATE:2016-06-23\n;TARGET_MACHINE.NAME:[printer_model]\n;EXTRUDER_TRAIN.0.INITIAL_TEMPERATURE:{first_layer_temperature[0]}\n;EXTRUDER_TRAIN.0.MATERIAL.VOLUME_USED:{extruded_volume[0]}\n;EXTRUDER_TRAIN.0.MATERIAL.GUID:506c9f0d-e3aa-4bd4-b2d2-23e2425b1aa9\n;EXTRUDER_TRAIN.0.NOZZLE.DIAMETER:{nozzle_diameter[0]}\n;EXTRUDER_TRAIN.0.NOZZLE.NAME:AA {nozzle_diameter[0]}\n;BUILD_PLATE.INITIAL_TEMPERATURE:[bed_temperature_initial_layer_single]\n;BUILD_VOLUME.TEMPERATURE:28\n;PRINT.TIME:2\n;PRINT.SIZE.MIN.X:{first_layer_print_min[0]}\n;PRINT.SIZE.MIN.Y:{first_layer_print_min[1]}\n;PRINT.SIZE.MIN.Z:{first_layer_height}\n;PRINT.SIZE.MAX.X:{first_layer_print_max[0]}\n;PRINT.SIZE.MAX.Y:{first_layer_print_max[1]}\n;PRINT.SIZE.MAX.Z:{int(total_layer_count * first_layer_height)}\n;END_OF_HEADER\nT[initial_extruder]\n\nM82 ;absolute extrusion mode\nG92 E0\nM190 S[bed_temperature_initial_layer_single] ; Wait for bed temp\nM104 T[initial_extruder] S[first_layer_temperature[initial_extruder]] ; Heat extruder\nM109 T[initial_extruder] S[first_layer_temperature[initial_extruder]] ; Wait for extruder temp\n\n; Set the settings we removed in the post-processing (orcaslicer generated header).\nM73 P0 R0 ;TODO change the R value into the total minutes of print\nM201 X[machine_max_acceleration_x] Y[machine_max_acceleration_y] Z[machine_max_acceleration_z] E[machine_max_acceleration_e] ; accel\nM203 X[machine_max_speed_x] Y[machine_max_speed_y] Z[machine_max_speed_z] E[machine_max_speed_e] ; max speed\nM204 S[machine_max_acceleration_extruding] ; starting accel\nM204 P[machine_max_acceleration_extruding] R[machine_max_acceleration_retracting] T[machine_max_acceleration_travel]\nM205 X[machine_max_jerk_x] Y[machine_max_jerk_y] Z[machine_max_jerk_z] E[machine_max_jerk_e] ; jerk limits\n\nM107; start with the fan off\n\n; Prime blob for left extruder\nG0 F9000 X4 Y6 Z2\nG280 ; g280 is UM-specific\nG1 F2700 E-6.5 ;retract\n\nM82; set extruder to absolute mode\n\n; End of the start gcode sequence.\n;LAYER_COUNT:[total_layer_count]",
|
||||
"max_layer_height": [
|
||||
"0.4"
|
||||
],
|
||||
"min_layer_height": [
|
||||
"0.06"
|
||||
],
|
||||
"nozzle_diameter": [
|
||||
"0.4"
|
||||
],
|
||||
"printer_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"printer_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,139 @@
|
||||
{
|
||||
"type": "machine",
|
||||
"name": "UltiMaker S5 0.4 nozzle",
|
||||
"inherits": "fdm_machine_common",
|
||||
"from": "system",
|
||||
"setting_id": "hmkJtw7J1KXbiYfj",
|
||||
"instantiation": "true",
|
||||
"printer_model": "UltiMaker S5",
|
||||
"default_print_profile": "0.18mm Standard @UltiMaker S5",
|
||||
"nozzle_diameter": [
|
||||
"0.4",
|
||||
"0.4"
|
||||
],
|
||||
"printable_area": [
|
||||
"0x0",
|
||||
"330x0",
|
||||
"330x240",
|
||||
"0x240"
|
||||
],
|
||||
"printable_height": "300",
|
||||
"extruder_clearance_height_to_rod": "60",
|
||||
"extruder_clearance_radius": "61",
|
||||
"nozzle_type": "brass",
|
||||
"auxiliary_fan": "0",
|
||||
"use_relative_e_distances": "0",
|
||||
"machine_max_acceleration_extruding": [
|
||||
"3500",
|
||||
"3500"
|
||||
],
|
||||
"machine_max_acceleration_retracting": [
|
||||
"3500",
|
||||
"3500"
|
||||
],
|
||||
"machine_max_acceleration_travel": [
|
||||
"3500",
|
||||
"3500"
|
||||
],
|
||||
"machine_max_acceleration_x": [
|
||||
"3500",
|
||||
"3500"
|
||||
],
|
||||
"machine_max_acceleration_y": [
|
||||
"3500",
|
||||
"3500"
|
||||
],
|
||||
"machine_max_acceleration_z": [
|
||||
"500",
|
||||
"500"
|
||||
],
|
||||
"machine_max_speed_e": [
|
||||
"120",
|
||||
"120"
|
||||
],
|
||||
"machine_max_speed_x": [
|
||||
"500",
|
||||
"500"
|
||||
],
|
||||
"machine_max_speed_y": [
|
||||
"500",
|
||||
"500"
|
||||
],
|
||||
"machine_max_speed_z": [
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"machine_max_jerk_e": [
|
||||
"2.5",
|
||||
"2.5"
|
||||
],
|
||||
"machine_max_jerk_x": [
|
||||
"20",
|
||||
"20"
|
||||
],
|
||||
"machine_max_jerk_y": [
|
||||
"20",
|
||||
"20"
|
||||
],
|
||||
"machine_max_jerk_z": [
|
||||
"0.4",
|
||||
"0.4"
|
||||
],
|
||||
"max_layer_height": [
|
||||
"0.4",
|
||||
"0.4"
|
||||
],
|
||||
"min_layer_height": [
|
||||
"0.06",
|
||||
"0.06"
|
||||
],
|
||||
"printer_settings_id": "Qidi",
|
||||
"retraction_minimum_travel": [
|
||||
"5"
|
||||
],
|
||||
"retract_before_wipe": [
|
||||
"70%"
|
||||
],
|
||||
"retraction_length": [
|
||||
"4.5"
|
||||
],
|
||||
"retract_length_toolchange": [
|
||||
"11"
|
||||
],
|
||||
"retraction_speed": [
|
||||
"45"
|
||||
],
|
||||
"deretraction_speed": [
|
||||
"0"
|
||||
],
|
||||
"wipe_distance": [
|
||||
"0.2"
|
||||
],
|
||||
"single_extruder_multi_material": "0",
|
||||
"change_filament_gcode": "; Set temps to avoid oozing\nM104 T{previous_extruder} S{old_filament_temp - 5}\nM104 T{next_extruder} S{new_filament_temp}\n; Change to next extruder\nT{next_extruder}",
|
||||
"machine_pause_gcode": "M0",
|
||||
"default_filament_profile": [
|
||||
"Generic PLA @System"
|
||||
],
|
||||
"z_hop": [
|
||||
"1"
|
||||
],
|
||||
"z_hop_types": [
|
||||
"Normal Lift"
|
||||
],
|
||||
"extruder_type": [
|
||||
"Direct Drive",
|
||||
"Direct Drive"
|
||||
],
|
||||
"extruder_offset": [
|
||||
"0x0",
|
||||
"0x22"
|
||||
],
|
||||
"extra_loading_move": "0",
|
||||
"before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\n",
|
||||
"fan_speedup_time": "0.5",
|
||||
"machine_start_gcode": "; NOTE: Do NOT remove the following header. It is necessary for the UM printer to not crash.\n;START_OF_HEADER\n;HEADER_VERSION:0.1\n;FLAVOR:Griffin\n;GENERATOR.NAME:OrcaSlicer\n;GENERATOR.VERSION:5.11.0\n;GENERATOR.BUILD_DATE:2016-06-23\n;TARGET_MACHINE.NAME:[printer_model]\n{if is_extruder_used[0]};EXTRUDER_TRAIN.0.INITIAL_TEMPERATURE:{first_layer_temperature[0]}\n;EXTRUDER_TRAIN.0.MATERIAL.VOLUME_USED:{extruded_volume[0]}\n;EXTRUDER_TRAIN.0.MATERIAL.GUID:506c9f0d-e3aa-4bd4-b2d2-23e2425b1aa9\n;EXTRUDER_TRAIN.0.NOZZLE.DIAMETER:{nozzle_diameter[0]}\n;EXTRUDER_TRAIN.0.NOZZLE.NAME:AA {nozzle_diameter[0]}{endif}\n{if is_extruder_used[1]};EXTRUDER_TRAIN.1.INITIAL_TEMPERATURE:{first_layer_temperature[1]}\n;EXTRUDER_TRAIN.1.MATERIAL.VOLUME_USED:{extruded_volume[1]}\n;EXTRUDER_TRAIN.1.MATERIAL.GUID:506c9f0d-e3aa-4bd4-b2d2-23e2425b1aa9\n;EXTRUDER_TRAIN.1.NOZZLE.DIAMETER:{nozzle_diameter[1]}\n;EXTRUDER_TRAIN.1.NOZZLE.NAME:AA {nozzle_diameter[1]}{endif}\n;BUILD_PLATE.INITIAL_TEMPERATURE:[bed_temperature_initial_layer_single]\n;BUILD_VOLUME.TEMPERATURE:28\n;PRINT.TIME:2\n;PRINT.SIZE.MIN.X:{first_layer_print_min[0]}\n;PRINT.SIZE.MIN.Y:{first_layer_print_min[1]}\n;PRINT.SIZE.MIN.Z:{first_layer_height}\n;PRINT.SIZE.MAX.X:{first_layer_print_max[0]}\n;PRINT.SIZE.MAX.Y:{first_layer_print_max[1]}\n;PRINT.SIZE.MAX.Z:{int(total_layer_count * first_layer_height)}\n;END_OF_HEADER\nT[initial_extruder]\n\nM82 ;absolute extrusion mode\nG92 E0\nM190 S[bed_temperature_initial_layer_single] ; Wait for bed temp\nM104 T[initial_extruder] S[first_layer_temperature[initial_extruder]] ; Heat extruder\nM109 T[initial_extruder] S[first_layer_temperature[initial_extruder]] ; Wait for extruder temp\n\n\n; Set the settings we removed in the post-processing (orcaslicer generated header).\nM73 P0 R0 ;TODO change the R value into the total minutes of print\nM201 X[machine_max_acceleration_x] Y[machine_max_acceleration_y] Z[machine_max_acceleration_z] E[machine_max_acceleration_e] ; accel\nM203 X[machine_max_speed_x] Y[machine_max_speed_y] Z[machine_max_speed_z] E[machine_max_speed_e] ; max speed\nM204 S[machine_max_acceleration_extruding] ; starting accel\nM204 P[machine_max_acceleration_extruding] R[machine_max_acceleration_retracting] T[machine_max_acceleration_travel]\nM205 X[machine_max_jerk_x] Y[machine_max_jerk_y] Z[machine_max_jerk_z] E[machine_max_jerk_e] ; jerk limits\n\nM107; start with the fan off\n\n{if is_extruder_used[0]}T0\n; Prime blob for left extruder\nG0 F9000 X4 Y6 Z2\nG280 ; g280 is UM-specific\nG1 F2700 E-6.5 ;retract{endif}\n\n{if is_extruder_used[1]}T1\n; Prime blob for right extruder\nG0 F9000 X-4 Y6 Z2\nG280 ; g280 is UM-specific\nG1 F2700 E-6.5 ;retract\n{if initial_extruder == 0}T0{endif}{endif}\n\n\n\nM82; set extruder to absolute mode\n\n; End of the start gcode sequence.\n;LAYER_COUNT:[total_layer_count]",
|
||||
"machine_end_gcode": "; Move toolhead out of the way\nG28 X Y\n\nM204 S3000; reset accel\nM107; fan off\n\n; heaters off\nM104 S0\nM104 T0 S0\nM104 T1 S0\nM140 S0\n\n; disable motors\nM84\n\n\nM82 ;absolute extrusion mode\n\n;End of Gcode\n",
|
||||
"machine_tool_change_time": "1.5",
|
||||
"scan_first_layer": "0"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"type": "machine_model",
|
||||
"name": "UltiMaker S5",
|
||||
"model_id": "UltiMaker-S5",
|
||||
"nozzle_diameter": "0.4",
|
||||
"machine_tech": "FFF",
|
||||
"family": "UltiMaker",
|
||||
"bed_model": "ultimaker_s5_buildplate_model.stl",
|
||||
"bed_texture": "ultimaker_2_buildplate_texture.png",
|
||||
"hotend_model": "ultimaker_hotend.stl",
|
||||
"default_materials": "Generic ABS @System;Generic PETG @System;Generic PLA @System"
|
||||
}
|
||||
@@ -112,5 +112,6 @@
|
||||
"default_print_profile": "",
|
||||
"before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n",
|
||||
"machine_start_gcode": "",
|
||||
"machine_end_gcode": ""
|
||||
"machine_end_gcode": "",
|
||||
"thumbnails": ""
|
||||
}
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.18mm Standard @UltiMaker S5",
|
||||
"inherits": "fdm_process_common",
|
||||
"from": "system",
|
||||
"setting_id": "UAhqUBDi1CzMB2Vg",
|
||||
"instantiation": "true",
|
||||
"ooze_prevention": "1",
|
||||
"preheat_time": "20",
|
||||
"reduce_crossing_wall": "0",
|
||||
"layer_height": "0.18",
|
||||
"max_travel_detour_distance": "0",
|
||||
"bottom_surface_pattern": "monotonic",
|
||||
"bottom_shell_layers": "4",
|
||||
"bottom_shell_thickness": "0.8",
|
||||
"bridge_flow": "1",
|
||||
"bridge_speed": "60",
|
||||
"brim_width": "0",
|
||||
"brim_object_gap": "0",
|
||||
"compatible_printers_condition": "",
|
||||
"print_sequence": "by layer",
|
||||
"default_acceleration": "0",
|
||||
"top_surface_acceleration": "0",
|
||||
"bridge_no_support": "0",
|
||||
"draft_shield": "disabled",
|
||||
"elefant_foot_compensation": "0",
|
||||
"enable_arc_fitting": "0",
|
||||
"outer_wall_line_width": "0.4",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"line_width": "0.45",
|
||||
"infill_direction": "45",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_pattern": "crosshatch",
|
||||
"initial_layer_acceleration": "500",
|
||||
"travel_acceleration": "0",
|
||||
"inner_wall_acceleration": "0",
|
||||
"initial_layer_line_width": "0.45",
|
||||
"initial_layer_print_height": "0.25",
|
||||
"infill_combination": "0",
|
||||
"sparse_infill_line_width": "0.5",
|
||||
"infill_wall_overlap": "35%",
|
||||
"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.45",
|
||||
"wall_loops": "3",
|
||||
"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.45",
|
||||
"spiral_mode": "0",
|
||||
"standby_temperature_delta": "-10",
|
||||
"enable_support": "0",
|
||||
"resolution": "0.012",
|
||||
"support_type": "normal(auto)",
|
||||
"support_style": "grid",
|
||||
"support_on_build_plate_only": "0",
|
||||
"support_top_z_distance": "0.2",
|
||||
"support_filament": "0",
|
||||
"support_line_width": "0.45",
|
||||
"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": "45",
|
||||
"support_threshold_angle": "30",
|
||||
"support_object_xy_distance": "50%",
|
||||
"tree_support_branch_angle": "40",
|
||||
"tree_support_wall_count": "0",
|
||||
"detect_thin_wall": "1",
|
||||
"top_surface_pattern": "monotonicline",
|
||||
"top_surface_line_width": "0.4",
|
||||
"top_shell_layers": "5",
|
||||
"top_shell_thickness": "0.8",
|
||||
"initial_layer_speed": "15",
|
||||
"initial_layer_infill_speed": "30",
|
||||
"initial_layer_travel_speed": "60",
|
||||
"outer_wall_speed": "30",
|
||||
"inner_wall_speed": "40",
|
||||
"internal_solid_infill_speed": "40",
|
||||
"top_surface_speed": "15",
|
||||
"gap_infill_speed": "20",
|
||||
"sparse_infill_speed": "40",
|
||||
"travel_speed": "120",
|
||||
"enable_prime_tower": "0",
|
||||
"wipe_tower_no_sparse_layers": "0",
|
||||
"prime_tower_width": "60",
|
||||
"xy_hole_compensation": "0",
|
||||
"xy_contour_compensation": "0",
|
||||
"compatible_printers": [
|
||||
"UltiMaker S5 0.4 nozzle",
|
||||
"UltiMaker S5 0.4 nozzle - Single Extruder"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"type": "process",
|
||||
"name": "0.2mm Fast @UltiMaker S5",
|
||||
"inherits": "0.18mm Standard @UltiMaker S5",
|
||||
"from": "system",
|
||||
"setting_id": "Ai0I1drAIYiCbydj",
|
||||
"instantiation": "true",
|
||||
"default_acceleration": "3500",
|
||||
"default_jerk": "20",
|
||||
"enable_support": "1",
|
||||
"gap_infill_speed": "25",
|
||||
"infill_combination": "1",
|
||||
"infill_combination_max_layer_height": "80%",
|
||||
"infill_jerk": "20",
|
||||
"initial_layer_acceleration": "1500",
|
||||
"initial_layer_infill_speed": "40",
|
||||
"initial_layer_jerk": "10",
|
||||
"initial_layer_speed": "30",
|
||||
"initial_layer_travel_speed": "150",
|
||||
"inner_wall_acceleration": "3500",
|
||||
"inner_wall_jerk": "20",
|
||||
"inner_wall_speed": "100",
|
||||
"layer_height": "0.2",
|
||||
"outer_wall_acceleration": "1500",
|
||||
"outer_wall_jerk": "10",
|
||||
"print_extruder_id": [
|
||||
"1"
|
||||
],
|
||||
"print_extruder_variant": [
|
||||
"Direct Drive Standard"
|
||||
],
|
||||
"print_settings_id": "",
|
||||
"sparse_infill_pattern": "adaptivecubic",
|
||||
"sparse_infill_speed": "100",
|
||||
"support_style": "default",
|
||||
"support_type": "tree(auto)",
|
||||
"top_shell_layers": "1",
|
||||
"top_surface_acceleration": "1500",
|
||||
"top_surface_jerk": "10",
|
||||
"top_surface_speed": "45",
|
||||
"travel_acceleration": "3500",
|
||||
"travel_jerk": "20",
|
||||
"travel_speed": "150",
|
||||
"wall_loops": "2"
|
||||
}
|
||||
Binary file not shown.
Reference in New Issue
Block a user