diff --git a/localization/i18n/list.txt b/localization/i18n/list.txt
index f922c7878bf..f3792b34535 100644
--- a/localization/i18n/list.txt
+++ b/localization/i18n/list.txt
@@ -1,3 +1,7 @@
+src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.h
+src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.cpp
+src/slic3r/GUI/DeviceTab/uiDeviceUpdateVersion.h
+src/slic3r/GUI/DeviceTab/uiDeviceUpdateVersion.cpp
src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp
src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp
src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp
diff --git a/resources/images/air_pump.svg b/resources/images/air_pump.svg
new file mode 100644
index 00000000000..799588ec2e1
--- /dev/null
+++ b/resources/images/air_pump.svg
@@ -0,0 +1,396 @@
+
diff --git a/resources/images/air_pump_dark.svg b/resources/images/air_pump_dark.svg
new file mode 100644
index 00000000000..2f075c21321
--- /dev/null
+++ b/resources/images/air_pump_dark.svg
@@ -0,0 +1,396 @@
+
diff --git a/resources/images/ams_drying.svg b/resources/images/ams_drying.svg
new file mode 100644
index 00000000000..e6f9fb9f634
--- /dev/null
+++ b/resources/images/ams_drying.svg
@@ -0,0 +1,10 @@
+
diff --git a/resources/images/ams_is_drying.svg b/resources/images/ams_is_drying.svg
new file mode 100644
index 00000000000..a6c02f1a794
--- /dev/null
+++ b/resources/images/ams_is_drying.svg
@@ -0,0 +1,3 @@
+
diff --git a/resources/images/cut.svg b/resources/images/cut.svg
new file mode 100644
index 00000000000..f04edf7b395
--- /dev/null
+++ b/resources/images/cut.svg
@@ -0,0 +1,177 @@
+
diff --git a/resources/images/hum_level1_no_num_dark.svg b/resources/images/hum_level1_no_num_dark.svg
new file mode 100644
index 00000000000..865a6c4a7f3
--- /dev/null
+++ b/resources/images/hum_level1_no_num_dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/resources/images/hum_level1_no_num_light.svg b/resources/images/hum_level1_no_num_light.svg
new file mode 100644
index 00000000000..be7c282e144
--- /dev/null
+++ b/resources/images/hum_level1_no_num_light.svg
@@ -0,0 +1,4 @@
+
diff --git a/resources/images/hum_level2_no_num_dark.svg b/resources/images/hum_level2_no_num_dark.svg
new file mode 100644
index 00000000000..9b47beef091
--- /dev/null
+++ b/resources/images/hum_level2_no_num_dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/resources/images/hum_level2_no_num_light.svg b/resources/images/hum_level2_no_num_light.svg
new file mode 100644
index 00000000000..b84791da268
--- /dev/null
+++ b/resources/images/hum_level2_no_num_light.svg
@@ -0,0 +1,4 @@
+
diff --git a/resources/images/hum_level3_no_num_dark.svg b/resources/images/hum_level3_no_num_dark.svg
new file mode 100644
index 00000000000..b5b08a15050
--- /dev/null
+++ b/resources/images/hum_level3_no_num_dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/resources/images/hum_level3_no_num_light.svg b/resources/images/hum_level3_no_num_light.svg
new file mode 100644
index 00000000000..e1fbd560f77
--- /dev/null
+++ b/resources/images/hum_level3_no_num_light.svg
@@ -0,0 +1,4 @@
+
diff --git a/resources/images/hum_level4_no_num_dark.svg b/resources/images/hum_level4_no_num_dark.svg
new file mode 100644
index 00000000000..980ada05d86
--- /dev/null
+++ b/resources/images/hum_level4_no_num_dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/resources/images/hum_level4_no_num_light.svg b/resources/images/hum_level4_no_num_light.svg
new file mode 100644
index 00000000000..4fb5bc7c617
--- /dev/null
+++ b/resources/images/hum_level4_no_num_light.svg
@@ -0,0 +1,4 @@
+
diff --git a/resources/images/hum_level5_no_num_dark.svg b/resources/images/hum_level5_no_num_dark.svg
new file mode 100644
index 00000000000..ab55eff332a
--- /dev/null
+++ b/resources/images/hum_level5_no_num_dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/resources/images/hum_level5_no_num_light.svg b/resources/images/hum_level5_no_num_light.svg
new file mode 100644
index 00000000000..c96f344b07a
--- /dev/null
+++ b/resources/images/hum_level5_no_num_light.svg
@@ -0,0 +1,4 @@
+
diff --git a/resources/images/input_access_code_h2d_cn.png b/resources/images/input_access_code_h2d_cn.png
new file mode 100644
index 00000000000..1a29777339f
Binary files /dev/null and b/resources/images/input_access_code_h2d_cn.png differ
diff --git a/resources/images/input_access_code_h2d_en.png b/resources/images/input_access_code_h2d_en.png
new file mode 100644
index 00000000000..a5bfc3b1546
Binary files /dev/null and b/resources/images/input_access_code_h2d_en.png differ
diff --git a/resources/images/laser.svg b/resources/images/laser.svg
new file mode 100644
index 00000000000..7380a6d8064
--- /dev/null
+++ b/resources/images/laser.svg
@@ -0,0 +1,249 @@
+
diff --git a/resources/images/printer_thumbnail_h2d.svg b/resources/images/printer_thumbnail_h2d.svg
new file mode 100644
index 00000000000..9108233afc1
--- /dev/null
+++ b/resources/images/printer_thumbnail_h2d.svg
@@ -0,0 +1,531 @@
+
diff --git a/resources/images/printer_thumbnail_h2d_dark.svg b/resources/images/printer_thumbnail_h2d_dark.svg
new file mode 100644
index 00000000000..050c20f449a
--- /dev/null
+++ b/resources/images/printer_thumbnail_h2d_dark.svg
@@ -0,0 +1,533 @@
+
diff --git a/resources/images/rename_edit.svg b/resources/images/rename_edit.svg
new file mode 100644
index 00000000000..03e40f40c7b
--- /dev/null
+++ b/resources/images/rename_edit.svg
@@ -0,0 +1,10 @@
+
diff --git a/resources/printers/C11.json b/resources/printers/C11.json
index a2cbbb078a5..83c403b44a1 100644
--- a/resources/printers/C11.json
+++ b/resources/printers/C11.json
@@ -84,5 +84,10 @@
},
"support_user_preset":true
}
+ },
+ "01.07.50.00": {
+ "print": {
+ "support_print_all": true
+ }
}
}
diff --git a/resources/printers/C12.json b/resources/printers/C12.json
index 5cc12a1a66f..66f7f3a9745 100644
--- a/resources/printers/C12.json
+++ b/resources/printers/C12.json
@@ -76,5 +76,10 @@
},
"support_user_preset":true
}
+ },
+ "01.07.50.00": {
+ "print": {
+ "support_print_all": true
+ }
}
}
diff --git a/resources/printers/O1D.json b/resources/printers/O1D.json
new file mode 100644
index 00000000000..3892481cdd8
--- /dev/null
+++ b/resources/printers/O1D.json
@@ -0,0 +1,74 @@
+{
+ "00.00.00.00": {
+ "display_name": "Bambu Lab H2D",
+ "print": {
+ "2D": {
+ "laser": {
+ "power": [ 10, 40 ]
+ }
+ },
+ "ipcam": {
+ "resolution_supported": [ "1080p" ],
+ "virtual_camera": "enabled",
+ "liveview": {
+ "remote": "tutk"
+ },
+ "file": {
+ "local": "local",
+ "remote": "tutk",
+ "model_download": "enabled"
+ }
+ },
+ "nozzle_temp_range": [ 20, 350 ],
+ "bed_temp_range": [ 20, 120 ],
+ "support_motor_noise_cali": false,
+ "support_tunnel_mqtt": true,
+ "support_mqtt_alive": true,
+ "support_command_ams_switch": true,
+ "support_ssl_for_mqtt": true,
+ "support_cloud_print_only": false,
+ "support_1080dpi": true,
+ "support_prompt_sound": false,
+ "support_ams_humidity": true,
+ "support_auto_recovery_step_loss": true,
+ "support_bed_leveling": 2,
+ "support_update_remain": true,
+ "support_timelapse": true,
+ "support_filament_backup": true,
+ "support_chamber_fan": true,
+ "support_aux_fan": true,
+ "support_send_to_sd": true,
+ "support_print_all": true,
+ "support_print_without_sd": true,
+ "support_flow_calibration": true,
+ "support_auto_flow_calibration": true,
+ "support_build_plate_marker_detect": true,
+ "support_build_plate_marker_detect_type": 2,
+ "support_lidar_calibration": false,
+ "support_nozzle_offset_calibration": true,
+ "support_high_tempbed_calibration": true,
+ "support_ai_monitoring": true,
+ "support_first_layer_inspect": false,
+ "support_save_remote_print_file_to_storage": true,
+ "support_chamber_temp_edit": true,
+ "support_chamber_temp_edit_range": [ 20, 65 ],
+ "support_chamber_temp_switch_heating": 40,
+ "support_extrusion_cali": false,
+ "support_user_preset": false
+ },
+ "model_id": "O1D",
+ "printer_modes": [ "fdm", "laser", "cut" ],
+ "compatible_machine": [],
+ "printer_type": "O1D",
+ "printer_thumbnail_image": "printer_thumbnail_h2d",
+ "printer_connect_help_image": "input_access_code_h2d",
+ "printer_use_ams_image": "ams_icon",
+ "printer_ext_image": ["ext_image_o_right", "ext_image_o_left"],
+ "use_ams_type": "generic",
+ "printer_arch": "core_xy",
+ "printer_series": "series_o",
+ "has_cali_line": true,
+ "printer_is_enclosed": true,
+ "enable_set_nozzle_info": false
+ }
+}
\ No newline at end of file
diff --git a/resources/profiles/BBL.json b/resources/profiles/BBL.json
index 10383cb01e5..f38e7c2a742 100644
--- a/resources/profiles/BBL.json
+++ b/resources/profiles/BBL.json
@@ -40,92 +40,92 @@
"sub_path": "process/fdm_process_common.json"
},
{
- "name": "fdm_process_bbl_common",
- "sub_path": "process/fdm_process_bbl_common.json"
+ "name": "fdm_process_single_common",
+ "sub_path": "process/fdm_process_single_common.json"
},
{
- "name": "fdm_process_bbl_0.08",
- "sub_path": "process/fdm_process_bbl_0.08.json"
+ "name": "fdm_process_single_0.08",
+ "sub_path": "process/fdm_process_single_0.08.json"
},
{
- "name": "fdm_process_bbl_0.10_nozzle_0.2",
- "sub_path": "process/fdm_process_bbl_0.10_nozzle_0.2.json"
+ "name": "fdm_process_single_0.10_nozzle_0.2",
+ "sub_path": "process/fdm_process_single_0.10_nozzle_0.2.json"
},
{
- "name": "fdm_process_bbl_0.40_nozzle_0.8",
- "sub_path": "process/fdm_process_bbl_0.40_nozzle_0.8.json"
+ "name": "fdm_process_single_0.40_nozzle_0.8",
+ "sub_path": "process/fdm_process_single_0.40_nozzle_0.8.json"
},
{
- "name": "fdm_process_bbl_0.30_nozzle_0.6",
- "sub_path": "process/fdm_process_bbl_0.30_nozzle_0.6.json"
+ "name": "fdm_process_single_0.30_nozzle_0.6",
+ "sub_path": "process/fdm_process_single_0.30_nozzle_0.6.json"
},
{
- "name": "fdm_process_bbl_0.12",
- "sub_path": "process/fdm_process_bbl_0.12.json"
+ "name": "fdm_process_single_0.12",
+ "sub_path": "process/fdm_process_single_0.12.json"
},
{
- "name": "fdm_process_bbl_0.16",
- "sub_path": "process/fdm_process_bbl_0.16.json"
+ "name": "fdm_process_single_0.16",
+ "sub_path": "process/fdm_process_single_0.16.json"
},
{
- "name": "fdm_process_bbl_0.20",
- "sub_path": "process/fdm_process_bbl_0.20.json"
+ "name": "fdm_process_single_0.20",
+ "sub_path": "process/fdm_process_single_0.20.json"
},
{
- "name": "fdm_process_bbl_0.24",
- "sub_path": "process/fdm_process_bbl_0.24.json"
+ "name": "fdm_process_single_0.24",
+ "sub_path": "process/fdm_process_single_0.24.json"
},
{
- "name": "fdm_process_bbl_0.28",
- "sub_path": "process/fdm_process_bbl_0.28.json"
+ "name": "fdm_process_single_0.28",
+ "sub_path": "process/fdm_process_single_0.28.json"
},
{
- "name": "fdm_process_bbl_0.06_nozzle_0.2",
- "sub_path": "process/fdm_process_bbl_0.06_nozzle_0.2.json"
+ "name": "fdm_process_single_0.06_nozzle_0.2",
+ "sub_path": "process/fdm_process_single_0.06_nozzle_0.2.json"
},
{
- "name": "fdm_process_bbl_0.08_nozzle_0.2",
- "sub_path": "process/fdm_process_bbl_0.08_nozzle_0.2.json"
+ "name": "fdm_process_single_0.08_nozzle_0.2",
+ "sub_path": "process/fdm_process_single_0.08_nozzle_0.2.json"
},
{
- "name": "fdm_process_bbl_0.12_nozzle_0.2",
- "sub_path": "process/fdm_process_bbl_0.12_nozzle_0.2.json"
+ "name": "fdm_process_single_0.12_nozzle_0.2",
+ "sub_path": "process/fdm_process_single_0.12_nozzle_0.2.json"
},
{
- "name": "fdm_process_bbl_0.14_nozzle_0.2",
- "sub_path": "process/fdm_process_bbl_0.14_nozzle_0.2.json"
+ "name": "fdm_process_single_0.14_nozzle_0.2",
+ "sub_path": "process/fdm_process_single_0.14_nozzle_0.2.json"
},
{
- "name": "fdm_process_bbl_0.18_nozzle_0.6",
- "sub_path": "process/fdm_process_bbl_0.18_nozzle_0.6.json"
+ "name": "fdm_process_single_0.18_nozzle_0.6",
+ "sub_path": "process/fdm_process_single_0.18_nozzle_0.6.json"
},
{
- "name": "fdm_process_bbl_0.24_nozzle_0.6",
- "sub_path": "process/fdm_process_bbl_0.24_nozzle_0.6.json"
+ "name": "fdm_process_single_0.24_nozzle_0.6",
+ "sub_path": "process/fdm_process_single_0.24_nozzle_0.6.json"
},
{
- "name": "fdm_process_bbl_0.36_nozzle_0.6",
- "sub_path": "process/fdm_process_bbl_0.36_nozzle_0.6.json"
+ "name": "fdm_process_single_0.36_nozzle_0.6",
+ "sub_path": "process/fdm_process_single_0.36_nozzle_0.6.json"
},
{
- "name": "fdm_process_bbl_0.42_nozzle_0.6",
- "sub_path": "process/fdm_process_bbl_0.42_nozzle_0.6.json"
+ "name": "fdm_process_single_0.42_nozzle_0.6",
+ "sub_path": "process/fdm_process_single_0.42_nozzle_0.6.json"
},
{
- "name": "fdm_process_bbl_0.24_nozzle_0.8",
- "sub_path": "process/fdm_process_bbl_0.24_nozzle_0.8.json"
+ "name": "fdm_process_single_0.24_nozzle_0.8",
+ "sub_path": "process/fdm_process_single_0.24_nozzle_0.8.json"
},
{
- "name": "fdm_process_bbl_0.32_nozzle_0.8",
- "sub_path": "process/fdm_process_bbl_0.32_nozzle_0.8.json"
+ "name": "fdm_process_single_0.32_nozzle_0.8",
+ "sub_path": "process/fdm_process_single_0.32_nozzle_0.8.json"
},
{
- "name": "fdm_process_bbl_0.48_nozzle_0.8",
- "sub_path": "process/fdm_process_bbl_0.48_nozzle_0.8.json"
+ "name": "fdm_process_single_0.48_nozzle_0.8",
+ "sub_path": "process/fdm_process_single_0.48_nozzle_0.8.json"
},
{
- "name": "fdm_process_bbl_0.56_nozzle_0.8",
- "sub_path": "process/fdm_process_bbl_0.56_nozzle_0.8.json"
+ "name": "fdm_process_single_0.56_nozzle_0.8",
+ "sub_path": "process/fdm_process_single_0.56_nozzle_0.8.json"
},
{
"name": "0.08mm Extra Fine @BBL X1C",
diff --git a/resources/profiles/BBL/process/0.06mm Fine @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm Fine @BBL A1 0.2 nozzle.json
index a46163008e9..48e6ad9c262 100644
--- a/resources/profiles/BBL/process/0.06mm Fine @BBL A1 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.06mm Fine @BBL A1 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.06mm Fine @BBL A1 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.06_nozzle_0.2",
+ "inherits": "fdm_process_single_0.06_nozzle_0.2",
"from": "system",
"setting_id": "GP084",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.06mm Fine @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm Fine @BBL A1M 0.2 nozzle.json
index 829e9176753..1ca4fc711f4 100644
--- a/resources/profiles/BBL/process/0.06mm Fine @BBL A1M 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.06mm Fine @BBL A1M 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.06mm Fine @BBL A1M 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.06_nozzle_0.2",
+ "inherits": "fdm_process_single_0.06_nozzle_0.2",
"from": "system",
"setting_id": "GP050",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.06mm Fine @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm Fine @BBL P1P 0.2 nozzle.json
index d05620a789c..fbbc791445f 100644
--- a/resources/profiles/BBL/process/0.06mm Fine @BBL P1P 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.06mm Fine @BBL P1P 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.06mm Fine @BBL P1P 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.06_nozzle_0.2",
+ "inherits": "fdm_process_single_0.06_nozzle_0.2",
"from": "system",
"setting_id": "GP063",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.06mm High Quality @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm High Quality @BBL A1 0.2 nozzle.json
index 19c218e4e38..7af52f3efe1 100644
--- a/resources/profiles/BBL/process/0.06mm High Quality @BBL A1 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.06mm High Quality @BBL A1 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.06mm High Quality @BBL A1 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.06_nozzle_0.2",
+ "inherits": "fdm_process_single_0.06_nozzle_0.2",
"from": "system",
"setting_id": "GP118",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.06mm High Quality @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm High Quality @BBL A1M 0.2 nozzle.json
index 15f97d190e6..2bd36aafe7b 100644
--- a/resources/profiles/BBL/process/0.06mm High Quality @BBL A1M 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.06mm High Quality @BBL A1M 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.06mm High Quality @BBL A1M 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.06_nozzle_0.2",
+ "inherits": "fdm_process_single_0.06_nozzle_0.2",
"from": "system",
"setting_id": "GP117",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.06mm High Quality @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm High Quality @BBL P1P 0.2 nozzle.json
index da1f6a89c34..a7c62f45221 100644
--- a/resources/profiles/BBL/process/0.06mm High Quality @BBL P1P 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.06mm High Quality @BBL P1P 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.06mm High Quality @BBL P1P 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.06_nozzle_0.2",
+ "inherits": "fdm_process_single_0.06_nozzle_0.2",
"from": "system",
"setting_id": "GP116",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.06mm High Quality @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm High Quality @BBL X1C 0.2 nozzle.json
index 56388c0b15a..14e6f9474a5 100644
--- a/resources/profiles/BBL/process/0.06mm High Quality @BBL X1C 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.06mm High Quality @BBL X1C 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.06mm High Quality @BBL X1C 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.06_nozzle_0.2",
+ "inherits": "fdm_process_single_0.06_nozzle_0.2",
"from": "system",
"setting_id": "GP115",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.06mm Standard @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.06mm Standard @BBL X1C 0.2 nozzle.json
index 15ac55524b1..63826577bfe 100644
--- a/resources/profiles/BBL/process/0.06mm Standard @BBL X1C 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.06mm Standard @BBL X1C 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.06mm Standard @BBL X1C 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.06_nozzle_0.2",
+ "inherits": "fdm_process_single_0.06_nozzle_0.2",
"from": "system",
"setting_id": "GP024",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1.json b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1.json
index a77c85e6310..01cdcd24467 100644
--- a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1.json
+++ b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm Extra Fine @BBL A1",
- "inherits": "fdm_process_bbl_0.08",
+ "inherits": "fdm_process_single_0.08",
"from": "system",
"setting_id": "GP076",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1M.json b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1M.json
index b54ff1ac714..cb8b2ee21f3 100644
--- a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1M.json
+++ b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL A1M.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm Extra Fine @BBL A1M",
- "inherits": "fdm_process_bbl_0.08",
+ "inherits": "fdm_process_single_0.08",
"from": "system",
"setting_id": "GP049",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL P1P.json b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL P1P.json
index 080e4005ece..45b7282822c 100644
--- a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL P1P.json
+++ b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL P1P.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm Extra Fine @BBL P1P",
- "inherits": "fdm_process_bbl_0.08",
+ "inherits": "fdm_process_single_0.08",
"from": "system",
"setting_id": "GP018",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL X1C.json b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL X1C.json
index 22ed2d79544..c7c1a7eb8d8 100644
--- a/resources/profiles/BBL/process/0.08mm Extra Fine @BBL X1C.json
+++ b/resources/profiles/BBL/process/0.08mm Extra Fine @BBL X1C.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm Extra Fine @BBL X1C",
- "inherits": "fdm_process_bbl_0.08",
+ "inherits": "fdm_process_single_0.08",
"from": "system",
"setting_id": "GP001",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1 0.2 nozzle.json
index 77459773872..6fe64c28c90 100644
--- a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm High Quality @BBL A1 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.08_nozzle_0.2",
+ "inherits": "fdm_process_single_0.08_nozzle_0.2",
"from": "system",
"setting_id": "GP119",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1.json
index 7d7f7be4570..1ec74ae7903 100644
--- a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1.json
+++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm High Quality @BBL A1",
- "inherits": "fdm_process_bbl_0.08",
+ "inherits": "fdm_process_single_0.08",
"from": "system",
"setting_id": "GP102",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M 0.2 nozzle.json
index 2d181eae1b3..a3e9d1d41fd 100644
--- a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm High Quality @BBL A1M 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.08_nozzle_0.2",
+ "inherits": "fdm_process_single_0.08_nozzle_0.2",
"from": "system",
"setting_id": "GP120",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M.json
index 71e2f43b7d6..209ce23d830 100644
--- a/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M.json
+++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL A1M.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm High Quality @BBL A1M",
- "inherits": "fdm_process_bbl_0.08",
+ "inherits": "fdm_process_single_0.08",
"from": "system",
"setting_id": "GP101",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P 0.2 nozzle.json
index 6424eae3c07..937db1fd86c 100644
--- a/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm High Quality @BBL P1P 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.08_nozzle_0.2",
+ "inherits": "fdm_process_single_0.08_nozzle_0.2",
"from": "system",
"setting_id": "GP121",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P.json
index f135573cf2b..ba9af3803e3 100644
--- a/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P.json
+++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL P1P.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm High Quality @BBL P1P",
- "inherits": "fdm_process_bbl_0.08",
+ "inherits": "fdm_process_single_0.08",
"from": "system",
"setting_id": "GP100",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C 0.2 nozzle.json
index dc0de89bc68..cad7de9e3bb 100644
--- a/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm High Quality @BBL X1C 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.08_nozzle_0.2",
+ "inherits": "fdm_process_single_0.08_nozzle_0.2",
"from": "system",
"setting_id": "GP122",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C.json b/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C.json
index 778b1b9bef1..7ec94c385c0 100644
--- a/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C.json
+++ b/resources/profiles/BBL/process/0.08mm High Quality @BBL X1C.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm High Quality @BBL X1C",
- "inherits": "fdm_process_bbl_0.08",
+ "inherits": "fdm_process_single_0.08",
"from": "system",
"setting_id": "GP099",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm Optimal @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm Optimal @BBL A1 0.2 nozzle.json
index 072bfd59b0e..77c8e762e11 100644
--- a/resources/profiles/BBL/process/0.08mm Optimal @BBL A1 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.08mm Optimal @BBL A1 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm Optimal @BBL A1 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.08_nozzle_0.2",
+ "inherits": "fdm_process_single_0.08_nozzle_0.2",
"from": "system",
"setting_id": "GP085",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm Optimal @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm Optimal @BBL A1M 0.2 nozzle.json
index 19f85778222..ed91cd49522 100644
--- a/resources/profiles/BBL/process/0.08mm Optimal @BBL A1M 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.08mm Optimal @BBL A1M 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm Optimal @BBL A1M 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.08_nozzle_0.2",
+ "inherits": "fdm_process_single_0.08_nozzle_0.2",
"from": "system",
"setting_id": "GP051",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm Optimal @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm Optimal @BBL P1P 0.2 nozzle.json
index 99950575865..690daff8058 100644
--- a/resources/profiles/BBL/process/0.08mm Optimal @BBL P1P 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.08mm Optimal @BBL P1P 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm Optimal @BBL P1P 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.08_nozzle_0.2",
+ "inherits": "fdm_process_single_0.08_nozzle_0.2",
"from": "system",
"setting_id": "GP064",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.08mm Standard @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.08mm Standard @BBL X1C 0.2 nozzle.json
index 905fef5e097..b8bceee19ce 100644
--- a/resources/profiles/BBL/process/0.08mm Standard @BBL X1C 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.08mm Standard @BBL X1C 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.08mm Standard @BBL X1C 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.08_nozzle_0.2",
+ "inherits": "fdm_process_single_0.08_nozzle_0.2",
"from": "system",
"setting_id": "GP025",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.10mm High Quality @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm High Quality @BBL A1 0.2 nozzle.json
index 23393e37b97..75077880312 100644
--- a/resources/profiles/BBL/process/0.10mm High Quality @BBL A1 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.10mm High Quality @BBL A1 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.10mm High Quality @BBL A1 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.10_nozzle_0.2",
+ "inherits": "fdm_process_single_0.10_nozzle_0.2",
"from": "system",
"setting_id": "GP114",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.10mm High Quality @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm High Quality @BBL A1M 0.2 nozzle.json
index cb96b785afe..ba7728beea7 100644
--- a/resources/profiles/BBL/process/0.10mm High Quality @BBL A1M 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.10mm High Quality @BBL A1M 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.10mm High Quality @BBL A1M 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.10_nozzle_0.2",
+ "inherits": "fdm_process_single_0.10_nozzle_0.2",
"from": "system",
"setting_id": "GP113",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.10mm High Quality @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm High Quality @BBL P1P 0.2 nozzle.json
index f463a9e0601..4d15aa5af6f 100644
--- a/resources/profiles/BBL/process/0.10mm High Quality @BBL P1P 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.10mm High Quality @BBL P1P 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.10mm High Quality @BBL P1P 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.10_nozzle_0.2",
+ "inherits": "fdm_process_single_0.10_nozzle_0.2",
"from": "system",
"setting_id": "GP112",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.10mm High Quality @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm High Quality @BBL X1C 0.2 nozzle.json
index b1ab2d897b2..b89a17a330c 100644
--- a/resources/profiles/BBL/process/0.10mm High Quality @BBL X1C 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.10mm High Quality @BBL X1C 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.10mm High Quality @BBL X1C 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.10_nozzle_0.2",
+ "inherits": "fdm_process_single_0.10_nozzle_0.2",
"from": "system",
"setting_id": "GP111",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL A1 0.2 nozzle.json
index 56a9bfacedd..384b4f319a9 100644
--- a/resources/profiles/BBL/process/0.10mm Standard @BBL A1 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.10mm Standard @BBL A1 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.10mm Standard @BBL A1 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.10_nozzle_0.2",
+ "inherits": "fdm_process_single_0.10_nozzle_0.2",
"from": "system",
"setting_id": "GP083",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL P1P 0.2 nozzle.json
index 37a2a127773..9e5597170d0 100644
--- a/resources/profiles/BBL/process/0.10mm Standard @BBL P1P 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.10mm Standard @BBL P1P 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.10mm Standard @BBL P1P 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.10_nozzle_0.2",
+ "inherits": "fdm_process_single_0.10_nozzle_0.2",
"from": "system",
"setting_id": "GP014",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.10mm Standard @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.10mm Standard @BBL X1C 0.2 nozzle.json
index 64f47b93a5a..19291675f5c 100644
--- a/resources/profiles/BBL/process/0.10mm Standard @BBL X1C 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.10mm Standard @BBL X1C 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.10mm Standard @BBL X1C 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.10_nozzle_0.2",
+ "inherits": "fdm_process_single_0.10_nozzle_0.2",
"from": "system",
"setting_id": "GP007",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.12mm Draft @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Draft @BBL A1 0.2 nozzle.json
index 549a6d7fe59..5adf5539818 100644
--- a/resources/profiles/BBL/process/0.12mm Draft @BBL A1 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.12mm Draft @BBL A1 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.12mm Draft @BBL A1 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.12_nozzle_0.2",
+ "inherits": "fdm_process_single_0.12_nozzle_0.2",
"from": "system",
"setting_id": "GP086",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.12mm Draft @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Draft @BBL A1M 0.2 nozzle.json
index 66a9004da7d..18427473b1e 100644
--- a/resources/profiles/BBL/process/0.12mm Draft @BBL A1M 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.12mm Draft @BBL A1M 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.12mm Draft @BBL A1M 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.12_nozzle_0.2",
+ "inherits": "fdm_process_single_0.12_nozzle_0.2",
"from": "system",
"setting_id": "GP052",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.12mm Draft @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Draft @BBL P1P 0.2 nozzle.json
index 675c21747d5..4ba21cba5a9 100644
--- a/resources/profiles/BBL/process/0.12mm Draft @BBL P1P 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.12mm Draft @BBL P1P 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.12mm Draft @BBL P1P 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.12_nozzle_0.2",
+ "inherits": "fdm_process_single_0.12_nozzle_0.2",
"from": "system",
"setting_id": "GP065",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.12mm Fine @BBL A1.json b/resources/profiles/BBL/process/0.12mm Fine @BBL A1.json
index 6cb7369ad2d..4769cf9030d 100644
--- a/resources/profiles/BBL/process/0.12mm Fine @BBL A1.json
+++ b/resources/profiles/BBL/process/0.12mm Fine @BBL A1.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.12mm Fine @BBL A1",
- "inherits": "fdm_process_bbl_0.12",
+ "inherits": "fdm_process_single_0.12",
"from": "system",
"setting_id": "GP077",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.12mm Fine @BBL A1M.json b/resources/profiles/BBL/process/0.12mm Fine @BBL A1M.json
index 74d30722a0c..d0894a61d3f 100644
--- a/resources/profiles/BBL/process/0.12mm Fine @BBL A1M.json
+++ b/resources/profiles/BBL/process/0.12mm Fine @BBL A1M.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.12mm Fine @BBL A1M",
- "inherits": "fdm_process_bbl_0.12",
+ "inherits": "fdm_process_single_0.12",
"from": "system",
"setting_id": "GP044",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.12mm Fine @BBL P1P.json b/resources/profiles/BBL/process/0.12mm Fine @BBL P1P.json
index 172d506ecaf..2ba69e4d6e1 100644
--- a/resources/profiles/BBL/process/0.12mm Fine @BBL P1P.json
+++ b/resources/profiles/BBL/process/0.12mm Fine @BBL P1P.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.12mm Fine @BBL P1P",
- "inherits": "fdm_process_bbl_0.12",
+ "inherits": "fdm_process_single_0.12",
"from": "system",
"setting_id": "GP019",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.12mm Fine @BBL X1C.json b/resources/profiles/BBL/process/0.12mm Fine @BBL X1C.json
index b51e89eb5b1..603658d686c 100644
--- a/resources/profiles/BBL/process/0.12mm Fine @BBL X1C.json
+++ b/resources/profiles/BBL/process/0.12mm Fine @BBL X1C.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.12mm Fine @BBL X1C",
- "inherits": "fdm_process_bbl_0.12",
+ "inherits": "fdm_process_single_0.12",
"from": "system",
"setting_id": "GP002",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.12mm High Quality @BBL A1.json b/resources/profiles/BBL/process/0.12mm High Quality @BBL A1.json
index 0a1a283141d..819c415474a 100644
--- a/resources/profiles/BBL/process/0.12mm High Quality @BBL A1.json
+++ b/resources/profiles/BBL/process/0.12mm High Quality @BBL A1.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.12mm High Quality @BBL A1",
- "inherits": "fdm_process_bbl_0.12",
+ "inherits": "fdm_process_single_0.12",
"from": "system",
"setting_id": "GP106",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.12mm High Quality @BBL A1M.json b/resources/profiles/BBL/process/0.12mm High Quality @BBL A1M.json
index dbe1743fbcc..5a4483795f6 100644
--- a/resources/profiles/BBL/process/0.12mm High Quality @BBL A1M.json
+++ b/resources/profiles/BBL/process/0.12mm High Quality @BBL A1M.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.12mm High Quality @BBL A1M",
- "inherits": "fdm_process_bbl_0.12",
+ "inherits": "fdm_process_single_0.12",
"from": "system",
"setting_id": "GP105",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.12mm High Quality @BBL P1P.json b/resources/profiles/BBL/process/0.12mm High Quality @BBL P1P.json
index 1acd431c126..c6499205325 100644
--- a/resources/profiles/BBL/process/0.12mm High Quality @BBL P1P.json
+++ b/resources/profiles/BBL/process/0.12mm High Quality @BBL P1P.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.12mm High Quality @BBL P1P",
- "inherits": "fdm_process_bbl_0.12",
+ "inherits": "fdm_process_single_0.12",
"from": "system",
"setting_id": "GP104",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.12mm High Quality @BBL X1C.json b/resources/profiles/BBL/process/0.12mm High Quality @BBL X1C.json
index d49e9314854..93f395c1cb6 100644
--- a/resources/profiles/BBL/process/0.12mm High Quality @BBL X1C.json
+++ b/resources/profiles/BBL/process/0.12mm High Quality @BBL X1C.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.12mm High Quality @BBL X1C",
- "inherits": "fdm_process_bbl_0.12",
+ "inherits": "fdm_process_single_0.12",
"from": "system",
"setting_id": "GP103",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.12mm Standard @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.12mm Standard @BBL X1C 0.2 nozzle.json
index 703993972e0..d0f25e9a0ab 100644
--- a/resources/profiles/BBL/process/0.12mm Standard @BBL X1C 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.12mm Standard @BBL X1C 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.12mm Standard @BBL X1C 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.12_nozzle_0.2",
+ "inherits": "fdm_process_single_0.12_nozzle_0.2",
"from": "system",
"setting_id": "GP026",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1 0.2 nozzle.json b/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1 0.2 nozzle.json
index c1ff7b34a38..05ce32c6af1 100644
--- a/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.14mm Extra Draft @BBL A1 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.14_nozzle_0.2",
+ "inherits": "fdm_process_single_0.14_nozzle_0.2",
"from": "system",
"setting_id": "GP087",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1M 0.2 nozzle.json b/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1M 0.2 nozzle.json
index c8b97600b7c..c60278482b2 100644
--- a/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1M 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.14mm Extra Draft @BBL A1M 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.14mm Extra Draft @BBL A1M 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.14_nozzle_0.2",
+ "inherits": "fdm_process_single_0.14_nozzle_0.2",
"from": "system",
"setting_id": "GP053",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.14mm Extra Draft @BBL P1P 0.2 nozzle.json b/resources/profiles/BBL/process/0.14mm Extra Draft @BBL P1P 0.2 nozzle.json
index d19c428cd4a..b5ac82bf571 100644
--- a/resources/profiles/BBL/process/0.14mm Extra Draft @BBL P1P 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.14mm Extra Draft @BBL P1P 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.14mm Extra Draft @BBL P1P 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.14_nozzle_0.2",
+ "inherits": "fdm_process_single_0.14_nozzle_0.2",
"from": "system",
"setting_id": "GP066",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.14mm Standard @BBL X1C 0.2 nozzle.json b/resources/profiles/BBL/process/0.14mm Standard @BBL X1C 0.2 nozzle.json
index be951de13bf..dcec7383643 100644
--- a/resources/profiles/BBL/process/0.14mm Standard @BBL X1C 0.2 nozzle.json
+++ b/resources/profiles/BBL/process/0.14mm Standard @BBL X1C 0.2 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.14mm Standard @BBL X1C 0.2 nozzle",
- "inherits": "fdm_process_bbl_0.14_nozzle_0.2",
+ "inherits": "fdm_process_single_0.14_nozzle_0.2",
"from": "system",
"setting_id": "GP027",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.16mm High Quality @BBL A1.json b/resources/profiles/BBL/process/0.16mm High Quality @BBL A1.json
index 5632bdbe262..4769751992d 100644
--- a/resources/profiles/BBL/process/0.16mm High Quality @BBL A1.json
+++ b/resources/profiles/BBL/process/0.16mm High Quality @BBL A1.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.16mm High Quality @BBL A1",
- "inherits": "fdm_process_bbl_0.16",
+ "inherits": "fdm_process_single_0.16",
"from": "system",
"setting_id": "GP110",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.16mm High Quality @BBL A1M.json b/resources/profiles/BBL/process/0.16mm High Quality @BBL A1M.json
index fe51c4740f3..97cd71e5cf6 100644
--- a/resources/profiles/BBL/process/0.16mm High Quality @BBL A1M.json
+++ b/resources/profiles/BBL/process/0.16mm High Quality @BBL A1M.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.16mm High Quality @BBL A1M",
- "inherits": "fdm_process_bbl_0.16",
+ "inherits": "fdm_process_single_0.16",
"from": "system",
"setting_id": "GP109",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.16mm High Quality @BBL P1P.json b/resources/profiles/BBL/process/0.16mm High Quality @BBL P1P.json
index a3cd2eb87cf..41e8831710f 100644
--- a/resources/profiles/BBL/process/0.16mm High Quality @BBL P1P.json
+++ b/resources/profiles/BBL/process/0.16mm High Quality @BBL P1P.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.16mm High Quality @BBL P1P",
- "inherits": "fdm_process_bbl_0.16",
+ "inherits": "fdm_process_single_0.16",
"from": "system",
"setting_id": "GP108",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.16mm High Quality @BBL X1C.json b/resources/profiles/BBL/process/0.16mm High Quality @BBL X1C.json
index 2e8fb3e44a2..9517c6cb273 100644
--- a/resources/profiles/BBL/process/0.16mm High Quality @BBL X1C.json
+++ b/resources/profiles/BBL/process/0.16mm High Quality @BBL X1C.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.16mm High Quality @BBL X1C",
- "inherits": "fdm_process_bbl_0.16",
+ "inherits": "fdm_process_single_0.16",
"from": "system",
"setting_id": "GP107",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.16mm Optimal @BBL A1.json b/resources/profiles/BBL/process/0.16mm Optimal @BBL A1.json
index eedbf6577d5..a3d0c291e10 100644
--- a/resources/profiles/BBL/process/0.16mm Optimal @BBL A1.json
+++ b/resources/profiles/BBL/process/0.16mm Optimal @BBL A1.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.16mm Optimal @BBL A1",
- "inherits": "fdm_process_bbl_0.16",
+ "inherits": "fdm_process_single_0.16",
"from": "system",
"setting_id": "GP078",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.16mm Optimal @BBL A1M.json b/resources/profiles/BBL/process/0.16mm Optimal @BBL A1M.json
index 509404f9cd7..10778bcc73b 100644
--- a/resources/profiles/BBL/process/0.16mm Optimal @BBL A1M.json
+++ b/resources/profiles/BBL/process/0.16mm Optimal @BBL A1M.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.16mm Optimal @BBL A1M",
- "inherits": "fdm_process_bbl_0.16",
+ "inherits": "fdm_process_single_0.16",
"from": "system",
"setting_id": "GP045",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.16mm Optimal @BBL P1P.json b/resources/profiles/BBL/process/0.16mm Optimal @BBL P1P.json
index 6df7fae3f2e..9c707bbbce5 100644
--- a/resources/profiles/BBL/process/0.16mm Optimal @BBL P1P.json
+++ b/resources/profiles/BBL/process/0.16mm Optimal @BBL P1P.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.16mm Optimal @BBL P1P",
- "inherits": "fdm_process_bbl_0.16",
+ "inherits": "fdm_process_single_0.16",
"from": "system",
"setting_id": "GP020",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.16mm Optimal @BBL X1C.json b/resources/profiles/BBL/process/0.16mm Optimal @BBL X1C.json
index 5dc996d120f..39bae7f05a2 100644
--- a/resources/profiles/BBL/process/0.16mm Optimal @BBL X1C.json
+++ b/resources/profiles/BBL/process/0.16mm Optimal @BBL X1C.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.16mm Optimal @BBL X1C",
- "inherits": "fdm_process_bbl_0.16",
+ "inherits": "fdm_process_single_0.16",
"from": "system",
"setting_id": "GP003",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.18mm Fine @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Fine @BBL A1 0.6 nozzle.json
index f19e70c25f0..ef37b467937 100644
--- a/resources/profiles/BBL/process/0.18mm Fine @BBL A1 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.18mm Fine @BBL A1 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.18mm Fine @BBL A1 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.18_nozzle_0.6",
+ "inherits": "fdm_process_single_0.18_nozzle_0.6",
"from": "system",
"setting_id": "GP088",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.18mm Fine @BBL A1M 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Fine @BBL A1M 0.6 nozzle.json
index 7b1612a79d2..c7ca32e2149 100644
--- a/resources/profiles/BBL/process/0.18mm Fine @BBL A1M 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.18mm Fine @BBL A1M 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.18mm Fine @BBL A1M 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.18_nozzle_0.6",
+ "inherits": "fdm_process_single_0.18_nozzle_0.6",
"from": "system",
"setting_id": "GP062",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.18mm Fine @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Fine @BBL P1P 0.6 nozzle.json
index 53d29a785fb..0fdea76fe9b 100644
--- a/resources/profiles/BBL/process/0.18mm Fine @BBL P1P 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.18mm Fine @BBL P1P 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.18mm Fine @BBL P1P 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.18_nozzle_0.6",
+ "inherits": "fdm_process_single_0.18_nozzle_0.6",
"from": "system",
"setting_id": "GP072",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.18mm Standard @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/process/0.18mm Standard @BBL X1C 0.6 nozzle.json
index 6395e965b00..3ebf14f69c0 100644
--- a/resources/profiles/BBL/process/0.18mm Standard @BBL X1C 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.18mm Standard @BBL X1C 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.18mm Standard @BBL X1C 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.18_nozzle_0.6",
+ "inherits": "fdm_process_single_0.18_nozzle_0.6",
"from": "system",
"setting_id": "GP028",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.20mm Bambu Support W @BBL X1C.json b/resources/profiles/BBL/process/0.20mm Bambu Support W @BBL X1C.json
index 0a01e92daa1..c7d9745406f 100644
--- a/resources/profiles/BBL/process/0.20mm Bambu Support W @BBL X1C.json
+++ b/resources/profiles/BBL/process/0.20mm Bambu Support W @BBL X1C.json
@@ -4,7 +4,7 @@
"name": "0.20mm Bambu Support W @BBL X1C",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.20",
+ "inherits": "fdm_process_single_0.20",
"enable_support": "1",
"support_interface_top_layers": "3",
"support_top_z_distance": "0.2",
diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL A1.json b/resources/profiles/BBL/process/0.20mm Standard @BBL A1.json
index 91feaa67740..960717592f9 100644
--- a/resources/profiles/BBL/process/0.20mm Standard @BBL A1.json
+++ b/resources/profiles/BBL/process/0.20mm Standard @BBL A1.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.20mm Standard @BBL A1",
- "inherits": "fdm_process_bbl_0.20",
+ "inherits": "fdm_process_single_0.20",
"from": "system",
"setting_id": "GP079",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL P1P.json b/resources/profiles/BBL/process/0.20mm Standard @BBL P1P.json
index cea5a44b6d9..226241d6f3b 100644
--- a/resources/profiles/BBL/process/0.20mm Standard @BBL P1P.json
+++ b/resources/profiles/BBL/process/0.20mm Standard @BBL P1P.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.20mm Standard @BBL P1P",
- "inherits": "fdm_process_bbl_0.20",
+ "inherits": "fdm_process_single_0.20",
"from": "system",
"setting_id": "GP015",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.20mm Standard @BBL X1C.json b/resources/profiles/BBL/process/0.20mm Standard @BBL X1C.json
index 01133f83ec9..d0df6bc4462 100644
--- a/resources/profiles/BBL/process/0.20mm Standard @BBL X1C.json
+++ b/resources/profiles/BBL/process/0.20mm Standard @BBL X1C.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.20mm Standard @BBL X1C",
- "inherits": "fdm_process_bbl_0.20",
+ "inherits": "fdm_process_single_0.20",
"from": "system",
"setting_id": "GP004",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.20mm Strength @BBL A1.json b/resources/profiles/BBL/process/0.20mm Strength @BBL A1.json
index 30e9ca38ee8..063459a6fc2 100644
--- a/resources/profiles/BBL/process/0.20mm Strength @BBL A1.json
+++ b/resources/profiles/BBL/process/0.20mm Strength @BBL A1.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.20mm Strength @BBL A1",
- "inherits": "fdm_process_bbl_0.20",
+ "inherits": "fdm_process_single_0.20",
"from": "system",
"setting_id": "GP080",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.20mm Strength @BBL P1P.json b/resources/profiles/BBL/process/0.20mm Strength @BBL P1P.json
index 9edb0342ad9..bd131693f4b 100644
--- a/resources/profiles/BBL/process/0.20mm Strength @BBL P1P.json
+++ b/resources/profiles/BBL/process/0.20mm Strength @BBL P1P.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.20mm Strength @BBL P1P",
- "inherits": "fdm_process_bbl_0.20",
+ "inherits": "fdm_process_single_0.20",
"from": "system",
"setting_id": "GP021",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.20mm Strength @BBL X1C.json b/resources/profiles/BBL/process/0.20mm Strength @BBL X1C.json
index 6635305debd..8700ad327e9 100644
--- a/resources/profiles/BBL/process/0.20mm Strength @BBL X1C.json
+++ b/resources/profiles/BBL/process/0.20mm Strength @BBL X1C.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.20mm Strength @BBL X1C",
- "inherits": "fdm_process_bbl_0.20",
+ "inherits": "fdm_process_single_0.20",
"from": "system",
"setting_id": "GP013",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.24mm Draft @BBL A1.json b/resources/profiles/BBL/process/0.24mm Draft @BBL A1.json
index 20e452f19b0..195a3c7538e 100644
--- a/resources/profiles/BBL/process/0.24mm Draft @BBL A1.json
+++ b/resources/profiles/BBL/process/0.24mm Draft @BBL A1.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.24mm Draft @BBL A1",
- "inherits": "fdm_process_bbl_0.24",
+ "inherits": "fdm_process_single_0.24",
"from": "system",
"setting_id": "GP081",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.24mm Draft @BBL A1M.json b/resources/profiles/BBL/process/0.24mm Draft @BBL A1M.json
index 4c791c46004..82a34774fba 100644
--- a/resources/profiles/BBL/process/0.24mm Draft @BBL A1M.json
+++ b/resources/profiles/BBL/process/0.24mm Draft @BBL A1M.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.24mm Draft @BBL A1M",
- "inherits": "fdm_process_bbl_0.24",
+ "inherits": "fdm_process_single_0.24",
"from": "system",
"setting_id": "GP047",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.24mm Draft @BBL P1P.json b/resources/profiles/BBL/process/0.24mm Draft @BBL P1P.json
index ed3bd535f96..d78362d4a69 100644
--- a/resources/profiles/BBL/process/0.24mm Draft @BBL P1P.json
+++ b/resources/profiles/BBL/process/0.24mm Draft @BBL P1P.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.24mm Draft @BBL P1P",
- "inherits": "fdm_process_bbl_0.24",
+ "inherits": "fdm_process_single_0.24",
"from": "system",
"setting_id": "GP022",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.24mm Draft @BBL X1C.json b/resources/profiles/BBL/process/0.24mm Draft @BBL X1C.json
index cc2806ac9fc..3c2667ba65c 100644
--- a/resources/profiles/BBL/process/0.24mm Draft @BBL X1C.json
+++ b/resources/profiles/BBL/process/0.24mm Draft @BBL X1C.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.24mm Draft @BBL X1C",
- "inherits": "fdm_process_bbl_0.24",
+ "inherits": "fdm_process_single_0.24",
"from": "system",
"setting_id": "GP005",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.24mm Fine @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Fine @BBL A1 0.8 nozzle.json
index 629884dc7c9..0a1938f8425 100644
--- a/resources/profiles/BBL/process/0.24mm Fine @BBL A1 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.24mm Fine @BBL A1 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.24mm Fine @BBL A1 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.24_nozzle_0.8",
+ "inherits": "fdm_process_single_0.24_nozzle_0.8",
"from": "system",
"setting_id": "GP092",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.24mm Fine @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Fine @BBL A1M 0.8 nozzle.json
index ca2631fb714..4187b5e97d4 100644
--- a/resources/profiles/BBL/process/0.24mm Fine @BBL A1M 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.24mm Fine @BBL A1M 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.24mm Fine @BBL A1M 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.24_nozzle_0.8",
+ "inherits": "fdm_process_single_0.24_nozzle_0.8",
"from": "system",
"setting_id": "GP057",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.24mm Fine @BBL P1P 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Fine @BBL P1P 0.8 nozzle.json
index 7f7934ad5af..99e6c8558e6 100644
--- a/resources/profiles/BBL/process/0.24mm Fine @BBL P1P 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.24mm Fine @BBL P1P 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.24mm Fine @BBL P1P 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.24_nozzle_0.8",
+ "inherits": "fdm_process_single_0.24_nozzle_0.8",
"from": "system",
"setting_id": "GP068",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.24mm Optimal @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Optimal @BBL A1 0.6 nozzle.json
index f8388f6262e..ba272780863 100644
--- a/resources/profiles/BBL/process/0.24mm Optimal @BBL A1 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.24mm Optimal @BBL A1 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.24mm Optimal @BBL A1 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.24_nozzle_0.6",
+ "inherits": "fdm_process_single_0.24_nozzle_0.6",
"from": "system",
"setting_id": "GP089",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.24mm Optimal @BBL A1M 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Optimal @BBL A1M 0.6 nozzle.json
index 28082afef5a..eff76ccaeb6 100644
--- a/resources/profiles/BBL/process/0.24mm Optimal @BBL A1M 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.24mm Optimal @BBL A1M 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.24mm Optimal @BBL A1M 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.24_nozzle_0.6",
+ "inherits": "fdm_process_single_0.24_nozzle_0.6",
"from": "system",
"setting_id": "GP054",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.24mm Optimal @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Optimal @BBL P1P 0.6 nozzle.json
index a143d7b6357..4a31ef5a0f1 100644
--- a/resources/profiles/BBL/process/0.24mm Optimal @BBL P1P 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.24mm Optimal @BBL P1P 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.24mm Optimal @BBL P1P 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.24_nozzle_0.6",
+ "inherits": "fdm_process_single_0.24_nozzle_0.6",
"from": "system",
"setting_id": "GP069",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.6 nozzle.json
index 2675aaa3739..9b213430a58 100644
--- a/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.24mm Standard @BBL X1C 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.24_nozzle_0.6",
+ "inherits": "fdm_process_single_0.24_nozzle_0.6",
"from": "system",
"setting_id": "GP029",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.8 nozzle.json
index 9ff95902a77..33d9f252548 100644
--- a/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.24mm Standard @BBL X1C 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.24mm Standard @BBL X1C 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.24_nozzle_0.8",
+ "inherits": "fdm_process_single_0.24_nozzle_0.8",
"from": "system",
"setting_id": "GP032",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1.json b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1.json
index 490c0026cd6..e8ec96ac253 100644
--- a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1.json
+++ b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.28mm Extra Draft @BBL A1",
- "inherits": "fdm_process_bbl_0.28",
+ "inherits": "fdm_process_single_0.28",
"from": "system",
"setting_id": "GP082",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1M.json b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1M.json
index f1923e0d69e..a0c3058a710 100644
--- a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1M.json
+++ b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL A1M.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.28mm Extra Draft @BBL A1M",
- "inherits": "fdm_process_bbl_0.28",
+ "inherits": "fdm_process_single_0.28",
"from": "system",
"setting_id": "GP048",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL P1P.json b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL P1P.json
index 4f9bb7b53ed..a1dbdc67e65 100644
--- a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL P1P.json
+++ b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL P1P.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.28mm Extra Draft @BBL P1P",
- "inherits": "fdm_process_bbl_0.28",
+ "inherits": "fdm_process_single_0.28",
"from": "system",
"setting_id": "GP023",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL X1C.json b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL X1C.json
index 4d544e0f97a..0dbb703749d 100644
--- a/resources/profiles/BBL/process/0.28mm Extra Draft @BBL X1C.json
+++ b/resources/profiles/BBL/process/0.28mm Extra Draft @BBL X1C.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.28mm Extra Draft @BBL X1C",
- "inherits": "fdm_process_bbl_0.28",
+ "inherits": "fdm_process_single_0.28",
"from": "system",
"setting_id": "GP006",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL A1 0.6 nozzle.json
index 26ad6e58061..dce6cbfc307 100644
--- a/resources/profiles/BBL/process/0.30mm Standard @BBL A1 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.30mm Standard @BBL A1 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.30mm Standard @BBL A1 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.30_nozzle_0.6",
+ "inherits": "fdm_process_single_0.30_nozzle_0.6",
"from": "system",
"setting_id": "GP096",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL P1P 0.6 nozzle.json
index 164c03866f3..4fffef2b26f 100644
--- a/resources/profiles/BBL/process/0.30mm Standard @BBL P1P 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.30mm Standard @BBL P1P 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.30mm Standard @BBL P1P 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.30_nozzle_0.6",
+ "inherits": "fdm_process_single_0.30_nozzle_0.6",
"from": "system",
"setting_id": "GP016",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL X1 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL X1 0.6 nozzle.json
index e501731193c..d622c05abad 100644
--- a/resources/profiles/BBL/process/0.30mm Standard @BBL X1 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.30mm Standard @BBL X1 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.30mm Standard @BBL X1 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.30_nozzle_0.6",
+ "inherits": "fdm_process_single_0.30_nozzle_0.6",
"from": "system",
"setting_id": "GP011",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.30mm Standard @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Standard @BBL X1C 0.6 nozzle.json
index 7a629102571..55a49f3888c 100644
--- a/resources/profiles/BBL/process/0.30mm Standard @BBL X1C 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.30mm Standard @BBL X1C 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.30mm Standard @BBL X1C 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.30_nozzle_0.6",
+ "inherits": "fdm_process_single_0.30_nozzle_0.6",
"from": "system",
"setting_id": "GP010",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.30mm Strength @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Strength @BBL A1 0.6 nozzle.json
index 775523f0d6d..67cf897a41d 100644
--- a/resources/profiles/BBL/process/0.30mm Strength @BBL A1 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.30mm Strength @BBL A1 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.30mm Strength @BBL A1 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.30_nozzle_0.6",
+ "inherits": "fdm_process_single_0.30_nozzle_0.6",
"from": "system",
"setting_id": "GP097",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.30mm Strength @BBL A1M 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Strength @BBL A1M 0.6 nozzle.json
index 044c7c24cbd..e5c6026fb5a 100644
--- a/resources/profiles/BBL/process/0.30mm Strength @BBL A1M 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.30mm Strength @BBL A1M 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.30mm Strength @BBL A1M 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.30_nozzle_0.6",
+ "inherits": "fdm_process_single_0.30_nozzle_0.6",
"from": "system",
"setting_id": "GP061",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.30mm Strength @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Strength @BBL P1P 0.6 nozzle.json
index 284206f4fac..8a711ba4a6d 100644
--- a/resources/profiles/BBL/process/0.30mm Strength @BBL P1P 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.30mm Strength @BBL P1P 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.30mm Strength @BBL P1P 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.30_nozzle_0.6",
+ "inherits": "fdm_process_single_0.30_nozzle_0.6",
"from": "system",
"setting_id": "GP067",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.30mm Strength @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/process/0.30mm Strength @BBL X1C 0.6 nozzle.json
index 7d39dcfa0c7..dc25f49cb35 100644
--- a/resources/profiles/BBL/process/0.30mm Strength @BBL X1C 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.30mm Strength @BBL X1C 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.30mm Strength @BBL X1C 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.30_nozzle_0.6",
+ "inherits": "fdm_process_single_0.30_nozzle_0.6",
"from": "system",
"setting_id": "GP036",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.32mm Optimal @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Optimal @BBL A1 0.8 nozzle.json
index b1e8658fce1..799c9c96c2a 100644
--- a/resources/profiles/BBL/process/0.32mm Optimal @BBL A1 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.32mm Optimal @BBL A1 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.32mm Optimal @BBL A1 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.32_nozzle_0.8",
+ "inherits": "fdm_process_single_0.32_nozzle_0.8",
"from": "system",
"setting_id": "GP093",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.32mm Optimal @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Optimal @BBL A1M 0.8 nozzle.json
index e3778f37093..41209c609db 100644
--- a/resources/profiles/BBL/process/0.32mm Optimal @BBL A1M 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.32mm Optimal @BBL A1M 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.32mm Optimal @BBL A1M 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.32_nozzle_0.8",
+ "inherits": "fdm_process_single_0.32_nozzle_0.8",
"from": "system",
"setting_id": "GP058",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.32mm Optimal @BBL P1P 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Optimal @BBL P1P 0.8 nozzle.json
index 7586ed84bfc..8447e73bc21 100644
--- a/resources/profiles/BBL/process/0.32mm Optimal @BBL P1P 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.32mm Optimal @BBL P1P 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.32mm Optimal @BBL P1P 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.32_nozzle_0.8",
+ "inherits": "fdm_process_single_0.32_nozzle_0.8",
"from": "system",
"setting_id": "GP075",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.32mm Standard @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/process/0.32mm Standard @BBL X1C 0.8 nozzle.json
index 148b39055b5..50219578c6e 100644
--- a/resources/profiles/BBL/process/0.32mm Standard @BBL X1C 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.32mm Standard @BBL X1C 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.32mm Standard @BBL X1C 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.32_nozzle_0.8",
+ "inherits": "fdm_process_single_0.32_nozzle_0.8",
"from": "system",
"setting_id": "GP033",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.36mm Draft @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/process/0.36mm Draft @BBL A1 0.6 nozzle.json
index e5ebbcfe315..230396014fe 100644
--- a/resources/profiles/BBL/process/0.36mm Draft @BBL A1 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.36mm Draft @BBL A1 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.36mm Draft @BBL A1 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.36_nozzle_0.6",
+ "inherits": "fdm_process_single_0.36_nozzle_0.6",
"from": "system",
"setting_id": "GP090",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.36mm Draft @BBL A1M 0.6 nozzle.json b/resources/profiles/BBL/process/0.36mm Draft @BBL A1M 0.6 nozzle.json
index 0268a0ea0fa..835655d8312 100644
--- a/resources/profiles/BBL/process/0.36mm Draft @BBL A1M 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.36mm Draft @BBL A1M 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.36mm Draft @BBL A1M 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.36_nozzle_0.6",
+ "inherits": "fdm_process_single_0.36_nozzle_0.6",
"from": "system",
"setting_id": "GP055",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.36mm Draft @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/process/0.36mm Draft @BBL P1P 0.6 nozzle.json
index 51251017b3e..41d988e684f 100644
--- a/resources/profiles/BBL/process/0.36mm Draft @BBL P1P 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.36mm Draft @BBL P1P 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.36mm Draft @BBL P1P 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.36_nozzle_0.6",
+ "inherits": "fdm_process_single_0.36_nozzle_0.6",
"from": "system",
"setting_id": "GP070",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.36mm Standard @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/process/0.36mm Standard @BBL X1C 0.6 nozzle.json
index d09c89ecb7c..2348de67e44 100644
--- a/resources/profiles/BBL/process/0.36mm Standard @BBL X1C 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.36mm Standard @BBL X1C 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.36mm Standard @BBL X1C 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.36_nozzle_0.6",
+ "inherits": "fdm_process_single_0.36_nozzle_0.6",
"from": "system",
"setting_id": "GP030",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL A1 0.8 nozzle.json
index de5ffe19c33..5fa1b108aae 100644
--- a/resources/profiles/BBL/process/0.40mm Standard @BBL A1 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.40mm Standard @BBL A1 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.40mm Standard @BBL A1 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.40_nozzle_0.8",
+ "inherits": "fdm_process_single_0.40_nozzle_0.8",
"from": "system",
"setting_id": "GP098",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL P1P 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL P1P 0.8 nozzle.json
index a647b300b65..57196d2671f 100644
--- a/resources/profiles/BBL/process/0.40mm Standard @BBL P1P 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.40mm Standard @BBL P1P 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.40mm Standard @BBL P1P 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.40_nozzle_0.8",
+ "inherits": "fdm_process_single_0.40_nozzle_0.8",
"from": "system",
"setting_id": "GP017",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL X1 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL X1 0.8 nozzle.json
index f5115f43b79..51339de5254 100644
--- a/resources/profiles/BBL/process/0.40mm Standard @BBL X1 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.40mm Standard @BBL X1 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.40mm Standard @BBL X1 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.40_nozzle_0.8",
+ "inherits": "fdm_process_single_0.40_nozzle_0.8",
"from": "system",
"setting_id": "GP012",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.40mm Standard @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/process/0.40mm Standard @BBL X1C 0.8 nozzle.json
index 15ba67645d6..0a07b0c26e8 100644
--- a/resources/profiles/BBL/process/0.40mm Standard @BBL X1C 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.40mm Standard @BBL X1C 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.40mm Standard @BBL X1C 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.40_nozzle_0.8",
+ "inherits": "fdm_process_single_0.40_nozzle_0.8",
"from": "system",
"setting_id": "GP009",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1 0.6 nozzle.json b/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1 0.6 nozzle.json
index d6b15c6eba8..2c968b7404f 100644
--- a/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.42mm Extra Draft @BBL A1 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.42_nozzle_0.6",
+ "inherits": "fdm_process_single_0.42_nozzle_0.6",
"from": "system",
"setting_id": "GP091",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1M 0.6 nozzle.json b/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1M 0.6 nozzle.json
index 571ab55f0dc..e13b0b7e7ae 100644
--- a/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1M 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.42mm Extra Draft @BBL A1M 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.42mm Extra Draft @BBL A1M 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.42_nozzle_0.6",
+ "inherits": "fdm_process_single_0.42_nozzle_0.6",
"from": "system",
"setting_id": "GP056",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.42mm Extra Draft @BBL P1P 0.6 nozzle.json b/resources/profiles/BBL/process/0.42mm Extra Draft @BBL P1P 0.6 nozzle.json
index 69578536be0..b0e9ac619ee 100644
--- a/resources/profiles/BBL/process/0.42mm Extra Draft @BBL P1P 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.42mm Extra Draft @BBL P1P 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.42mm Extra Draft @BBL P1P 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.42_nozzle_0.6",
+ "inherits": "fdm_process_single_0.42_nozzle_0.6",
"from": "system",
"setting_id": "GP073",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.42mm Standard @BBL X1C 0.6 nozzle.json b/resources/profiles/BBL/process/0.42mm Standard @BBL X1C 0.6 nozzle.json
index 1005112ff6d..857a50dfbd8 100644
--- a/resources/profiles/BBL/process/0.42mm Standard @BBL X1C 0.6 nozzle.json
+++ b/resources/profiles/BBL/process/0.42mm Standard @BBL X1C 0.6 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.42mm Standard @BBL X1C 0.6 nozzle",
- "inherits": "fdm_process_bbl_0.42_nozzle_0.6",
+ "inherits": "fdm_process_single_0.42_nozzle_0.6",
"from": "system",
"setting_id": "GP031",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.48mm Draft @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/process/0.48mm Draft @BBL A1 0.8 nozzle.json
index d3e5e0c26ab..a60a7495be1 100644
--- a/resources/profiles/BBL/process/0.48mm Draft @BBL A1 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.48mm Draft @BBL A1 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.48mm Draft @BBL A1 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.48_nozzle_0.8",
+ "inherits": "fdm_process_single_0.48_nozzle_0.8",
"from": "system",
"setting_id": "GP094",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.48mm Draft @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/process/0.48mm Draft @BBL A1M 0.8 nozzle.json
index dc3159fb7f1..7c619a104c0 100644
--- a/resources/profiles/BBL/process/0.48mm Draft @BBL A1M 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.48mm Draft @BBL A1M 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.48mm Draft @BBL A1M 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.48_nozzle_0.8",
+ "inherits": "fdm_process_single_0.48_nozzle_0.8",
"from": "system",
"setting_id": "GP059",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.48mm Draft @BBL P1P 0.8 nozzle.json b/resources/profiles/BBL/process/0.48mm Draft @BBL P1P 0.8 nozzle.json
index 7a5062a369e..2a056071132 100644
--- a/resources/profiles/BBL/process/0.48mm Draft @BBL P1P 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.48mm Draft @BBL P1P 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.48mm Draft @BBL P1P 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.48_nozzle_0.8",
+ "inherits": "fdm_process_single_0.48_nozzle_0.8",
"from": "system",
"setting_id": "GP074",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.48mm Standard @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/process/0.48mm Standard @BBL X1C 0.8 nozzle.json
index 40c694d8914..398f8d6f117 100644
--- a/resources/profiles/BBL/process/0.48mm Standard @BBL X1C 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.48mm Standard @BBL X1C 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.48mm Standard @BBL X1C 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.48_nozzle_0.8",
+ "inherits": "fdm_process_single_0.48_nozzle_0.8",
"from": "system",
"setting_id": "GP034",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1 0.8 nozzle.json b/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1 0.8 nozzle.json
index 7669c35cdca..3b8778eaee6 100644
--- a/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.56mm Extra Draft @BBL A1 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.56_nozzle_0.8",
+ "inherits": "fdm_process_single_0.56_nozzle_0.8",
"from": "system",
"setting_id": "GP095",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1M 0.8 nozzle.json b/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1M 0.8 nozzle.json
index 8090a646179..e4719a71d66 100644
--- a/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1M 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.56mm Extra Draft @BBL A1M 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.56mm Extra Draft @BBL A1M 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.56_nozzle_0.8",
+ "inherits": "fdm_process_single_0.56_nozzle_0.8",
"from": "system",
"setting_id": "GP060",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.56mm Extra Draft @BBL P1P 0.8 nozzle.json b/resources/profiles/BBL/process/0.56mm Extra Draft @BBL P1P 0.8 nozzle.json
index fcc8b66b82f..bd77cf1e45f 100644
--- a/resources/profiles/BBL/process/0.56mm Extra Draft @BBL P1P 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.56mm Extra Draft @BBL P1P 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.56mm Extra Draft @BBL P1P 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.56_nozzle_0.8",
+ "inherits": "fdm_process_single_0.56_nozzle_0.8",
"from": "system",
"setting_id": "GP071",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/0.56mm Standard @BBL X1C 0.8 nozzle.json b/resources/profiles/BBL/process/0.56mm Standard @BBL X1C 0.8 nozzle.json
index 9b80a1a5dda..fa913af494f 100644
--- a/resources/profiles/BBL/process/0.56mm Standard @BBL X1C 0.8 nozzle.json
+++ b/resources/profiles/BBL/process/0.56mm Standard @BBL X1C 0.8 nozzle.json
@@ -1,7 +1,7 @@
{
"type": "process",
"name": "0.56mm Standard @BBL X1C 0.8 nozzle",
- "inherits": "fdm_process_bbl_0.56_nozzle_0.8",
+ "inherits": "fdm_process_single_0.56_nozzle_0.8",
"from": "system",
"setting_id": "GP035",
"instantiation": "true",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_common.json b/resources/profiles/BBL/process/fdm_process_bbl_common.json
deleted file mode 100644
index d77980a29d8..00000000000
--- a/resources/profiles/BBL/process/fdm_process_bbl_common.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "type": "process",
- "name": "fdm_process_bbl_common",
- "inherits": "fdm_process_common",
- "from": "system",
- "instantiation": "false",
- "max_travel_detour_distance": "0",
- "bottom_surface_pattern": "monotonic",
- "bottom_shell_layers": "3",
- "bottom_shell_thickness": "0",
- "bridge_speed": "50",
- "brim_object_gap": "0.1",
- "compatible_printers_condition": "",
- "draft_shield": "disabled",
- "elefant_foot_compensation": "0",
- "enable_arc_fitting": "1",
- "outer_wall_acceleration": "5000",
- "wall_infill_order": "inner wall/outer wall/infill",
- "line_width": "0.42",
- "internal_bridge_support_thickness": "0.8",
- "initial_layer_acceleration": "500",
- "initial_layer_line_width": "0.5",
- "initial_layer_speed": "30",
- "gap_infill_speed": "50",
- "sparse_infill_speed": "250",
- "ironing_flow": "10%",
- "ironing_spacing": "0.15",
- "ironing_speed": "30",
- "ironing_type": "no ironing",
- "layer_height": "0.2",
- "reduce_infill_retraction": "1",
- "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode",
- "detect_overhang_wall": "1",
- "overhang_1_4_speed": "0",
- "overhang_2_4_speed": "50",
- "overhang_3_4_speed": "30",
- "overhang_4_4_speed": "10",
- "only_one_wall_top": "1",
- "inner_wall_speed": "150",
- "seam_position": "aligned",
- "skirt_height": "1",
- "skirt_loops": "0",
- "minimum_sparse_infill_area": "15",
- "internal_solid_infill_line_width": "0.42",
- "internal_solid_infill_speed": "150",
- "initial_layer_infill_speed": "60",
- "resolution": "0.012",
- "support_type": "normal(auto)",
- "support_style": "default",
- "support_top_z_distance": "0.2",
- "support_bottom_z_distance": "0.2",
- "support_interface_bottom_layers": "2",
- "support_interface_spacing": "0.5",
- "support_expansion": "0",
- "support_base_pattern_spacing": "2.5",
- "support_speed": "150",
- "support_threshold_angle": "30",
- "support_object_xy_distance": "0.35",
- "tree_support_branch_diameter": "2",
- "tree_support_branch_angle": "45",
- "tree_support_wall_count": "0",
- "max_bridge_length": "0",
- "top_surface_pattern": "monotonicline",
- "top_surface_acceleration": "2000",
- "top_surface_speed": "200",
- "top_shell_layers": "3",
- "top_shell_thickness": "0.8",
- "travel_speed": "500",
- "enable_prime_tower": "1",
- "wipe_tower_no_sparse_layers": "0",
- "prime_tower_width": "35",
- "wall_generator": "classic",
- "compatible_printers": []
-}
\ No newline at end of file
diff --git a/resources/profiles/BBL/process/fdm_process_common.json b/resources/profiles/BBL/process/fdm_process_common.json
index 9b99ec1b283..6a8a42a19eb 100644
--- a/resources/profiles/BBL/process/fdm_process_common.json
+++ b/resources/profiles/BBL/process/fdm_process_common.json
@@ -4,72 +4,104 @@
"from": "system",
"instantiation": "false",
"adaptive_layer_height": "0",
- "reduce_crossing_wall": "0",
+ "bottom_shell_layers": "3",
+ "bottom_shell_thickness": "0",
+ "bottom_surface_pattern": "monotonic",
"bridge_flow": "0.95",
+ "bridge_no_support": "0",
"bridge_speed": "25",
+ "brim_object_gap": "0.1",
"brim_width": "5",
- "print_sequence": "by layer",
+ "compatible_printers_condition": "",
"default_acceleration": "10000",
- "bridge_no_support": "0",
- "elefant_foot_compensation": "0.1",
- "outer_wall_line_width": "0.42",
- "ironing_inset": "0.21",
- "outer_wall_speed": "120",
- "line_width": "0.45",
- "infill_direction": "45",
- "sparse_infill_density": "15%",
- "sparse_infill_pattern": "crosshatch",
- "initial_layer_line_width": "0.42",
- "initial_layer_print_height": "0.2",
- "initial_layer_speed": "20",
+ "detect_overhang_wall": "1",
+ "detect_thin_wall": "0",
+ "draft_shield": "disabled",
+ "elefant_foot_compensation": "0",
+ "enable_arc_fitting": "1",
+ "enable_prime_tower": "1",
+ "enable_support": "0",
+ "filename_format": "{input_filename_base}_{filament_type[0]}_{print_time}.gcode",
"gap_infill_speed": "30",
"infill_combination": "0",
- "sparse_infill_line_width": "0.45",
+ "infill_direction": "45",
"infill_wall_overlap": "15%",
- "sparse_infill_speed": "50",
- "interface_shells": "0",
- "detect_overhang_wall": "0",
- "reduce_infill_retraction": "0",
- "filename_format": "{input_filename_base}.gcode",
- "wall_loops": "2",
+ "initial_layer_line_width": "0.5",
+ "initial_layer_print_height": "0.2",
+ "initial_layer_speed": "20",
"inner_wall_line_width": "0.45",
"inner_wall_speed": "40",
+ "interface_shells": "0",
+ "internal_bridge_support_thickness": "0.8",
+ "internal_solid_infill_line_width": "0.42",
+ "internal_solid_infill_speed": "40",
+ "ironing_flow": "10%",
+ "ironing_inset": "0.21",
+ "ironing_spacing": "0.15",
+ "ironing_speed": "30",
+ "ironing_type": "no ironing",
+ "layer_height": "0.2",
+ "line_width": "0.42",
+ "max_bridge_length": "0",
+ "max_travel_detour_distance": "0",
+ "minimum_sparse_infill_area": "15",
+ "only_one_wall_top": "1",
+ "outer_wall_line_width": "0.42",
+ "outer_wall_speed": "120",
+ "overhang_totally_speed": "19",
+ "prime_tower_width": "35",
+ "print_sequence": "by layer",
"print_settings_id": "",
"raft_layers": "0",
- "seam_position": "nearest",
+ "reduce_crossing_wall": "0",
+ "reduce_infill_retraction": "1",
+ "resolution": "0.012",
+ "scarf_angle_threshold": "155",
+ "seam_position": "aligned",
"skirt_distance": "2",
- "skirt_height": "2",
- "minimum_sparse_infill_area": "0",
- "internal_solid_infill_line_width": "0.45",
- "internal_solid_infill_speed": "40",
+ "skirt_height": "1",
+ "skirt_loops": "0",
+ "smooth_coefficient": "80",
+ "sparse_infill_density": "15%",
+ "sparse_infill_line_width": "0.45",
+ "sparse_infill_pattern": "crosshatch",
+ "sparse_infill_speed": "50",
"spiral_mode": "0",
"standby_temperature_delta": "-5",
- "enable_support": "0",
+ "support_base_pattern": "default",
+ "support_base_pattern_spacing": "2.5",
+ "support_bottom_z_distance": "0.2",
+ "support_expansion": "0",
"support_filament": "0",
- "support_line_width": "0.42",
+ "support_interface_bottom_layers": "2",
"support_interface_filament": "0",
- "support_on_build_plate_only": "0",
- "support_top_z_distance": "0.15",
"support_interface_loop_pattern": "0",
- "support_interface_top_layers": "2",
- "support_interface_spacing": "0",
- "support_interface_speed": "80",
"support_interface_pattern": "auto",
- "support_base_pattern": "default",
- "support_base_pattern_spacing": "2",
+ "support_interface_spacing": "0.5",
+ "support_interface_speed": "80",
+ "support_interface_top_layers": "2",
+ "support_line_width": "0.42",
+ "support_object_xy_distance": "0.35",
+ "support_on_build_plate_only": "0",
"support_speed": "40",
- "support_threshold_angle": "40",
- "support_object_xy_distance": "0.5",
- "detect_thin_wall": "0",
+ "support_style": "default",
+ "support_threshold_angle": "30",
+ "support_top_z_distance": "0.2",
+ "support_type": "normal(auto)",
+ "top_shell_layers": "3",
+ "top_shell_thickness": "0.8",
"top_surface_line_width": "0.42",
+ "top_surface_pattern": "monotonicline",
"top_surface_speed": "30",
"travel_speed": "400",
- "enable_prime_tower": "0",
- "prime_tower_width": "60",
- "xy_hole_compensation": "0",
+ "tree_support_branch_angle": "45",
+ "tree_support_branch_diameter": "2",
+ "tree_support_wall_count": "0",
+ "wall_generator": "classic",
+ "wall_infill_order": "inner wall/outer wall/infill",
+ "wall_loops": "2",
+ "wipe_tower_no_sparse_layers": "0",
"xy_contour_compensation": "0",
- "compatible_printers": [],
- "smooth_coefficient": "80",
- "overhang_totally_speed": "19",
- "scarf_angle_threshold": "155"
+ "xy_hole_compensation": "0",
+ "compatible_printers": []
}
\ No newline at end of file
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.06_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_single_0.06_nozzle_0.2.json
similarity index 89%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.06_nozzle_0.2.json
rename to resources/profiles/BBL/process/fdm_process_single_0.06_nozzle_0.2.json
index 364bcaa1ee4..ea35d93d185 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.06_nozzle_0.2.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.06_nozzle_0.2.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.06_nozzle_0.2",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.06_nozzle_0.2",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.06",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.08.json b/resources/profiles/BBL/process/fdm_process_single_0.08.json
similarity index 89%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.08.json
rename to resources/profiles/BBL/process/fdm_process_single_0.08.json
index 61897f7a738..e9b651f2826 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.08.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.08.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.08",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.08",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.08",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.08_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_single_0.08_nozzle_0.2.json
similarity index 89%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.08_nozzle_0.2.json
rename to resources/profiles/BBL/process/fdm_process_single_0.08_nozzle_0.2.json
index 52a1749075b..643d8667c2c 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.08_nozzle_0.2.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.08_nozzle_0.2.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.08_nozzle_0.2",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.08_nozzle_0.2",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.08",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.10_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_single_0.10_nozzle_0.2.json
similarity index 89%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.10_nozzle_0.2.json
rename to resources/profiles/BBL/process/fdm_process_single_0.10_nozzle_0.2.json
index 020a3f9cc87..2caa8812d2a 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.10_nozzle_0.2.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.10_nozzle_0.2.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.10_nozzle_0.2",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.10_nozzle_0.2",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.1",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.12.json b/resources/profiles/BBL/process/fdm_process_single_0.12.json
similarity index 89%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.12.json
rename to resources/profiles/BBL/process/fdm_process_single_0.12.json
index e22593fb300..43878152786 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.12.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.12.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.12",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.12",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.12",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.12_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_single_0.12_nozzle_0.2.json
similarity index 89%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.12_nozzle_0.2.json
rename to resources/profiles/BBL/process/fdm_process_single_0.12_nozzle_0.2.json
index 56aedfd03ed..f2c1662d40a 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.12_nozzle_0.2.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.12_nozzle_0.2.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.12_nozzle_0.2",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.12_nozzle_0.2",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.12",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.14_nozzle_0.2.json b/resources/profiles/BBL/process/fdm_process_single_0.14_nozzle_0.2.json
similarity index 89%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.14_nozzle_0.2.json
rename to resources/profiles/BBL/process/fdm_process_single_0.14_nozzle_0.2.json
index 7c10c6c6730..0cae00d0307 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.14_nozzle_0.2.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.14_nozzle_0.2.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.14_nozzle_0.2",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.14_nozzle_0.2",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.14",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.16.json b/resources/profiles/BBL/process/fdm_process_single_0.16.json
similarity index 89%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.16.json
rename to resources/profiles/BBL/process/fdm_process_single_0.16.json
index 3d60b01d8bb..5bcb42994dc 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.16.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.16.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.16",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.16",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.16",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.18_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_single_0.18_nozzle_0.6.json
similarity index 89%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.18_nozzle_0.6.json
rename to resources/profiles/BBL/process/fdm_process_single_0.18_nozzle_0.6.json
index 31c88af561e..db8428fad79 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.18_nozzle_0.6.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.18_nozzle_0.6.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.18_nozzle_0.6",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.18_nozzle_0.6",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.18",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.20.json b/resources/profiles/BBL/process/fdm_process_single_0.20.json
similarity index 84%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.20.json
rename to resources/profiles/BBL/process/fdm_process_single_0.20.json
index 331f77e4e70..a6809f2df2d 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.20.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.20.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.20",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.20",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"elefant_foot_compensation": "0.15",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.24.json b/resources/profiles/BBL/process/fdm_process_single_0.24.json
similarity index 86%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.24.json
rename to resources/profiles/BBL/process/fdm_process_single_0.24.json
index 1a0bd76e40d..72d1f540097 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.24.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.24.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.24",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.24",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.24",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.24_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.6.json
similarity index 87%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.24_nozzle_0.6.json
rename to resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.6.json
index ca621513421..76d6443637d 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.24_nozzle_0.6.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.6.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.24_nozzle_0.6",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.24_nozzle_0.6",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.24",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.24_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.8.json
similarity index 88%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.24_nozzle_0.8.json
rename to resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.8.json
index 88e1f680758..516aeab7254 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.24_nozzle_0.8.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.24_nozzle_0.8.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.24_nozzle_0.8",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.24_nozzle_0.8",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.24",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.28.json b/resources/profiles/BBL/process/fdm_process_single_0.28.json
similarity index 86%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.28.json
rename to resources/profiles/BBL/process/fdm_process_single_0.28.json
index efd2cc4d010..ebaf9c18a17 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.28.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.28.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.28",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.28",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.28",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.30_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_single_0.30_nozzle_0.6.json
similarity index 87%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.30_nozzle_0.6.json
rename to resources/profiles/BBL/process/fdm_process_single_0.30_nozzle_0.6.json
index 08476dbb784..0fb84521137 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.30_nozzle_0.6.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.30_nozzle_0.6.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.30_nozzle_0.6",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.30_nozzle_0.6",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.3",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.32_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_single_0.32_nozzle_0.8.json
similarity index 88%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.32_nozzle_0.8.json
rename to resources/profiles/BBL/process/fdm_process_single_0.32_nozzle_0.8.json
index c1622d28f55..4c950cea9f5 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.32_nozzle_0.8.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.32_nozzle_0.8.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.32_nozzle_0.8",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.32_nozzle_0.8",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.32",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.36_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_single_0.36_nozzle_0.6.json
similarity index 87%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.36_nozzle_0.6.json
rename to resources/profiles/BBL/process/fdm_process_single_0.36_nozzle_0.6.json
index f9c917dfc58..5deb4a3d4b5 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.36_nozzle_0.6.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.36_nozzle_0.6.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.36_nozzle_0.6",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.36_nozzle_0.6",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.36",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.40_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_single_0.40_nozzle_0.8.json
similarity index 88%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.40_nozzle_0.8.json
rename to resources/profiles/BBL/process/fdm_process_single_0.40_nozzle_0.8.json
index be6eb5944a3..0b8258b96e4 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.40_nozzle_0.8.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.40_nozzle_0.8.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.40_nozzle_0.8",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.40_nozzle_0.8",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.4",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.42_nozzle_0.6.json b/resources/profiles/BBL/process/fdm_process_single_0.42_nozzle_0.6.json
similarity index 87%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.42_nozzle_0.6.json
rename to resources/profiles/BBL/process/fdm_process_single_0.42_nozzle_0.6.json
index d879b17b8b0..6923ab22363 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.42_nozzle_0.6.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.42_nozzle_0.6.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.42_nozzle_0.6",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.42_nozzle_0.6",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.42",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.48_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_single_0.48_nozzle_0.8.json
similarity index 88%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.48_nozzle_0.8.json
rename to resources/profiles/BBL/process/fdm_process_single_0.48_nozzle_0.8.json
index e9955abd55e..f66069668c0 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.48_nozzle_0.8.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.48_nozzle_0.8.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.48_nozzle_0.8",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.48_nozzle_0.8",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.48",
diff --git a/resources/profiles/BBL/process/fdm_process_bbl_0.56_nozzle_0.8.json b/resources/profiles/BBL/process/fdm_process_single_0.56_nozzle_0.8.json
similarity index 88%
rename from resources/profiles/BBL/process/fdm_process_bbl_0.56_nozzle_0.8.json
rename to resources/profiles/BBL/process/fdm_process_single_0.56_nozzle_0.8.json
index 99fb6bf6e7d..41e489443b7 100644
--- a/resources/profiles/BBL/process/fdm_process_bbl_0.56_nozzle_0.8.json
+++ b/resources/profiles/BBL/process/fdm_process_single_0.56_nozzle_0.8.json
@@ -1,7 +1,7 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.56_nozzle_0.8",
- "inherits": "fdm_process_bbl_common",
+ "name": "fdm_process_single_0.56_nozzle_0.8",
+ "inherits": "fdm_process_single_common",
"from": "system",
"instantiation": "false",
"layer_height": "0.56",
diff --git a/resources/profiles/BBL/process/fdm_process_single_common.json b/resources/profiles/BBL/process/fdm_process_single_common.json
new file mode 100644
index 00000000000..9edabd17ec6
--- /dev/null
+++ b/resources/profiles/BBL/process/fdm_process_single_common.json
@@ -0,0 +1,25 @@
+{
+ "type": "process",
+ "name": "fdm_process_single_common",
+ "inherits": "fdm_process_common",
+ "from": "system",
+ "instantiation": "false",
+ "bridge_speed": "50",
+ "gap_infill_speed": "50",
+ "initial_layer_acceleration": "500",
+ "initial_layer_infill_speed": "60",
+ "initial_layer_speed": "30",
+ "inner_wall_speed": "150",
+ "internal_solid_infill_speed": "150",
+ "outer_wall_acceleration": "5000",
+ "overhang_1_4_speed": "0",
+ "overhang_2_4_speed": "50",
+ "overhang_3_4_speed": "30",
+ "overhang_4_4_speed": "10",
+ "sparse_infill_speed": "250",
+ "support_speed": "150",
+ "top_surface_acceleration": "2000",
+ "top_surface_speed": "200",
+ "travel_speed": "500",
+ "compatible_printers": []
+}
\ No newline at end of file
diff --git a/resources/profiles/OrcaArena.json b/resources/profiles/OrcaArena.json
index d218006bee6..6f10184faf0 100644
--- a/resources/profiles/OrcaArena.json
+++ b/resources/profiles/OrcaArena.json
@@ -16,44 +16,44 @@
"sub_path": "process/fdm_process_common.json"
},
{
- "name": "fdm_process_bbl_common",
- "sub_path": "process/fdm_process_bbl_common.json"
+ "name": "fdm_process_arena_common",
+ "sub_path": "process/fdm_process_arena_common.json"
},
{
- "name": "fdm_process_bbl_0.08",
- "sub_path": "process/fdm_process_bbl_0.08.json"
+ "name": "fdm_process_arena_0.08",
+ "sub_path": "process/fdm_process_arena_0.08.json"
},
{
- "name": "fdm_process_bbl_0.10_nozzle_0.2",
- "sub_path": "process/fdm_process_bbl_0.10_nozzle_0.2.json"
+ "name": "fdm_process_arena_0.10_nozzle_0.2",
+ "sub_path": "process/fdm_process_arena_0.10_nozzle_0.2.json"
},
{
- "name": "fdm_process_bbl_0.40_nozzle_0.8",
- "sub_path": "process/fdm_process_bbl_0.40_nozzle_0.8.json"
+ "name": "fdm_process_arena_0.40_nozzle_0.8",
+ "sub_path": "process/fdm_process_arena_0.40_nozzle_0.8.json"
},
{
- "name": "fdm_process_bbl_0.30_nozzle_0.6",
- "sub_path": "process/fdm_process_bbl_0.30_nozzle_0.6.json"
+ "name": "fdm_process_arena_0.30_nozzle_0.6",
+ "sub_path": "process/fdm_process_arena_0.30_nozzle_0.6.json"
},
{
- "name": "fdm_process_bbl_0.12",
- "sub_path": "process/fdm_process_bbl_0.12.json"
+ "name": "fdm_process_arena_0.12",
+ "sub_path": "process/fdm_process_arena_0.12.json"
},
{
- "name": "fdm_process_bbl_0.16",
- "sub_path": "process/fdm_process_bbl_0.16.json"
+ "name": "fdm_process_arena_0.16",
+ "sub_path": "process/fdm_process_arena_0.16.json"
},
{
- "name": "fdm_process_bbl_0.20",
- "sub_path": "process/fdm_process_bbl_0.20.json"
+ "name": "fdm_process_arena_0.20",
+ "sub_path": "process/fdm_process_arena_0.20.json"
},
{
- "name": "fdm_process_bbl_0.24",
- "sub_path": "process/fdm_process_bbl_0.24.json"
+ "name": "fdm_process_arena_0.24",
+ "sub_path": "process/fdm_process_arena_0.24.json"
},
{
- "name": "fdm_process_bbl_0.28",
- "sub_path": "process/fdm_process_bbl_0.28.json"
+ "name": "fdm_process_arena_0.28",
+ "sub_path": "process/fdm_process_arena_0.28.json"
},
{
"name": "0.08mm Extra Fine @Arena X1C",
@@ -96,20 +96,20 @@
"sub_path": "process/0.40mm Standard @Arena X1C 0.8 nozzle.json"
},
{
- "name": "fdm_process_bbl_0.06_nozzle_0.2",
- "sub_path": "process/fdm_process_bbl_0.06_nozzle_0.2.json"
+ "name": "fdm_process_arena_0.06_nozzle_0.2",
+ "sub_path": "process/fdm_process_arena_0.06_nozzle_0.2.json"
},
{
- "name": "fdm_process_bbl_0.08_nozzle_0.2",
- "sub_path": "process/fdm_process_bbl_0.08_nozzle_0.2.json"
+ "name": "fdm_process_arena_0.08_nozzle_0.2",
+ "sub_path": "process/fdm_process_arena_0.08_nozzle_0.2.json"
},
{
- "name": "fdm_process_bbl_0.12_nozzle_0.2",
- "sub_path": "process/fdm_process_bbl_0.12_nozzle_0.2.json"
+ "name": "fdm_process_arena_0.12_nozzle_0.2",
+ "sub_path": "process/fdm_process_arena_0.12_nozzle_0.2.json"
},
{
- "name": "fdm_process_bbl_0.14_nozzle_0.2",
- "sub_path": "process/fdm_process_bbl_0.14_nozzle_0.2.json"
+ "name": "fdm_process_arena_0.14_nozzle_0.2",
+ "sub_path": "process/fdm_process_arena_0.14_nozzle_0.2.json"
},
{
"name": "0.06mm Standard @Arena X1C 0.2 nozzle",
@@ -128,20 +128,20 @@
"sub_path": "process/0.14mm Standard @Arena X1C 0.2 nozzle.json"
},
{
- "name": "fdm_process_bbl_0.18_nozzle_0.6",
- "sub_path": "process/fdm_process_bbl_0.18_nozzle_0.6.json"
+ "name": "fdm_process_arena_0.18_nozzle_0.6",
+ "sub_path": "process/fdm_process_arena_0.18_nozzle_0.6.json"
},
{
- "name": "fdm_process_bbl_0.24_nozzle_0.6",
- "sub_path": "process/fdm_process_bbl_0.24_nozzle_0.6.json"
+ "name": "fdm_process_arena_0.24_nozzle_0.6",
+ "sub_path": "process/fdm_process_arena_0.24_nozzle_0.6.json"
},
{
- "name": "fdm_process_bbl_0.36_nozzle_0.6",
- "sub_path": "process/fdm_process_bbl_0.36_nozzle_0.6.json"
+ "name": "fdm_process_arena_0.36_nozzle_0.6",
+ "sub_path": "process/fdm_process_arena_0.36_nozzle_0.6.json"
},
{
- "name": "fdm_process_bbl_0.42_nozzle_0.6",
- "sub_path": "process/fdm_process_bbl_0.42_nozzle_0.6.json"
+ "name": "fdm_process_arena_0.42_nozzle_0.6",
+ "sub_path": "process/fdm_process_arena_0.42_nozzle_0.6.json"
},
{
"name": "0.18mm Standard @Arena X1C 0.6 nozzle",
@@ -160,20 +160,20 @@
"sub_path": "process/0.42mm Standard @Arena X1C 0.6 nozzle.json"
},
{
- "name": "fdm_process_bbl_0.24_nozzle_0.8",
- "sub_path": "process/fdm_process_bbl_0.24_nozzle_0.8.json"
+ "name": "fdm_process_arena_0.24_nozzle_0.8",
+ "sub_path": "process/fdm_process_arena_0.24_nozzle_0.8.json"
},
{
- "name": "fdm_process_bbl_0.32_nozzle_0.8",
- "sub_path": "process/fdm_process_bbl_0.32_nozzle_0.8.json"
+ "name": "fdm_process_arena_0.32_nozzle_0.8",
+ "sub_path": "process/fdm_process_arena_0.32_nozzle_0.8.json"
},
{
- "name": "fdm_process_bbl_0.48_nozzle_0.8",
- "sub_path": "process/fdm_process_bbl_0.48_nozzle_0.8.json"
+ "name": "fdm_process_arena_0.48_nozzle_0.8",
+ "sub_path": "process/fdm_process_arena_0.48_nozzle_0.8.json"
},
{
- "name": "fdm_process_bbl_0.56_nozzle_0.8",
- "sub_path": "process/fdm_process_bbl_0.56_nozzle_0.8.json"
+ "name": "fdm_process_arena_0.56_nozzle_0.8",
+ "sub_path": "process/fdm_process_arena_0.56_nozzle_0.8.json"
},
{
"name": "0.24mm Standard @Arena X1C 0.8 nozzle",
diff --git a/resources/profiles/OrcaArena/process/0.06mm Standard @Arena X1C 0.2 nozzle.json b/resources/profiles/OrcaArena/process/0.06mm Standard @Arena X1C 0.2 nozzle.json
index fb227626fd0..c11c22991ad 100644
--- a/resources/profiles/OrcaArena/process/0.06mm Standard @Arena X1C 0.2 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.06mm Standard @Arena X1C 0.2 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.06mm Standard @Arena X1C 0.2 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.06_nozzle_0.2",
+ "inherits": "fdm_process_arena_0.06_nozzle_0.2",
"compatible_printers": [
"Orca Arena X1 Carbon 0.2 nozzle",
"Orca Arena X1 0.2 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.08mm Extra Fine @Arena X1C.json b/resources/profiles/OrcaArena/process/0.08mm Extra Fine @Arena X1C.json
index 3f92bb8b6fd..a21add8f871 100644
--- a/resources/profiles/OrcaArena/process/0.08mm Extra Fine @Arena X1C.json
+++ b/resources/profiles/OrcaArena/process/0.08mm Extra Fine @Arena X1C.json
@@ -4,7 +4,7 @@
"name": "0.08mm Extra Fine @Arena X1C",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.08",
+ "inherits": "fdm_process_arena_0.08",
"compatible_printers": [
"Orca Arena X1 Carbon 0.4 nozzle",
"Orca Arena X1 0.4 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.08mm Standard @Arena X1C 0.2 nozzle.json b/resources/profiles/OrcaArena/process/0.08mm Standard @Arena X1C 0.2 nozzle.json
index b2fe7cb3bb9..99c3bae3852 100644
--- a/resources/profiles/OrcaArena/process/0.08mm Standard @Arena X1C 0.2 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.08mm Standard @Arena X1C 0.2 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.08mm Standard @Arena X1C 0.2 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.08_nozzle_0.2",
+ "inherits": "fdm_process_arena_0.08_nozzle_0.2",
"compatible_printers": [
"Orca Arena X1 Carbon 0.2 nozzle",
"Orca Arena X1 0.2 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.10mm Standard @Arena X1C 0.2 nozzle.json b/resources/profiles/OrcaArena/process/0.10mm Standard @Arena X1C 0.2 nozzle.json
index 89a48d31bbf..c392d0ee9c6 100644
--- a/resources/profiles/OrcaArena/process/0.10mm Standard @Arena X1C 0.2 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.10mm Standard @Arena X1C 0.2 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.10mm Standard @Arena X1C 0.2 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.10_nozzle_0.2",
+ "inherits": "fdm_process_arena_0.10_nozzle_0.2",
"compatible_printers": [
"Orca Arena X1 Carbon 0.2 nozzle",
"Orca Arena X1 0.2 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.12mm Fine @Arena X1C.json b/resources/profiles/OrcaArena/process/0.12mm Fine @Arena X1C.json
index 140f6e7331d..e5c28d36eb2 100644
--- a/resources/profiles/OrcaArena/process/0.12mm Fine @Arena X1C.json
+++ b/resources/profiles/OrcaArena/process/0.12mm Fine @Arena X1C.json
@@ -4,7 +4,7 @@
"name": "0.12mm Fine @Arena X1C",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.12",
+ "inherits": "fdm_process_arena_0.12",
"compatible_printers": [
"Orca Arena X1 Carbon 0.4 nozzle",
"Orca Arena X1 0.4 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.12mm Standard @Arena X1C 0.2 nozzle.json b/resources/profiles/OrcaArena/process/0.12mm Standard @Arena X1C 0.2 nozzle.json
index c63dffe1a47..bc0686ffb87 100644
--- a/resources/profiles/OrcaArena/process/0.12mm Standard @Arena X1C 0.2 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.12mm Standard @Arena X1C 0.2 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.12mm Standard @Arena X1C 0.2 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.12_nozzle_0.2",
+ "inherits": "fdm_process_arena_0.12_nozzle_0.2",
"compatible_printers": [
"Orca Arena X1 Carbon 0.2 nozzle",
"Orca Arena X1 0.2 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.14mm Standard @Arena X1C 0.2 nozzle.json b/resources/profiles/OrcaArena/process/0.14mm Standard @Arena X1C 0.2 nozzle.json
index 2d299244745..37809dbca96 100644
--- a/resources/profiles/OrcaArena/process/0.14mm Standard @Arena X1C 0.2 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.14mm Standard @Arena X1C 0.2 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.14mm Standard @Arena X1C 0.2 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.14_nozzle_0.2",
+ "inherits": "fdm_process_arena_0.14_nozzle_0.2",
"compatible_printers": [
"Orca Arena X1 Carbon 0.2 nozzle",
"Orca Arena X1 0.2 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.16mm Optimal @Arena X1C.json b/resources/profiles/OrcaArena/process/0.16mm Optimal @Arena X1C.json
index 6c41ea8e3f1..a4eae17d26e 100644
--- a/resources/profiles/OrcaArena/process/0.16mm Optimal @Arena X1C.json
+++ b/resources/profiles/OrcaArena/process/0.16mm Optimal @Arena X1C.json
@@ -4,7 +4,7 @@
"name": "0.16mm Optimal @Arena X1C",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.16",
+ "inherits": "fdm_process_arena_0.16",
"compatible_printers": [
"Orca Arena X1 Carbon 0.4 nozzle",
"Orca Arena X1 0.4 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.18mm Standard @Arena X1C 0.6 nozzle.json b/resources/profiles/OrcaArena/process/0.18mm Standard @Arena X1C 0.6 nozzle.json
index 23e5a273408..66371f83394 100644
--- a/resources/profiles/OrcaArena/process/0.18mm Standard @Arena X1C 0.6 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.18mm Standard @Arena X1C 0.6 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.18mm Standard @Arena X1C 0.6 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.18_nozzle_0.6",
+ "inherits": "fdm_process_arena_0.18_nozzle_0.6",
"compatible_printers": [
"Orca Arena X1 Carbon 0.6 nozzle",
"Orca Arena X1 0.6 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.20mm Bambu Support W @Arena X1C.json b/resources/profiles/OrcaArena/process/0.20mm Bambu Support W @Arena X1C.json
index b31526453e0..ed49f5d0e96 100644
--- a/resources/profiles/OrcaArena/process/0.20mm Bambu Support W @Arena X1C.json
+++ b/resources/profiles/OrcaArena/process/0.20mm Bambu Support W @Arena X1C.json
@@ -4,7 +4,7 @@
"name": "0.20mm Arena Support W @Arena X1C",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.20",
+ "inherits": "fdm_process_arena_0.20",
"enable_support": "1",
"support_interface_top_layers": "3",
"support_top_z_distance": "0.2",
diff --git a/resources/profiles/OrcaArena/process/0.20mm Standard @Arena X1C.json b/resources/profiles/OrcaArena/process/0.20mm Standard @Arena X1C.json
index 7c29054e32c..dbc599a13c7 100644
--- a/resources/profiles/OrcaArena/process/0.20mm Standard @Arena X1C.json
+++ b/resources/profiles/OrcaArena/process/0.20mm Standard @Arena X1C.json
@@ -4,7 +4,7 @@
"name": "0.20mm Standard @Arena X1C",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.20",
+ "inherits": "fdm_process_arena_0.20",
"compatible_printers": [
"Orca Arena X1 Carbon 0.4 nozzle",
"Orca Arena X1 0.4 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.20mm Strength @Arena X1C.json b/resources/profiles/OrcaArena/process/0.20mm Strength @Arena X1C.json
index aee1feb20f7..70284b77199 100644
--- a/resources/profiles/OrcaArena/process/0.20mm Strength @Arena X1C.json
+++ b/resources/profiles/OrcaArena/process/0.20mm Strength @Arena X1C.json
@@ -4,7 +4,7 @@
"name": "0.20mm Strength @Arena X1C",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.20",
+ "inherits": "fdm_process_arena_0.20",
"outer_wall_speed": "60",
"wall_loops": "6",
"sparse_infill_density": "25%",
diff --git a/resources/profiles/OrcaArena/process/0.24mm Draft @Arena X1C.json b/resources/profiles/OrcaArena/process/0.24mm Draft @Arena X1C.json
index 3493d123c87..b1a5683ad9b 100644
--- a/resources/profiles/OrcaArena/process/0.24mm Draft @Arena X1C.json
+++ b/resources/profiles/OrcaArena/process/0.24mm Draft @Arena X1C.json
@@ -4,7 +4,7 @@
"name": "0.24mm Draft @Arena X1C",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.24",
+ "inherits": "fdm_process_arena_0.24",
"compatible_printers": [
"Orca Arena X1 Carbon 0.4 nozzle",
"Orca Arena X1 0.4 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.24mm Standard @Arena X1C 0.6 nozzle.json b/resources/profiles/OrcaArena/process/0.24mm Standard @Arena X1C 0.6 nozzle.json
index 0b68f55207f..2468e03eb30 100644
--- a/resources/profiles/OrcaArena/process/0.24mm Standard @Arena X1C 0.6 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.24mm Standard @Arena X1C 0.6 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.24mm Standard @Arena X1C 0.6 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.24_nozzle_0.6",
+ "inherits": "fdm_process_arena_0.24_nozzle_0.6",
"compatible_printers": [
"Orca Arena X1 Carbon 0.6 nozzle",
"Orca Arena X1 0.6 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.24mm Standard @Arena X1C 0.8 nozzle.json b/resources/profiles/OrcaArena/process/0.24mm Standard @Arena X1C 0.8 nozzle.json
index d41f42e7059..2b699eef159 100644
--- a/resources/profiles/OrcaArena/process/0.24mm Standard @Arena X1C 0.8 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.24mm Standard @Arena X1C 0.8 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.24mm Standard @Arena X1C 0.8 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.24_nozzle_0.8",
+ "inherits": "fdm_process_arena_0.24_nozzle_0.8",
"compatible_printers": [
"Orca Arena X1 Carbon 0.8 nozzle",
"Orca Arena X1 0.8 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.28mm Extra Draft @Arena X1C.json b/resources/profiles/OrcaArena/process/0.28mm Extra Draft @Arena X1C.json
index 0f7399c0ffe..3f0ce712d23 100644
--- a/resources/profiles/OrcaArena/process/0.28mm Extra Draft @Arena X1C.json
+++ b/resources/profiles/OrcaArena/process/0.28mm Extra Draft @Arena X1C.json
@@ -4,7 +4,7 @@
"name": "0.28mm Extra Draft @Arena X1C",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.28",
+ "inherits": "fdm_process_arena_0.28",
"compatible_printers": [
"Orca Arena X1 Carbon 0.4 nozzle",
"Orca Arena X1 0.4 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.30mm Standard @Arena X1C 0.6 nozzle.json b/resources/profiles/OrcaArena/process/0.30mm Standard @Arena X1C 0.6 nozzle.json
index 7b4a4d159dc..72862163d2f 100644
--- a/resources/profiles/OrcaArena/process/0.30mm Standard @Arena X1C 0.6 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.30mm Standard @Arena X1C 0.6 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.30mm Standard @Arena X1C 0.6 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.30_nozzle_0.6",
+ "inherits": "fdm_process_arena_0.30_nozzle_0.6",
"compatible_printers": [
"Orca Arena X1 Carbon 0.6 nozzle"
]
diff --git a/resources/profiles/OrcaArena/process/0.30mm Strength @Arena X1C 0.6 nozzle.json b/resources/profiles/OrcaArena/process/0.30mm Strength @Arena X1C 0.6 nozzle.json
index 4703c9bd976..22e7ceab3b0 100644
--- a/resources/profiles/OrcaArena/process/0.30mm Strength @Arena X1C 0.6 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.30mm Strength @Arena X1C 0.6 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.30mm Strength @Arena X1C 0.6 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.30_nozzle_0.6",
+ "inherits": "fdm_process_arena_0.30_nozzle_0.6",
"wall_loops": "4",
"sparse_infill_density":"25%",
"compatible_printers": [
diff --git a/resources/profiles/OrcaArena/process/0.32mm Standard @Arena X1C 0.8 nozzle.json b/resources/profiles/OrcaArena/process/0.32mm Standard @Arena X1C 0.8 nozzle.json
index 46495ffd045..187a24d811e 100644
--- a/resources/profiles/OrcaArena/process/0.32mm Standard @Arena X1C 0.8 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.32mm Standard @Arena X1C 0.8 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.32mm Standard @Arena X1C 0.8 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.32_nozzle_0.8",
+ "inherits": "fdm_process_arena_0.32_nozzle_0.8",
"compatible_printers": [
"Orca Arena X1 Carbon 0.8 nozzle",
"Orca Arena X1 0.8 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.36mm Standard @Arena X1C 0.6 nozzle.json b/resources/profiles/OrcaArena/process/0.36mm Standard @Arena X1C 0.6 nozzle.json
index 73188a627a3..51c677d51f3 100644
--- a/resources/profiles/OrcaArena/process/0.36mm Standard @Arena X1C 0.6 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.36mm Standard @Arena X1C 0.6 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.36mm Standard @Arena X1C 0.6 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.36_nozzle_0.6",
+ "inherits": "fdm_process_arena_0.36_nozzle_0.6",
"compatible_printers": [
"Orca Arena X1 Carbon 0.6 nozzle",
"Orca Arena X1 0.6 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.40mm Standard @Arena X1C 0.8 nozzle.json b/resources/profiles/OrcaArena/process/0.40mm Standard @Arena X1C 0.8 nozzle.json
index c89228221ae..69f766b0a59 100644
--- a/resources/profiles/OrcaArena/process/0.40mm Standard @Arena X1C 0.8 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.40mm Standard @Arena X1C 0.8 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.40mm Standard @Arena X1C 0.8 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.40_nozzle_0.8",
+ "inherits": "fdm_process_arena_0.40_nozzle_0.8",
"compatible_printers": [
"Orca Arena X1 Carbon 0.8 nozzle"
]
diff --git a/resources/profiles/OrcaArena/process/0.42mm Standard @Arena X1C 0.6 nozzle.json b/resources/profiles/OrcaArena/process/0.42mm Standard @Arena X1C 0.6 nozzle.json
index 0dd4f8e8299..de38bf2726f 100644
--- a/resources/profiles/OrcaArena/process/0.42mm Standard @Arena X1C 0.6 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.42mm Standard @Arena X1C 0.6 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.42mm Standard @Arena X1C 0.6 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.42_nozzle_0.6",
+ "inherits": "fdm_process_arena_0.42_nozzle_0.6",
"compatible_printers": [
"Orca Arena X1 Carbon 0.6 nozzle",
"Orca Arena X1 0.6 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.48mm Standard @Arena X1C 0.8 nozzle.json b/resources/profiles/OrcaArena/process/0.48mm Standard @Arena X1C 0.8 nozzle.json
index d745f58ddad..86d937870f3 100644
--- a/resources/profiles/OrcaArena/process/0.48mm Standard @Arena X1C 0.8 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.48mm Standard @Arena X1C 0.8 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.48mm Standard @Arena X1C 0.8 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.48_nozzle_0.8",
+ "inherits": "fdm_process_arena_0.48_nozzle_0.8",
"compatible_printers": [
"Orca Arena X1 Carbon 0.8 nozzle",
"Orca Arena X1 0.8 nozzle"
diff --git a/resources/profiles/OrcaArena/process/0.56mm Standard @Arena X1C 0.8 nozzle.json b/resources/profiles/OrcaArena/process/0.56mm Standard @Arena X1C 0.8 nozzle.json
index 15fade29642..62e578beb8b 100644
--- a/resources/profiles/OrcaArena/process/0.56mm Standard @Arena X1C 0.8 nozzle.json
+++ b/resources/profiles/OrcaArena/process/0.56mm Standard @Arena X1C 0.8 nozzle.json
@@ -4,7 +4,7 @@
"name": "0.56mm Standard @Arena X1C 0.8 nozzle",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.56_nozzle_0.8",
+ "inherits": "fdm_process_arena_0.56_nozzle_0.8",
"compatible_printers": [
"Orca Arena X1 Carbon 0.8 nozzle",
"Orca Arena X1 0.8 nozzle"
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.06_nozzle_0.2.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.06_nozzle_0.2.json
similarity index 87%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.06_nozzle_0.2.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.06_nozzle_0.2.json
index 35257823ae7..e842267f207 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.06_nozzle_0.2.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.06_nozzle_0.2.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.06_nozzle_0.2",
+ "name": "fdm_process_arena_0.06_nozzle_0.2",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.06",
"initial_layer_print_height": "0.1",
"wall_loops": "4",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.08.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.08.json
similarity index 89%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.08.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.08.json
index 6a3bd6f05db..891e3e65279 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.08.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.08.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.08",
+ "name": "fdm_process_arena_0.08",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.08",
"elefant_foot_compensation": "0.15",
"bottom_shell_layers": "7",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.08_nozzle_0.2.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.08_nozzle_0.2.json
similarity index 87%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.08_nozzle_0.2.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.08_nozzle_0.2.json
index 90fae21397b..e19a49279b9 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.08_nozzle_0.2.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.08_nozzle_0.2.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.08_nozzle_0.2",
+ "name": "fdm_process_arena_0.08_nozzle_0.2",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.08",
"initial_layer_print_height": "0.1",
"wall_loops": "4",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.10_nozzle_0.2.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.10_nozzle_0.2.json
similarity index 88%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.10_nozzle_0.2.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.10_nozzle_0.2.json
index a53df8b5a9f..2a87fdde762 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.10_nozzle_0.2.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.10_nozzle_0.2.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.10_nozzle_0.2",
+ "name": "fdm_process_arena_0.10_nozzle_0.2",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.1",
"initial_layer_print_height": "0.1",
"wall_loops": "4",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.12.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.12.json
similarity index 89%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.12.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.12.json
index 3890b18a5c3..b31a0b012a7 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.12.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.12.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.12",
+ "name": "fdm_process_arena_0.12",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.12",
"bottom_shell_layers": "5",
"elefant_foot_compensation": "0.15",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.12_nozzle_0.2.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.12_nozzle_0.2.json
similarity index 87%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.12_nozzle_0.2.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.12_nozzle_0.2.json
index 8a76d4c7cb2..432d530d207 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.12_nozzle_0.2.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.12_nozzle_0.2.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.12_nozzle_0.2",
+ "name": "fdm_process_arena_0.12_nozzle_0.2",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.12",
"initial_layer_print_height": "0.1",
"wall_loops": "4",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.14_nozzle_0.2.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.14_nozzle_0.2.json
similarity index 87%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.14_nozzle_0.2.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.14_nozzle_0.2.json
index 81bd28b30c3..ec826048d7c 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.14_nozzle_0.2.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.14_nozzle_0.2.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.14_nozzle_0.2",
+ "name": "fdm_process_arena_0.14_nozzle_0.2",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.14",
"initial_layer_print_height": "0.1",
"wall_loops": "4",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.16.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.16.json
similarity index 89%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.16.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.16.json
index 98523a0fa66..016a2a1a016 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.16.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.16.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.16",
+ "name": "fdm_process_arena_0.16",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.16",
"elefant_foot_compensation": "0.15",
"bottom_shell_layers": "4",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.18_nozzle_0.6.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.18_nozzle_0.6.json
similarity index 91%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.18_nozzle_0.6.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.18_nozzle_0.6.json
index 1a9120fdb98..9fb9a8582fa 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.18_nozzle_0.6.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.18_nozzle_0.6.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.18_nozzle_0.6",
+ "name": "fdm_process_arena_0.18_nozzle_0.6",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.18",
"initial_layer_print_height": "0.3",
"wall_loops": "2",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.20.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.20.json
similarity index 86%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.20.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.20.json
index 12fe82dd123..a03d7a0e750 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.20.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.20.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.20",
+ "name": "fdm_process_arena_0.20",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.2",
"elefant_foot_compensation": "0.15",
"bottom_shell_layers": "3",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.24.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.24.json
similarity index 88%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.24.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.24.json
index bb43494a56e..ff5cbbbdd46 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.24.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.24.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.24",
+ "name": "fdm_process_arena_0.24",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.24",
"elefant_foot_compensation": "0.15",
"top_surface_line_width": "0.45",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.24_nozzle_0.6.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.24_nozzle_0.6.json
similarity index 91%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.24_nozzle_0.6.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.24_nozzle_0.6.json
index aec643962c1..b2d86d7f21e 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.24_nozzle_0.6.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.24_nozzle_0.6.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.24_nozzle_0.6",
+ "name": "fdm_process_arena_0.24_nozzle_0.6",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.24",
"initial_layer_print_height": "0.3",
"wall_loops": "2",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.24_nozzle_0.8.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.24_nozzle_0.8.json
similarity index 91%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.24_nozzle_0.8.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.24_nozzle_0.8.json
index 55d9be4407f..a271c409896 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.24_nozzle_0.8.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.24_nozzle_0.8.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.24_nozzle_0.8",
+ "name": "fdm_process_arena_0.24_nozzle_0.8",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.24",
"initial_layer_print_height": "0.4",
"wall_loops": "2",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.28.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.28.json
similarity index 88%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.28.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.28.json
index aeb45ebe562..fc2ea3c5d81 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.28.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.28.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.28",
+ "name": "fdm_process_arena_0.28",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.28",
"elefant_foot_compensation": "0.15",
"top_surface_line_width": "0.45",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.30_nozzle_0.6.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.30_nozzle_0.6.json
similarity index 91%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.30_nozzle_0.6.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.30_nozzle_0.6.json
index 37decfe4dad..0834bbf0d64 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.30_nozzle_0.6.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.30_nozzle_0.6.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.30_nozzle_0.6",
+ "name": "fdm_process_arena_0.30_nozzle_0.6",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.3",
"initial_layer_print_height": "0.3",
"wall_loops": "3",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.32_nozzle_0.8.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.32_nozzle_0.8.json
similarity index 91%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.32_nozzle_0.8.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.32_nozzle_0.8.json
index 6172f32e94e..4519ea607d9 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.32_nozzle_0.8.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.32_nozzle_0.8.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.32_nozzle_0.8",
+ "name": "fdm_process_arena_0.32_nozzle_0.8",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.32",
"initial_layer_print_height": "0.3",
"wall_loops": "2",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.36_nozzle_0.6.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.36_nozzle_0.6.json
similarity index 91%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.36_nozzle_0.6.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.36_nozzle_0.6.json
index a8a8a1387a6..4c2316f806d 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.36_nozzle_0.6.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.36_nozzle_0.6.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.36_nozzle_0.6",
+ "name": "fdm_process_arena_0.36_nozzle_0.6",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.36",
"initial_layer_print_height": "0.3",
"wall_loops": "2",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.40_nozzle_0.8.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.40_nozzle_0.8.json
similarity index 91%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.40_nozzle_0.8.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.40_nozzle_0.8.json
index aa514e6f044..d643b852b74 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.40_nozzle_0.8.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.40_nozzle_0.8.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.40_nozzle_0.8",
+ "name": "fdm_process_arena_0.40_nozzle_0.8",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.4",
"initial_layer_print_height": "0.4",
"wall_loops": "3",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.42_nozzle_0.6.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.42_nozzle_0.6.json
similarity index 91%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.42_nozzle_0.6.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.42_nozzle_0.6.json
index 7d9309c1b1c..35e8b4a7b9e 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.42_nozzle_0.6.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.42_nozzle_0.6.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.42_nozzle_0.6",
+ "name": "fdm_process_arena_0.42_nozzle_0.6",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.42",
"initial_layer_print_height": "0.3",
"wall_loops": "2",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.48_nozzle_0.8.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.48_nozzle_0.8.json
similarity index 91%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.48_nozzle_0.8.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.48_nozzle_0.8.json
index d026bdc7469..92b4378781a 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.48_nozzle_0.8.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.48_nozzle_0.8.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.48_nozzle_0.8",
+ "name": "fdm_process_arena_0.48_nozzle_0.8",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.48",
"initial_layer_print_height": "0.4",
"wall_loops": "2",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.56_nozzle_0.8.json b/resources/profiles/OrcaArena/process/fdm_process_arena_0.56_nozzle_0.8.json
similarity index 91%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_0.56_nozzle_0.8.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_0.56_nozzle_0.8.json
index f43ab7e2e5f..8039c670211 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_0.56_nozzle_0.8.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_0.56_nozzle_0.8.json
@@ -1,9 +1,9 @@
{
"type": "process",
- "name": "fdm_process_bbl_0.56_nozzle_0.8",
+ "name": "fdm_process_arena_0.56_nozzle_0.8",
"from": "system",
"instantiation": "false",
- "inherits": "fdm_process_bbl_common",
+ "inherits": "fdm_process_arena_common",
"layer_height": "0.56",
"initial_layer_print_height": "0.4",
"wall_loops": "2",
diff --git a/resources/profiles/OrcaArena/process/fdm_process_bbl_common.json b/resources/profiles/OrcaArena/process/fdm_process_arena_common.json
similarity index 98%
rename from resources/profiles/OrcaArena/process/fdm_process_bbl_common.json
rename to resources/profiles/OrcaArena/process/fdm_process_arena_common.json
index 0f484cdbedf..09e687514ca 100644
--- a/resources/profiles/OrcaArena/process/fdm_process_bbl_common.json
+++ b/resources/profiles/OrcaArena/process/fdm_process_arena_common.json
@@ -1,6 +1,6 @@
{
"type": "process",
- "name": "fdm_process_bbl_common",
+ "name": "fdm_process_arena_common",
"from": "system",
"instantiation": "false",
"inherits": "fdm_process_common",
diff --git a/resources/profiles/Ratrig/process/0.20mm Bambu Support W @RatRig.json b/resources/profiles/Ratrig/process/0.20mm Bambu Support W @RatRig.json
index 3e4b2431bbc..9e6363d6e20 100644
--- a/resources/profiles/Ratrig/process/0.20mm Bambu Support W @RatRig.json
+++ b/resources/profiles/Ratrig/process/0.20mm Bambu Support W @RatRig.json
@@ -4,7 +4,7 @@
"name": "0.20mm Bambu Support W @RatRig",
"from": "system",
"instantiation": "true",
- "inherits": "fdm_process_bbl_0.20",
+ "inherits": "fdm_process_single_0.20",
"enable_support": "1",
"support_interface_top_layers": "3",
"support_top_z_distance": "0.2",
diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp
index 588d1e0c0a1..4cb3c79207c 100644
--- a/src/libslic3r/AppConfig.cpp
+++ b/src/libslic3r/AppConfig.cpp
@@ -254,6 +254,9 @@ void AppConfig::set_defaults()
if (get("stealth_mode").empty()) {
set_bool("stealth_mode", false);
}
+ if (get("legacy_networking").empty()) {
+ set_bool("legacy_networking", true);
+ }
if(get("check_stable_update_only").empty()) {
set_bool("check_stable_update_only", false);
diff --git a/src/libslic3r/Format/bbs_3mf.cpp b/src/libslic3r/Format/bbs_3mf.cpp
index 72c6d54ca7c..00c588283d4 100644
--- a/src/libslic3r/Format/bbs_3mf.cpp
+++ b/src/libslic3r/Format/bbs_3mf.cpp
@@ -291,6 +291,8 @@ static constexpr const char* FIRST_LAYER_PRINT_SEQUENCE_ATTR = "first_layer_prin
static constexpr const char* OTHER_LAYERS_PRINT_SEQUENCE_ATTR = "other_layers_print_sequence";
static constexpr const char* OTHER_LAYERS_PRINT_SEQUENCE_NUMS_ATTR = "other_layers_print_sequence_nums";
static constexpr const char* SPIRAL_VASE_MODE = "spiral_mode";
+static constexpr const char* FILAMENT_MAP_MODE_ATTR = "filament_map_mode";
+static constexpr const char* FILAMENT_MAP_ATTR = "filament_maps";
static constexpr const char* GCODE_FILE_ATTR = "gcode_file";
static constexpr const char* THUMBNAIL_FILE_ATTR = "thumbnail_file";
static constexpr const char* NO_LIGHT_THUMBNAIL_FILE_ATTR = "thumbnail_no_light_file";
@@ -5598,7 +5600,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
bool _add_project_config_file_to_archive(mz_zip_archive& archive, const DynamicPrintConfig &config, Model& model);
//BBS: add project embedded preset files
bool _add_project_embedded_presets_to_archive(mz_zip_archive& archive, Model& model, std::vector project_presets);
- bool _add_model_config_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list, const ObjectToObjectDataMap &objects_data, int export_plate_idx = -1, bool save_gcode = true, bool use_loaded_id = false);
+ bool _add_model_config_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list, const ObjectToObjectDataMap &objects_data, const DynamicPrintConfig& config, int export_plate_idx = -1, bool save_gcode = true, bool use_loaded_id = false);
bool _add_cut_information_file_to_archive(mz_zip_archive &archive, Model &model);
bool _add_slice_info_config_file_to_archive(mz_zip_archive &archive, const Model &model, PlateDataPtrs &plate_data_list, const ObjectToObjectDataMap &objects_data, const DynamicPrintConfig& config);
bool _add_gcode_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list, Export3mfProgressFn proFn = nullptr);
@@ -6114,7 +6116,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
// This file contains all the attributes of all ModelObjects and their ModelVolumes (names, parameter overrides).
// As there is just a single Indexed Triangle Set data stored per ModelObject, offsets of volumes into their respective Indexed Triangle Set data
// is stored here as well.
- if (!_add_model_config_file_to_archive(archive, model, plate_data_list, objects_data, export_plate_idx, m_save_gcode, m_use_loaded_id)) {
+ if (!_add_model_config_file_to_archive(archive, model, plate_data_list, objects_data, *config, export_plate_idx, m_save_gcode, m_use_loaded_id)) {
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ":" << __LINE__ << boost::format(", _add_model_config_file_to_archive failed\n");
return false;
}
@@ -7443,7 +7445,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
return true;
}
- bool _BBS_3MF_Exporter::_add_model_config_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list, const ObjectToObjectDataMap &objects_data, int export_plate_idx, bool save_gcode, bool use_loaded_id)
+ bool _BBS_3MF_Exporter::_add_model_config_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list, const ObjectToObjectDataMap &objects_data, const DynamicPrintConfig& config, int export_plate_idx, bool save_gcode, bool use_loaded_id)
{
std::stringstream stream;
// Store mesh transformation in full precision, as the volumes are stored transformed and they need to be transformed back
@@ -7623,6 +7625,20 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
if (spiral_mode_opt)
stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << SPIRAL_VASE_MODE << "\" " << VALUE_ATTR << "=\"" << spiral_mode_opt->getBool() << "\"/>\n";
+ // TODO: Orca: hack
+ //filament map related
+ stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << FILAMENT_MAP_MODE_ATTR << "\" " << VALUE_ATTR << "=\"" << "Auto For Flush" << "\"/>\n";
+
+ // filament map override global settings only when group mode overrides the global settings
+ stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << FILAMENT_MAP_ATTR << "\" " << VALUE_ATTR << "=\"";
+ const size_t filaments_count = dynamic_cast(config.option("filament_colour"))->values.size();
+ for (int i = 0; i < filaments_count; ++i) {
+ stream << "1"; // Orca hack: for now, all filaments are mapped to extruder 1
+ if (i != (filaments_count - 1))
+ stream << " ";
+ }
+ stream << "\"/>\n";
+
if (save_gcode)
stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << GCODE_FILE_ATTR << "\" " << VALUE_ATTR << "=\"" << std::boolalpha << xml_escape(plate_data->gcode_file) << "\"/>\n";
if (!plate_data->gcode_file.empty()) {
@@ -7791,6 +7807,16 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << SUPPORT_USED_ATTR << "\" " << VALUE_ATTR << "=\"" << std::boolalpha<< plate_data->is_support_used << "\"/>\n";
stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << LABEL_OBJECT_ENABLED_ATTR << "\" " << VALUE_ATTR << "=\"" << std::boolalpha<< plate_data->is_label_object_enabled << "\"/>\n";
+ // TODO: Orca: hack
+ stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << FILAMENT_MAP_ATTR << "\" " << VALUE_ATTR << "=\"";
+ const size_t filaments_count = dynamic_cast(config.option("filament_colour"))->values.size();
+ for (int i = 0; i < filaments_count; ++i) {
+ stream << "1"; // Orca hack: for now, all filaments are mapped to extruder 1
+ if (i != (filaments_count - 1))
+ stream << " ";
+ }
+ stream << "\"/>\n";
+
for (auto it = plate_data->objects_and_instances.begin(); it != plate_data->objects_and_instances.end(); it++)
{
int obj_id = it->first;
diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp
index 95540005b45..d0566a0b5b2 100644
--- a/src/libslic3r/PrintConfig.hpp
+++ b/src/libslic3r/PrintConfig.hpp
@@ -299,6 +299,13 @@ static std::unordered_mapNozzleTypeEumnToStr = {
{NozzleType::ntBrass, "brass"}
};
+static std::unordered_mapNozzleTypeStrToEumn = {
+ {"undefine", NozzleType::ntUndefine},
+ {"hardened_steel", NozzleType::ntHardenedSteel},
+ {"stainless_steel", NozzleType::ntStainlessSteel},
+ {"brass", NozzleType::ntBrass}
+};
+
// BBS
enum PrinterStructure {
psUndefine=0,
@@ -317,6 +324,12 @@ enum ZHopType {
zhtCount
};
+enum NozzleVolumeType {
+ nvtNormal = 0,
+ nvtBigTraffic,
+ nvtMaxNozzleVolumeType = nvtBigTraffic
+};
+
enum RetractLiftEnforceType {
rletAllSurfaces = 0,
rletTopOnly,
diff --git a/src/libslic3r/ProjectTask.hpp b/src/libslic3r/ProjectTask.hpp
index 05f39f9b2c9..ef2033eefdc 100644
--- a/src/libslic3r/ProjectTask.hpp
+++ b/src/libslic3r/ProjectTask.hpp
@@ -49,6 +49,10 @@ struct FilamentInfo
int ctype = 0;
std::vector colors = std::vector();
int mapping_result = 0;
+
+ /*for new ams mapping*/
+ std::string ams_id;
+ std::string slot_id;
};
class BBLSliceInfo {
diff --git a/src/libslic3r/calib.hpp b/src/libslic3r/calib.hpp
index c9a950d8860..d7db10fd81b 100644
--- a/src/libslic3r/calib.hpp
+++ b/src/libslic3r/calib.hpp
@@ -32,6 +32,7 @@ enum class CalibState { Start = 0, Preset, Calibration, CoarseSave, FineCalibrat
struct Calib_Params
{
Calib_Params() : mode(CalibMode::Calib_None){};
+ int extruder_id = 0;
double start, end, step;
bool print_numbers;
double freqStartX, freqEndX, freqStartY, freqEndY;
@@ -52,8 +53,12 @@ class X1CCalibInfos
public:
struct X1CCalibInfo
{
+ int extruder_id = -1;
int tray_id;
+ int ams_id = 0;
+ int slot_id = 0;
int bed_temp;
+ NozzleVolumeType nozzle_volume_type = NozzleVolumeType::nvtNormal;
int nozzle_temp;
float nozzle_diameter;
std::string filament_id;
@@ -102,7 +107,11 @@ class PACalibResult
CALI_RESULT_PROBLEM = 1,
CALI_RESULT_FAILED = 2,
};
- int tray_id;
+ int extruder_id = -1;
+ NozzleVolumeType nozzle_volume_type;
+ int tray_id = 0;
+ int ams_id = 0;
+ int slot_id = 0;
int cali_idx = -1;
float nozzle_diameter;
std::string filament_id;
@@ -115,12 +124,33 @@ class PACalibResult
struct PACalibIndexInfo
{
- int tray_id;
+ int extruder_id = -1;
+ NozzleVolumeType nozzle_volume_type;
+ int tray_id = 0;
+ int ams_id = 0;
+ int slot_id = 0;
int cali_idx;
float nozzle_diameter;
std::string filament_id;
};
+struct PACalibExtruderInfo
+{
+ int extruder_id = -1;
+ NozzleVolumeType nozzle_volume_type;
+ float nozzle_diameter;
+ std::string filament_id = "";
+ bool use_extruder_id{true};
+ bool use_nozzle_volume_type{true};
+};
+
+struct PACalibTabInfo
+{
+ float pa_calib_tab_nozzle_dia;
+ int extruder_id;
+ NozzleVolumeType nozzle_volume_type;
+};
+
class FlowRatioCalibResult
{
public:
diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt
index baf7b56e893..9bf82826f33 100644
--- a/src/slic3r/CMakeLists.txt
+++ b/src/slic3r/CMakeLists.txt
@@ -62,6 +62,8 @@ set(SLIC3R_GUI_SOURCES
GUI/Widgets/TempInput.hpp
GUI/Widgets/AMSControl.cpp
GUI/Widgets/AMSControl.hpp
+ GUI/Widgets/AMSItem.cpp
+ GUI/Widgets/AMSItem.hpp
GUI/Widgets/FanControl.cpp
GUI/Widgets/FanControl.hpp
GUI/Widgets/Scrollbar.cpp
@@ -444,6 +446,8 @@ set(SLIC3R_GUI_SOURCES
GUI/ModelMall.cpp
GUI/SelectMachine.hpp
GUI/SelectMachine.cpp
+ GUI/SelectMachinePop.hpp
+ GUI/SelectMachinePop.cpp
GUI/SendToPrinter.hpp
GUI/SendToPrinter.cpp
GUI/AmsMappingPopup.hpp
@@ -580,8 +584,11 @@ set(SLIC3R_GUI_SOURCES
Utils/ElegooLink.hpp
Utils/ElegooLink.cpp
Utils/WebSocketClient.hpp
+ Utils/bambu_networking.hpp
)
+add_subdirectory(GUI/DeviceTab)
+
if (WIN32)
list(APPEND SLIC3R_GUI_SOURCES
GUI/dark_mode/dark_mode.hpp
diff --git a/src/slic3r/GUI/AMSMaterialsSetting.cpp b/src/slic3r/GUI/AMSMaterialsSetting.cpp
index 9b6149d6622..db04cf5065d 100644
--- a/src/slic3r/GUI/AMSMaterialsSetting.cpp
+++ b/src/slic3r/GUI/AMSMaterialsSetting.cpp
@@ -13,6 +13,31 @@ namespace Slic3r { namespace GUI {
wxDEFINE_EVENT(EVT_SELECTED_COLOR, wxCommandEvent);
+static void get_default_k_n_value(const std::string &filament_id, float &k, float &n)
+{
+ if (filament_id.compare("GFG00") == 0) {
+ // PETG
+ k = 0.04;
+ n = 1.0;
+ } else if (filament_id.compare("GFB00") == 0 || filament_id.compare("GFB50") == 0) {
+ // ABS
+ k = 0.04;
+ n = 1.0;
+ } else if (filament_id.compare("GFU01") == 0) {
+ // TPU
+ k = 0.2;
+ n = 1.0;
+ } else if (filament_id.compare("GFB01") == 0) {
+ // ASA
+ k = 0.04;
+ n = 1.0;
+ } else {
+ // PLA , other
+ k = 0.02;
+ n = 1.0;
+ }
+}
+
static std::string float_to_string_with_precision(float value, int precision = 3)
{
std::stringstream stream;
@@ -76,7 +101,7 @@ void AMSMaterialsSetting::create()
m_sizer_button->Add(m_button_close, 0, wxALIGN_CENTER, 0);
m_sizer_main->Add(m_panel_normal, 0, wxALL, FromDIP(2));
-
+
m_sizer_main->Add(m_panel_kn, 0, wxALL, FromDIP(2));
m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(24));
@@ -353,7 +378,7 @@ void AMSMaterialsSetting::create_panel_kn(wxWindow* parent)
parent->SetSizer(sizer);
}
-void AMSMaterialsSetting::paintEvent(wxPaintEvent &evt)
+void AMSMaterialsSetting::paintEvent(wxPaintEvent &evt)
{
auto size = GetSize();
wxPaintDC dc(this);
@@ -368,7 +393,7 @@ AMSMaterialsSetting::~AMSMaterialsSetting()
m_comboBox_cali_result->Disconnect(wxEVT_COMMAND_COMBOBOX_SELECTED, wxCommandEventHandler(AMSMaterialsSetting::on_select_cali_result), NULL, this);
}
-void AMSMaterialsSetting::input_min_finish()
+void AMSMaterialsSetting::input_min_finish()
{
if (m_input_nozzle_min->GetTextCtrl()->GetValue().empty()) return;
@@ -423,7 +448,7 @@ void AMSMaterialsSetting::enable_confirm_button(bool en)
}
if (!m_is_third) {
- m_tip_readonly->Hide();
+ m_tip_readonly->Hide();
}
else {
if (!obj->is_support_filament_setting_inprinting) {
@@ -457,21 +482,32 @@ void AMSMaterialsSetting::on_select_reset(wxCommandEvent& event) {
long nozzle_temp_max_int = 0;
wxColour color = *wxWHITE;
char col_buf[10];
- sprintf(col_buf, "%02X%02X%02XFF", (int)color.Red(), (int)color.Green(), (int)color.Blue());
+ sprintf(col_buf, "%02X%02X%02X00", (int)color.Red(), (int)color.Green(), (int)color.Blue());
+ std::string color_str; // reset use empty string
- if (obj) {
- // set filament
- if (is_virtual_tray()) {
- obj->command_ams_filament_settings(255, VIRTUAL_TRAY_ID, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int);
+ std::string selected_ams_id;
+ PresetBundle *preset_bundle = wxGetApp().preset_bundle;
+ if (preset_bundle) {
+ for (auto it = preset_bundle->filaments.begin(); it != preset_bundle->filaments.end(); it++) {
+ auto filament_item = map_filament_items[m_comboBox_filament->GetValue().ToStdString()];
+ std::string filament_id = filament_item.filament_id;
+ if (it->filament_id.compare(filament_id) == 0) {
+ selected_ams_id = it->filament_id;
+ break;
+ }
}
- else if(m_is_third){
- obj->command_ams_filament_settings(ams_id, tray_id, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int);
+ }
+
+ if (obj) {
+ if(m_is_third){
+ obj->command_ams_filament_settings(ams_id, slot_id, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int,
+ nozzle_temp_max_int);
}
// set k / n value
if (obj->cali_version <= -1 && obj->get_printer_series() == PrinterSeries::SERIES_P1P) {
// set extrusion cali ratio
- int cali_tray_id = ams_id * 4 + tray_id;
+ int cali_tray_id = ams_id * 4 + slot_id;
double k = 0.0;
try {
@@ -492,10 +528,23 @@ void AMSMaterialsSetting::on_select_reset(wxCommandEvent& event) {
}
else {
PACalibIndexInfo select_index_info;
+ int tray_id = ams_id * 4 + slot_id;
+ if (is_virtual_tray()) {
+ tray_id = ams_id;
+ if (!obj->is_enable_np) {
+ tray_id = VIRTUAL_TRAY_ID;
+ }
+
+ // TODO: Orca hack
+ ams_id = 255;
+ slot_id = 0;
+ }
select_index_info.tray_id = tray_id;
- select_index_info.nozzle_diameter = obj->nozzle_diameter;
+ select_index_info.ams_id = ams_id;
+ select_index_info.slot_id = slot_id;
+ select_index_info.nozzle_diameter = obj->m_extder_data.extders[0].current_nozzle_diameter;
select_index_info.cali_idx = -1;
- select_index_info.filament_id = ams_filament_id;
+ select_index_info.filament_id = selected_ams_id;
CalibUtils::select_PA_calib_result(select_index_info);
}
}
@@ -530,7 +579,7 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event)
std::string vendor_name = vendor->values[0];
DeviceManager::check_filaments_in_blacklist(vendor_name, filamnt_type, in_blacklist, action, info);
}
-
+
if (in_blacklist) {
if (action == "prohibition") {
@@ -575,14 +624,9 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event)
// set filament
if (m_is_third) {
- if (is_virtual_tray()) {
- obj->command_ams_filament_settings(255, VIRTUAL_TRAY_ID, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int);
- }
- else {
- obj->command_ams_filament_settings(ams_id, tray_id, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int);
- }
+ obj->command_ams_filament_settings(ams_id, slot_id, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int);
}
-
+
//reset param
wxString k_text = m_input_k_val->GetTextCtrl()->GetValue();
wxString n_text = m_input_n_val->GetTextCtrl()->GetValue();
@@ -612,10 +656,17 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event)
;
}
+ auto vt_tray = ams_id;
+ if (!obj->is_enable_np) {
+ vt_tray = VIRTUAL_TRAY_ID;
+ }
+
if (obj->cali_version >= 0) {
PACalibIndexInfo select_index_info;
- select_index_info.tray_id = tray_id;
- select_index_info.nozzle_diameter = obj->nozzle_diameter;
+ select_index_info.tray_id = vt_tray;
+ select_index_info.ams_id = 255; // TODO: Orca hack
+ select_index_info.slot_id = 0;
+ select_index_info.nozzle_diameter = obj->m_extder_data.extders[0].current_nozzle_diameter;
auto cali_select_id = m_comboBox_cali_result->GetSelection();
if (m_pa_profile_items.size() > 0 && cali_select_id >= 0) {
@@ -630,11 +681,11 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event)
CalibUtils::select_PA_calib_result(select_index_info);
}
else {
- obj->command_extrusion_cali_set(VIRTUAL_TRAY_ID, "", "", k, n);
+ obj->command_extrusion_cali_set(vt_tray, "", "", k, n);
}
}
else {
- int cali_tray_id = ams_id * 4 + tray_id;
+ int cali_tray_id = ams_id * 4 + slot_id;
double k = 0.0;
try {
k_text.ToDouble(&k);
@@ -654,10 +705,12 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event)
if (obj->cali_version >= 0) {
PACalibIndexInfo select_index_info;
select_index_info.tray_id = cali_tray_id;
- select_index_info.nozzle_diameter = obj->nozzle_diameter;
+ select_index_info.ams_id = ams_id;
+ select_index_info.slot_id = slot_id;
+ select_index_info.nozzle_diameter = obj->m_extder_data.extders[0].current_nozzle_diameter;
auto cali_select_id = m_comboBox_cali_result->GetSelection();
- if (m_pa_profile_items.size() > 0 && cali_select_id >= 0) {
+ if (m_pa_profile_items.size() > 0 && cali_select_id > 0) {
select_index_info.cali_idx = m_pa_profile_items[cali_select_id].cali_idx;
select_index_info.filament_id = m_pa_profile_items[cali_select_id].filament_id;
}
@@ -710,7 +763,7 @@ void AMSMaterialsSetting::on_picker_color(wxCommandEvent& event)
set_color(wxColour(color_num>>24&0xFF, color_num>>16&0xFF, color_num>>8&0xFF, color_num&0xFF));
}
-void AMSMaterialsSetting::on_clr_picker(wxMouseEvent &event)
+void AMSMaterialsSetting::on_clr_picker(wxMouseEvent &event)
{
if(!m_is_third)
return;
@@ -741,7 +794,7 @@ void AMSMaterialsSetting::on_clr_picker(wxMouseEvent &event)
bool AMSMaterialsSetting::is_virtual_tray()
{
- if (tray_id == VIRTUAL_TRAY_ID)
+ if (ams_id == VIRTUAL_TRAY_ID)
return true;
return false;
}
@@ -769,8 +822,8 @@ void AMSMaterialsSetting::update_widgets()
Layout();
}
-bool AMSMaterialsSetting::Show(bool show)
-{
+bool AMSMaterialsSetting::Show(bool show)
+{
if (show) {
m_button_confirm->SetMinSize(AMS_MATERIALS_SETTING_BUTTON_SIZE);
m_input_nozzle_max->GetTextCtrl()->SetSize(wxSize(-1, FromDIP(20)));
@@ -794,7 +847,7 @@ bool AMSMaterialsSetting::Show(bool show)
Fit();
wxGetApp().UpdateDarkUI(this);
}
- return DPIDialog::Show(show);
+ return DPIDialog::Show(show);
}
void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_min, wxString temp_max, wxString k, wxString n)
@@ -817,10 +870,10 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi
std::set filament_id_set;
PresetBundle * preset_bundle = wxGetApp().preset_bundle;
std::ostringstream stream;
- stream << std::fixed << std::setprecision(1) << obj->nozzle_diameter;
+ stream << std::fixed << std::setprecision(1) << obj->m_extder_data.extders[0].current_nozzle_diameter;
std::string nozzle_diameter_str = stream.str();
std::set printer_names = preset_bundle->get_printer_names_by_printer_type_and_nozzle(MachineObject::get_preset_printer_model_name(obj->printer_type), nozzle_diameter_str);
-
+
if (preset_bundle) {
BOOST_LOG_TRIVIAL(trace) << "system_preset_bundle filament number=" << preset_bundle->filaments.size();
for (auto filament_it = preset_bundle->filaments.begin(); filament_it != preset_bundle->filaments.end(); filament_it++) {
@@ -832,7 +885,7 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi
if (preset_bundle->filaments.get_preset_base(*filament_it) != &preset || (!filament_it->is_system && !obj->is_support_user_preset)) {
continue;
}
-
+
ConfigOption * printer_opt = filament_it->config.option("compatible_printers");
ConfigOptionStrings *printer_strs = dynamic_cast(printer_opt);
for (auto printer_str : printer_strs->values) {
@@ -867,7 +920,7 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi
if (filament_it->filament_id == ams_filament_id) {
selection_idx = idx;
bambu_filament_name = filament_it->alias;
-
+
// update if nozzle_temperature_range is found
ConfigOption *opt_min = filament_it->config.option("nozzle_temperature_range_low");
@@ -891,7 +944,7 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi
}
}
}
-
+
}
}
@@ -913,7 +966,7 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi
else {
m_readonly_filament->SetLabel(bambu_filament_name);
}
-
+
m_input_nozzle_min->GetTextCtrl()->SetValue(temp_min);
m_input_nozzle_max->GetTextCtrl()->SetValue(temp_max);
}
@@ -934,7 +987,7 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi
}
m_button_reset->Show();
- //m_button_confirm->Show();
+ //m_button_confirm->Show();
}
m_comboBox_filament->Set(filament_items);
@@ -983,7 +1036,7 @@ void AMSMaterialsSetting::on_select_filament(wxCommandEvent &evt)
if (preset_bundle) {
std::ostringstream stream;
if (obj)
- stream << std::fixed << std::setprecision(1) << obj->nozzle_diameter;
+ stream << std::fixed << std::setprecision(1) << obj->m_extder_data.extders[0].current_nozzle_diameter;
std::string nozzle_diameter_str = stream.str();
std::set printer_names = preset_bundle->get_printer_names_by_printer_type_and_nozzle(MachineObject::get_preset_printer_model_name(obj->printer_type),
nozzle_diameter_str);
@@ -1093,40 +1146,67 @@ void AMSMaterialsSetting::on_select_filament(wxCommandEvent &evt)
wxArrayString items;
m_pa_profile_items.clear();
m_comboBox_cali_result->SetValue(wxEmptyString);
-
+
+ // TODO: Orca hack
+ int extruder_id = 0;
+ NozzleVolumeType nozzle_volume_type = NozzleVolumeType::nvtNormal;
if (obj->cali_version >= 0) {
+ // add default item
+ PACalibResult default_item;
+ default_item.cali_idx = -1;
+ get_default_k_n_value(ams_filament_id, default_item.k_value, default_item.n_coef);
+ m_pa_profile_items.emplace_back(default_item);
+ items.push_back(_L("Default"));
+
m_input_k_val->GetTextCtrl()->SetValue(wxEmptyString);
std::vector cali_history = this->obj->pa_calib_tab;
for (auto cali_item : cali_history) {
if (cali_item.filament_id == ams_filament_id) {
+ if (obj->is_multi_extruders() && (cali_item.extruder_id != extruder_id || cali_item.nozzle_volume_type != nozzle_volume_type)) {
+ continue;
+ }
items.push_back(from_u8(cali_item.name));
m_pa_profile_items.push_back(cali_item);
}
}
m_comboBox_cali_result->Set(items);
- if (tray_id == VIRTUAL_TRAY_ID) {
+ if (ams_id == VIRTUAL_TRAY_ID) {
AmsTray selected_tray = this->obj->vt_tray;
cali_select_idx = CalibUtils::get_selected_calib_idx(m_pa_profile_items,selected_tray.cali_idx);
if (cali_select_idx >= 0) {
m_comboBox_cali_result->SetSelection(cali_select_idx);
}
+ else {
+ m_comboBox_cali_result->SetSelection(0);
+ }
}
else {
- Ams* selected_ams = this->obj->amsList[std::to_string(ams_id)];
- if(!selected_ams) return;
- AmsTray* selected_tray = selected_ams->trayList[std::to_string(tray_id)];
- if(!selected_tray) return;
- cali_select_idx = CalibUtils::get_selected_calib_idx(m_pa_profile_items, selected_tray->cali_idx);
- if (cali_select_idx >= 0) {
+ if (this->obj->amsList.find(std::to_string(ams_id)) != this->obj->amsList.end()) {
+ Ams* selected_ams = this->obj->amsList[std::to_string(ams_id)];
+ if (!selected_ams)
+ return;
+ AmsTray* selected_tray = selected_ams->trayList[std::to_string(slot_id)];
+ if (!selected_tray)
+ return;
+ cali_select_idx = CalibUtils::get_selected_calib_idx(m_pa_profile_items, selected_tray->cali_idx);
+ if (cali_select_idx < 0) {
+ BOOST_LOG_TRIVIAL(info) << "extrusion_cali_status_error: cannot find pa profile, ams_id = " << ams_id
+ << ", slot_id = " << slot_id << ", cali_idx = " << selected_tray->cali_idx;
+ cali_select_idx = 0;
+ }
m_comboBox_cali_result->SetSelection(cali_select_idx);
}
}
-
+
if (cali_select_idx >= 0) {
m_input_k_val->GetTextCtrl()->SetValue(float_to_string_with_precision(m_pa_profile_items[cali_select_idx].k_value));
m_input_n_val->GetTextCtrl()->SetValue(float_to_string_with_precision(m_pa_profile_items[cali_select_idx].n_coef));
}
+ else {
+ m_input_k_val->GetTextCtrl()->SetValue(float_to_string_with_precision(m_pa_profile_items[0].k_value));
+ m_input_n_val->GetTextCtrl()->SetValue(float_to_string_with_precision(m_pa_profile_items[0].n_coef));
+ }
}
else {
if (!ams_filament_id.empty()) {
@@ -1140,8 +1220,8 @@ void AMSMaterialsSetting::on_select_filament(wxCommandEvent &evt)
}
}
-void AMSMaterialsSetting::on_dpi_changed(const wxRect &suggested_rect)
-{
+void AMSMaterialsSetting::on_dpi_changed(const wxRect &suggested_rect)
+{
m_input_nozzle_max->GetTextCtrl()->SetSize(wxSize(-1, FromDIP(20)));
m_input_nozzle_min->GetTextCtrl()->SetSize(wxSize(-1, FromDIP(20)));
//m_clr_picker->msw_rescale();
@@ -1154,7 +1234,7 @@ void AMSMaterialsSetting::on_dpi_changed(const wxRect &suggested_rect)
m_button_confirm->SetCornerRadius(FromDIP(12));
m_button_close->SetMinSize(AMS_MATERIALS_SETTING_BUTTON_SIZE);
m_button_close->SetCornerRadius(FromDIP(12));
- this->Refresh();
+ this->Refresh();
}
ColorPicker::ColorPicker(wxWindow* parent, wxWindowID id, const wxPoint& pos /*= wxDefaultPosition*/, const wxSize& size /*= wxDefaultSize*/)
@@ -1603,7 +1683,7 @@ void ColorPickerPopup::paintEvent(wxPaintEvent& evt)
void ColorPickerPopup::OnDismiss() {}
-void ColorPickerPopup::Popup()
+void ColorPickerPopup::Popup()
{
PopupWindow::Popup();
}
diff --git a/src/slic3r/GUI/AMSMaterialsSetting.hpp b/src/slic3r/GUI/AMSMaterialsSetting.hpp
index c058ac769f4..3c8743b6347 100644
--- a/src/slic3r/GUI/AMSMaterialsSetting.hpp
+++ b/src/slic3r/GUI/AMSMaterialsSetting.hpp
@@ -118,7 +118,7 @@ class AMSMaterialsSetting : public DPIDialog
void on_picker_color(wxCommandEvent& color);
MachineObject* obj{ nullptr };
int ams_id { 0 }; /* 0 ~ 3 */
- int tray_id { 0 }; /* 0 ~ 3 */
+ int slot_id { 0 }; /* 0 ~ 3 */
std::string ams_filament_id;
std::string ams_setting_id;
diff --git a/src/slic3r/GUI/AboutDialog.cpp b/src/slic3r/GUI/AboutDialog.cpp
index 5a8852600fb..ed0abec8846 100644
--- a/src/slic3r/GUI/AboutDialog.cpp
+++ b/src/slic3r/GUI/AboutDialog.cpp
@@ -328,7 +328,7 @@ AboutDialog::AboutDialog()
copyright_hor_sizer->Add(copyright_ver_sizer, 0, wxLEFT, FromDIP(20));
- wxStaticText *html_text = new wxStaticText(this, wxID_ANY, "Copyright(C) 2022-2024 Li Jiang All Rights Reserved", wxDefaultPosition, wxDefaultSize);
+ wxStaticText *html_text = new wxStaticText(this, wxID_ANY, "Copyright(C) 2022-2025 Li Jiang All Rights Reserved", wxDefaultPosition, wxDefaultSize);
html_text->SetForegroundColour(wxColour(107, 107, 107));
copyright_ver_sizer->Add(html_text, 0, wxALL , 0);
diff --git a/src/slic3r/GUI/AmsMappingPopup.cpp b/src/slic3r/GUI/AmsMappingPopup.cpp
index 86610594524..f02543313c1 100644
--- a/src/slic3r/GUI/AmsMappingPopup.cpp
+++ b/src/slic3r/GUI/AmsMappingPopup.cpp
@@ -286,19 +286,19 @@ void MaterialItem::doRender(wxDC &dc)
AmsMapingPopup::AmsMapingPopup(wxWindow *parent)
: PopupWindow(parent, wxBORDER_NONE)
{
- SetSize(wxSize(FromDIP(252), -1));
- SetMinSize(wxSize(FromDIP(252), -1));
- SetMaxSize(wxSize(FromDIP(252), -1));
Bind(wxEVT_PAINT, &AmsMapingPopup::paintEvent, this);
-
#if __APPLE__
Bind(wxEVT_LEFT_DOWN, &AmsMapingPopup::on_left_down, this);
#endif
SetBackgroundColour(*wxWHITE);
- m_sizer_main = new wxBoxSizer(wxVERTICAL);
- //m_sizer_main->Add(0, 0, 1, wxEXPAND, 0);
+
+ m_sizer_main = new wxBoxSizer(wxVERTICAL);
+ m_sizer_ams = new wxBoxSizer(wxHORIZONTAL);
+ m_sizer_ams_left = new wxBoxSizer(wxVERTICAL);
+ m_sizer_ams_right = new wxBoxSizer(wxVERTICAL);
+
auto title_panel = new wxPanel(this, wxID_ANY);
title_panel->SetBackgroundColour(wxColour(0xF8, 0xF8, 0xF8));
@@ -307,7 +307,6 @@ void MaterialItem::doRender(wxDC &dc)
wxBoxSizer *title_sizer_h= new wxBoxSizer(wxHORIZONTAL);
-
wxBoxSizer *title_sizer_v = new wxBoxSizer(wxVERTICAL);
auto title_text = new wxStaticText(title_panel, wxID_ANY, _L("AMS Slots"));
@@ -319,19 +318,15 @@ void MaterialItem::doRender(wxDC &dc)
title_panel->Layout();
title_panel->Fit();
- m_sizer_list = new wxBoxSizer(wxVERTICAL);
- for (auto i = 0; i < AMS_TOTAL_COUNT; i++) {
- auto sizer_mapping_list = new wxBoxSizer(wxHORIZONTAL);
- /*auto ams_mapping_item_container = new wxStaticBitmap(this, wxID_ANY, create_scaled_bitmap("ams_mapping_container", this, 78), wxDefaultPosition,
- wxSize(FromDIP(230), FromDIP(78)), 0);*/
- auto ams_mapping_item_container = new MappingContainer(this);
- ams_mapping_item_container->SetSizer(sizer_mapping_list);
- ams_mapping_item_container->Layout();
- //ams_mapping_item_container->Hide();
- m_amsmapping_container_sizer_list.push_back(sizer_mapping_list);
- m_amsmapping_container_list.push_back(ams_mapping_item_container);
- m_sizer_list->Add(ams_mapping_item_container, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxBOTTOM, FromDIP(5));
- }
+ auto left_ams_title_text = new wxStaticText(this, wxID_ANY, _L("Left Ams"));
+ auto right_ams_title_text = new wxStaticText(this, wxID_ANY, _L("Right Ams"));
+
+ m_sizer_ams_left->Add(left_ams_title_text, 0, wxALIGN_CENTER, 0);
+ m_sizer_ams_right->Add(right_ams_title_text, 0, wxALIGN_CENTER, 0);
+
+ m_sizer_ams->Add(m_sizer_ams_left, 0, wxEXPAND | wxALL, FromDIP(0));
+ m_sizer_ams->Add(m_sizer_ams_right, 0, wxEXPAND | wxALL, FromDIP(0));
+
m_warning_text = new wxStaticText(this, wxID_ANY, wxEmptyString);
m_warning_text->SetForegroundColour(wxColour(0xFF, 0x6F, 0x00));
@@ -342,9 +337,7 @@ void MaterialItem::doRender(wxDC &dc)
m_warning_text->Wrap(FromDIP(248));
m_sizer_main->Add(title_panel, 0, wxEXPAND | wxALL, FromDIP(2));
- m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(5));
- m_sizer_main->Add(m_sizer_list, 0, wxEXPAND | wxALL, FromDIP(0));
- m_sizer_main->Add(0, 0, 0, wxTOP, FromDIP(5));
+ m_sizer_main->Add(m_sizer_ams, 0, wxEXPAND | wxALL, FromDIP(2));
m_sizer_main->Add(m_warning_text, 0, wxEXPAND | wxALL, FromDIP(6));
SetSizer(m_sizer_main);
@@ -456,73 +449,94 @@ void AmsMapingPopup::update_ams_data_multi_machines()
void AmsMapingPopup::update_ams_data(std::map amsList)
{
- m_has_unmatch_filament = false;
- //m_mapping_item_list.clear();
+ std::map::iterator ams_iter;
+ BOOST_LOG_TRIVIAL(trace) << "ams_mapping total count " << amsList.size();
+
for (auto& ams_container : m_amsmapping_container_list) {
- ams_container->Hide();
+ ams_container->Destroy();
}
+ m_amsmapping_container_list.clear();
+ m_amsmapping_container_sizer_list.clear();
+ m_mapping_item_list.clear();
- for (wxWindow *mitem : m_mapping_item_list) {
- mitem->Destroy();
- mitem = nullptr;
- }
- m_mapping_item_list.clear();
+ for (ams_iter = amsList.begin(); ams_iter != amsList.end(); ams_iter++) {
- if (m_amsmapping_container_sizer_list.size() > 0) {
- for (wxBoxSizer *siz : m_amsmapping_container_sizer_list) {
- siz->Clear(true);
- }
- }
-
- std::map::iterator ams_iter;
+ int ams_indx = atoi(ams_iter->first.c_str());
+ int ams_type = ams_iter->second->type;
+ int nozzle_id = ams_iter->second->nozzle;
- BOOST_LOG_TRIVIAL(trace) << "ams_mapping total count " << amsList.size();
- int m_amsmapping_container_list_index = 0;
+ if (ams_type >=1 || ams_type <= 3) { //1:ams 2:ams-lite 3:n3f
- for (ams_iter = amsList.begin(); ams_iter != amsList.end(); ams_iter++) {
-
- BOOST_LOG_TRIVIAL(trace) << "ams_mapping ams id " << ams_iter->first.c_str();
+ auto sizer_mapping_list = new wxBoxSizer(wxHORIZONTAL);
+ auto ams_mapping_item_container = new MappingContainer(this);
+ ams_mapping_item_container->SetSizer(sizer_mapping_list);
+ ams_mapping_item_container->Layout();
+
+ m_has_unmatch_filament = false;
- auto ams_indx = atoi(ams_iter->first.c_str());
- Ams *ams_group = ams_iter->second;
- std::vector tray_datas;
- std::map::iterator tray_iter;
+ BOOST_LOG_TRIVIAL(trace) << "ams_mapping ams id " << ams_iter->first.c_str();
- for (tray_iter = ams_group->trayList.begin(); tray_iter != ams_group->trayList.end(); tray_iter++) {
- AmsTray *tray_data = tray_iter->second;
- TrayData td;
+ Ams* ams_group = ams_iter->second;
+ std::vector tray_datas;
+ std::map::iterator tray_iter;
- td.id = ams_indx * AMS_TOTAL_COUNT + atoi(tray_data->id.c_str());
+ for (tray_iter = ams_group->trayList.begin(); tray_iter != ams_group->trayList.end(); tray_iter++) {
+ AmsTray* tray_data = tray_iter->second;
+ TrayData td;
- if (!tray_data->is_exists) {
- td.type = EMPTY;
- } else {
- if (!tray_data->is_tray_info_ready()) {
- td.type = THIRD;
- } else {
- td.type = NORMAL;
- td.colour = AmsTray::decode_color(tray_data->color);
- td.name = tray_data->get_display_filament_type();
- td.filament_type = tray_data->get_filament_type();
- td.ctype = tray_data->ctype;
- for (auto col : tray_data->cols) {
- td.material_cols.push_back(AmsTray::decode_color(col));
+ td.id = ams_indx * AMS_TOTAL_COUNT + atoi(tray_data->id.c_str());
+
+ if (!tray_data->is_exists) {
+ td.type = EMPTY;
+ }
+ else {
+ if (!tray_data->is_tray_info_ready()) {
+ td.type = THIRD;
}
+ else {
+ td.type = NORMAL;
+ td.colour = AmsTray::decode_color(tray_data->color);
+ td.name = tray_data->get_display_filament_type();
+ td.filament_type = tray_data->get_filament_type();
+ td.ctype = tray_data->ctype;
+ for (auto col : tray_data->cols) {
+ td.material_cols.push_back(AmsTray::decode_color(col));
+ }
+ }
+
+ td.ams_id = std::stoi(ams_iter->second->id);
+ td.slot_id = std::stoi(tray_iter->second->id);
}
+
+ tray_datas.push_back(td);
}
- tray_datas.push_back(td);
- }
+ ams_mapping_item_container->Show();
+ add_ams_mapping(tray_datas, ams_mapping_item_container, sizer_mapping_list);
+
+
+ m_amsmapping_container_sizer_list.push_back(sizer_mapping_list);
+ m_amsmapping_container_list.push_back(ams_mapping_item_container);
+
+ //main nozzle = right nozzle
+ if (nozzle_id == 0) {
+ m_sizer_ams_right->Add(ams_mapping_item_container, 0, wxALIGN_CENTER, 0);
+ }
+ else if (nozzle_id == 1) {
+ m_sizer_ams_left->Add(ams_mapping_item_container, 0, wxALIGN_CENTER, 0);
+ }
+
- m_amsmapping_container_list[m_amsmapping_container_list_index]->Show();
- add_ams_mapping(tray_datas, m_amsmapping_container_list[m_amsmapping_container_list_index], m_amsmapping_container_sizer_list[m_amsmapping_container_list_index]);
- m_amsmapping_container_list_index++;
+ //m_warning_text->Show(m_has_unmatch_filament);
+ }
+ else if(ams_type == 4){ //4:n3s
+ }
}
+ /*extra tray*/
- m_warning_text->Show(m_has_unmatch_filament);
Layout();
Fit();
}
@@ -583,6 +597,9 @@ void AmsMapingPopup::add_ams_mapping(std::vector tray_data, wxWindow*
// set button
MappingItem *m_mapping_item = new MappingItem(container);
+ m_mapping_item->m_ams_id = tray_data[i].ams_id;
+ m_mapping_item->m_slot_id = tray_data[i].slot_id;
+
m_mapping_item->SetSize(wxSize(FromDIP(68 * 0.7), FromDIP(100 * 0.6)));
m_mapping_item->SetMinSize(wxSize(FromDIP(68 * 0.7), FromDIP(100 * 0.6)));
m_mapping_item->SetMaxSize(wxSize(FromDIP(68 * 0.7), FromDIP(100 * 0.6)));
@@ -675,7 +692,8 @@ void MappingItem::send_event(int fliament_id)
wxCommandEvent event(EVT_SET_FINISH_MAPPING);
event.SetInt(m_tray_data.id);
- wxString param = wxString::Format("%d|%d|%d|%d|%s|%d", m_coloul.Red(), m_coloul.Green(), m_coloul.Blue(), m_coloul.Alpha(), number, fliament_id);
+ wxString param = wxString::Format("%d|%d|%d|%d|%s|%d|%d|%d", m_coloul.Red(), m_coloul.Green(), m_coloul.Blue(), m_coloul.Alpha(), number, fliament_id,
+ m_tray_data.ams_id, m_tray_data.slot_id);
event.SetString(param);
event.SetEventObject(this->GetParent()->GetParent());
wxPostEvent(this->GetParent()->GetParent()->GetParent(), event);
@@ -1389,7 +1407,9 @@ void AmsReplaceMaterialDialog::update_machine_obj(MachineObject* obj)
//creat group
int group_index = 0;
- for (int filam : m_obj->filam_bak) {
+
+ const Extder& extder = m_obj->m_extder_data.extders[MAIN_NOZZLE_ID];
+ for (int filam : extder.filam_bak) {
auto status_list = GetStatus(filam);
std::map group_info;
diff --git a/src/slic3r/GUI/AmsMappingPopup.hpp b/src/slic3r/GUI/AmsMappingPopup.hpp
index 75f274ba0bd..7c64cba2f2e 100644
--- a/src/slic3r/GUI/AmsMappingPopup.hpp
+++ b/src/slic3r/GUI/AmsMappingPopup.hpp
@@ -60,6 +60,9 @@ struct TrayData
std::string filament_type;
wxColour colour;
std::vector material_cols = std::vector();
+
+ int ams_id = 0;
+ int slot_id = 0;
};
class MaterialItem: public wxPanel
@@ -116,6 +119,9 @@ class MappingItem : public wxPanel
ScalableBitmap m_transparent_mapping_item;
bool m_unmatch{false};
+ int m_ams_id{255};
+ int m_slot_id{255};
+
void msw_rescale();
void paintEvent(wxPaintEvent &evt);
void render(wxDC &dc);
@@ -150,6 +156,9 @@ class AmsMapingPopup : public PopupWindow
int m_current_filament_id;
std::string m_tag_material;
wxBoxSizer *m_sizer_main{nullptr};
+ wxBoxSizer *m_sizer_ams{nullptr};
+ wxBoxSizer *m_sizer_ams_left{nullptr};
+ wxBoxSizer *m_sizer_ams_right{nullptr};
wxBoxSizer *m_sizer_list{nullptr};
wxWindow *m_parent_item{nullptr};
diff --git a/src/slic3r/GUI/CaliHistoryDialog.cpp b/src/slic3r/GUI/CaliHistoryDialog.cpp
index 7224ec34e2f..3d5bbcd646e 100644
--- a/src/slic3r/GUI/CaliHistoryDialog.cpp
+++ b/src/slic3r/GUI/CaliHistoryDialog.cpp
@@ -11,7 +11,7 @@
namespace Slic3r {
namespace GUI {
-
+
#define HISTORY_WINDOW_SIZE wxSize(FromDIP(700), FromDIP(600))
#define EDIT_HISTORY_DIALOG_INPUT_SIZE wxSize(FromDIP(160), FromDIP(24))
#define NEW_HISTORY_DIALOG_INPUT_SIZE wxSize(FromDIP(250), FromDIP(24))
@@ -180,7 +180,7 @@ void HistoryWindow::on_device_connected(MachineObject* obj)
int selection = 1;
for (int i = 0; i < nozzle_diameter_list.size(); i++) {
m_comboBox_nozzle_dia->AppendString(wxString::Format("%1.1f mm", nozzle_diameter_list[i]));
- if (abs(curr_obj->nozzle_diameter - nozzle_diameter_list[i]) < 1e-3) {
+ if (abs(curr_obj->m_extder_data.extders[0].current_nozzle_diameter - nozzle_diameter_list[i]) < 1e-3) {
selection = i;
}
}
@@ -201,9 +201,8 @@ void HistoryWindow::update(MachineObject* obj)
{
if (!obj) return;
- if (obj->cali_version != history_version) {
+ if (obj->cali_version != obj->last_cali_version) {
if (obj->has_get_pa_calib_tab) {
- history_version = obj->cali_version;
reqeust_history_result(obj);
}
}
@@ -217,20 +216,23 @@ void HistoryWindow::update(MachineObject* obj)
void HistoryWindow::on_select_nozzle(wxCommandEvent& evt)
{
reqeust_history_result(curr_obj);
-
+
}
void HistoryWindow::reqeust_history_result(MachineObject* obj)
{
if (curr_obj) {
- // reset
+ // reset
curr_obj->reset_pa_cali_history_result();
m_calib_results_history.clear();
sync_history_data();
float nozzle_value = get_nozzle_value();
if (nozzle_value > 0) {
- CalibUtils::emit_get_PA_calib_infos(nozzle_value);
+ PACalibExtruderInfo cali_info;
+ cali_info.nozzle_diameter = nozzle_value;
+ cali_info.use_nozzle_volume_type = false;
+ CalibUtils::emit_get_PA_calib_infos(cali_info);
m_tips->SetLabel(_L("Refreshing the historical Flow Dynamics Calibration records"));
BOOST_LOG_TRIVIAL(info) << "request calib history";
}
@@ -303,7 +305,12 @@ void HistoryWindow::sync_history_data() {
gbSizer->SetEmptyCellSize({ 0,0 });
m_history_data_panel->Layout();
m_history_data_panel->Fit();
- CalibUtils::delete_PA_calib_result({ result.tray_id, result.cali_idx, result.nozzle_diameter, result.filament_id });
+ PACalibIndexInfo cali_info;
+ cali_info.tray_id = result.tray_id;
+ cali_info.cali_idx = result.cali_idx;
+ cali_info.nozzle_diameter = result.nozzle_diameter;
+ cali_info.filament_id = result.filament_id;
+ CalibUtils::delete_PA_calib_result(cali_info);
});
auto edit_button = new Button(m_history_data_panel, _L("Edit"));
@@ -468,7 +475,7 @@ void EditCalibrationHistoryDialog::on_save(wxCommandEvent& event) {
return;
m_new_result.name = m_name_value->GetTextCtrl()->GetValue().ToUTF8().data();
-
+
float k = 0.0f;
if (!CalibUtils::validate_input_k_value(m_k_value->GetTextCtrl()->GetValue(), &k)) {
MessageDialog msg_dlg(nullptr, wxString::Format(_L("Please input a valid value (K in %.1f~%.1f)"), MIN_PA_K_VALUE, MAX_PA_K_VALUE), wxEmptyString, wxICON_WARNING | wxOK);
@@ -499,7 +506,7 @@ wxArrayString NewCalibrationHistoryDialog::get_all_filaments(const MachineObject
std::set filament_id_set;
std::set printer_names;
std::ostringstream stream;
- stream << std::fixed << std::setprecision(1) << obj->nozzle_diameter;
+ stream << std::fixed << std::setprecision(1) << obj->m_extder_data.extders[0].current_nozzle_diameter;
std::string nozzle_diameter_str = stream.str();
for (auto printer_it = preset_bundle->printers.begin(); printer_it != preset_bundle->printers.end(); printer_it++) {
@@ -616,11 +623,11 @@ NewCalibrationHistoryDialog::NewCalibrationHistoryDialog(wxWindow *parent, const
static std::array nozzle_diameter_list = {0.2f, 0.4f, 0.6f, 0.8f};
for (int i = 0; i < nozzle_diameter_list.size(); i++) {
m_comboBox_nozzle_diameter->AppendString(wxString::Format("%1.1f mm", nozzle_diameter_list[i]));
- if (abs(obj->nozzle_diameter - nozzle_diameter_list[i]) < 1e-3) {
+ if (abs(obj->m_extder_data.extders[0].current_nozzle_diameter - nozzle_diameter_list[i]) < 1e-3) {
m_comboBox_nozzle_diameter->SetSelection(i);
}
}
-
+
// Nozzle Diameter
flex_sizer->Add(nozzle_diameter_title);
flex_sizer->Add(m_comboBox_nozzle_diameter);
@@ -628,7 +635,7 @@ NewCalibrationHistoryDialog::NewCalibrationHistoryDialog(wxWindow *parent, const
Label *k_title = new Label(top_panel, _L("Factor K"));
auto k_str = wxString::Format("%.3f", m_new_result.k_value);
m_k_value = new TextInput(top_panel, k_str, "", "", wxDefaultPosition, NEW_HISTORY_DIALOG_INPUT_SIZE, wxTE_PROCESS_ENTER);
-
+
// Factor K
flex_sizer->Add(k_title);
flex_sizer->Add(m_k_value);
@@ -703,7 +710,7 @@ void NewCalibrationHistoryDialog::on_ok(wxCommandEvent &event)
m_new_result.k_value = k;
m_new_result.tray_id = -1;
m_new_result.cali_idx = -1;
-
+
m_new_result.nozzle_diameter = nozzle_value;
m_new_result.filament_id = filament_id;
m_new_result.setting_id = setting_id;
diff --git a/src/slic3r/GUI/CaliHistoryDialog.hpp b/src/slic3r/GUI/CaliHistoryDialog.hpp
index 8f7b49a25a6..b8ef7666e30 100644
--- a/src/slic3r/GUI/CaliHistoryDialog.hpp
+++ b/src/slic3r/GUI/CaliHistoryDialog.hpp
@@ -36,7 +36,6 @@ class HistoryWindow : public DPIDialog {
bool& m_show_history_dialog;
std::vector m_calib_results_history;
MachineObject* curr_obj { nullptr };
- int history_version = -1;
};
class EditCalibrationHistoryDialog : public DPIDialog
diff --git a/src/slic3r/GUI/CalibrationPanel.cpp b/src/slic3r/GUI/CalibrationPanel.cpp
index 9a16c133222..8fa07b924fc 100644
--- a/src/slic3r/GUI/CalibrationPanel.cpp
+++ b/src/slic3r/GUI/CalibrationPanel.cpp
@@ -4,11 +4,13 @@
#include "MainFrame.hpp"
#include "CalibrationPanel.hpp"
#include "I18N.hpp"
+#include "SelectMachine.hpp"
+#include "SelectMachinePop.hpp"
namespace Slic3r { namespace GUI {
#define REFRESH_INTERVAL 1000
-
+
#define INITIAL_NUMBER_OF_MACHINES 0
#define LIST_REFRESH_INTERVAL 200
#define MACHINE_LIST_REFRESH_INTERVAL 2000
diff --git a/src/slic3r/GUI/CalibrationPanel.hpp b/src/slic3r/GUI/CalibrationPanel.hpp
index a993ff28869..eafb380c79a 100644
--- a/src/slic3r/GUI/CalibrationPanel.hpp
+++ b/src/slic3r/GUI/CalibrationPanel.hpp
@@ -7,16 +7,8 @@
namespace Slic3r { namespace GUI {
-#define SELECT_MACHINE_GREY900 wxColour(38, 46, 48)
-#define SELECT_MACHINE_GREY600 wxColour(144,144,144)
-#define SELECT_MACHINE_GREY400 wxColour(206, 206, 206)
-#define SELECT_MACHINE_BRAND wxColour(0, 150, 136)
-#define SELECT_MACHINE_REMIND wxColour(255,111,0)
-#define SELECT_MACHINE_LIGHT_GREEN wxColour(219, 253, 231)
-
#define CALI_MODE_COUNT 2
-
wxString get_calibration_type_name(CalibMode cali_mode);
class MObjectPanel : public wxPanel
diff --git a/src/slic3r/GUI/CalibrationWizard.cpp b/src/slic3r/GUI/CalibrationWizard.cpp
index 17fccc060e0..7e8ff01de0d 100644
--- a/src/slic3r/GUI/CalibrationWizard.cpp
+++ b/src/slic3r/GUI/CalibrationWizard.cpp
@@ -17,7 +17,6 @@ wxDEFINE_EVENT(EVT_CALIBRATION_JOB_FINISHED, wxCommandEvent);
static const wxString NA_STR = _L("N/A");
static const float MIN_PA_K_VALUE_STEP = 0.001;
static const int MAX_PA_HISTORY_RESULTS_NUMS = 16;
-
std::map get_cached_selected_filament(MachineObject* obj) {
std::map selected_filament_map;
if (!obj) return selected_filament_map;
@@ -46,7 +45,7 @@ bool is_pa_params_valid(const Calib_Params& params)
}
CalibrationWizard::CalibrationWizard(wxWindow* parent, CalibMode mode, wxWindowID id, const wxPoint& pos, const wxSize& size, long style)
- : wxPanel(parent, id, pos, size, style)
+ : wxPanel(parent, id, pos, size, style)
, m_mode(mode)
{
SetBackgroundColour(wxColour(0xEEEEEE));
@@ -58,8 +57,8 @@ CalibrationWizard::CalibrationWizard(wxWindow* parent, CalibMode mode, wxWindowI
m_scrolledWindow->SetBackgroundColour(*wxWHITE);
wxBoxSizer* padding_sizer = new wxBoxSizer(wxHORIZONTAL);
- padding_sizer->Add(0, 0, 1);
-
+ padding_sizer->Add(0, 0, 1);
+
m_all_pages_sizer = new wxBoxSizer(wxVERTICAL);
padding_sizer->Add(m_all_pages_sizer, 0);
@@ -103,6 +102,26 @@ CalibrationWizard::~CalibrationWizard()
;
}
+void CalibrationWizard::get_tray_ams_and_slot_id(int in_tray_id, int &ams_id, int &slot_id, int &tray_id)
+{
+ assert(curr_obj);
+ if (!curr_obj)
+ return;
+
+ if (in_tray_id == VIRTUAL_TRAY_ID || in_tray_id == VIRTUAL_TRAY_ID) {
+ ams_id = in_tray_id;
+ slot_id = 0;
+ tray_id = ams_id;
+ if (!curr_obj->is_enable_np)
+ tray_id = VIRTUAL_TRAY_ID;
+ }
+ else {
+ ams_id = in_tray_id / 4;
+ slot_id = in_tray_id % 4;
+ tray_id = in_tray_id;
+ }
+}
+
void CalibrationWizard::on_cali_job_finished(wxCommandEvent& event)
{
this->on_cali_job_finished(event.GetString());
@@ -320,7 +339,7 @@ void CalibrationWizard::back_preset_info(MachineObject *obj, bool cali_finish, b
wxGetApp().app_config->save_printer_cali_infos(printer_cali_info, back_cali_flag);
}
-void CalibrationWizard::msw_rescale()
+void CalibrationWizard::msw_rescale()
{
for (int i = 0; i < m_page_steps.size(); i++) {
if (m_page_steps[i]->page)
@@ -402,7 +421,7 @@ void PressureAdvanceWizard::create_pages()
preset_step = new CalibrationWizardPageStep(new CalibrationPresetPage(m_scrolledWindow, m_mode, false));
cali_step = new CalibrationWizardPageStep(new CalibrationCaliPage(m_scrolledWindow, m_mode));
save_step = new CalibrationWizardPageStep(new CalibrationPASavePage(m_scrolledWindow));
-
+
m_all_pages_sizer->Add(start_step->page, 1, wxEXPAND | wxALL, FromDIP(25));
m_all_pages_sizer->Add(preset_step->page, 1, wxEXPAND | wxALL, FromDIP(25));
m_all_pages_sizer->Add(cali_step->page, 1, wxEXPAND | wxALL, FromDIP(25));
@@ -477,7 +496,11 @@ void PressureAdvanceWizard::update(MachineObject* obj)
if (!m_show_result_dialog) {
if (obj->cali_version != -1 && obj->cali_version != cali_version) {
cali_version = obj->cali_version;
- CalibUtils::emit_get_PA_calib_info(obj->nozzle_diameter, "");
+ PACalibExtruderInfo cali_info;
+ cali_info.nozzle_diameter = obj->m_extder_data.extders[0].current_nozzle_diameter;
+ cali_info.use_extruder_id = false;
+ cali_info.use_nozzle_volume_type = false;
+ CalibUtils::emit_get_PA_calib_infos(cali_info);
}
}
}
@@ -589,7 +612,7 @@ void PressureAdvanceWizard::on_cali_start()
}
X1CCalibInfos::X1CCalibInfo calib_info;
- calib_info.tray_id = item.first;
+ get_tray_ams_and_slot_id(item.first, calib_info.ams_id, calib_info.slot_id, calib_info.tray_id);
calib_info.nozzle_diameter = nozzle_dia;
calib_info.filament_id = item.second->filament_id;
calib_info.setting_id = item.second->setting_id;
@@ -620,10 +643,12 @@ void PressureAdvanceWizard::on_cali_start()
BOOST_LOG_TRIVIAL(error) << "CaliPreset: get preset info error";
return;
}
-
+
+ int selected_tray_id = 0;
CalibInfo calib_info;
calib_info.dev_id = curr_obj->dev_id;
- calib_info.select_ams = "[" + std::to_string(selected_filaments.begin()->first) + "]";
+ get_tray_ams_and_slot_id(selected_filaments.begin()->first, calib_info.ams_id, calib_info.slot_id, selected_tray_id);
+ calib_info.select_ams = "[" + std::to_string(selected_tray_id) + "]";
Preset *preset = selected_filaments.begin()->second;
Preset * temp_filament_preset = new Preset(preset->type, preset->name + "_temp");
temp_filament_preset->config = preset->config;
@@ -656,10 +681,10 @@ void PressureAdvanceWizard::on_cali_start()
pa_cali_method = ManualPaCaliMethod::PA_LINE;
else if (calib_info.params.mode == CalibMode::Calib_PA_Pattern)
pa_cali_method = ManualPaCaliMethod::PA_PATTERN;
-
+
cali_page->set_pa_cali_image(int(pa_cali_method));
curr_obj->manual_pa_cali_method = pa_cali_method;
-
+
if (curr_obj->get_printer_series() != PrinterSeries::SERIES_X1 && curr_obj->pa_calib_tab.size() >= MAX_PA_HISTORY_RESULTS_NUMS) {
MessageDialog msg_dlg(nullptr, wxString::Format(_L("This machine type can only hold 16 history results per nozzle. "
"You can delete the existing historical results and then start calibration. "
@@ -740,7 +765,7 @@ void PressureAdvanceWizard::on_cali_save()
auto iter = std::find_if(curr_obj->pa_calib_tab.begin(), curr_obj->pa_calib_tab.end(), [&new_pa_cali_result](const PACalibResult &item) {
return item.name == new_pa_cali_result.name && item.filament_id == item.filament_id;
});
-
+
if (iter != curr_obj->pa_calib_tab.end()) {
MessageDialog
msg_dlg(nullptr,
@@ -819,7 +844,7 @@ void FlowRateWizard::create_pages()
coarse_save_step = new CalibrationWizardPageStep(new CalibrationFlowCoarseSavePage(m_scrolledWindow));
cali_fine_step = new CalibrationWizardPageStep(new CalibrationCaliPage(m_scrolledWindow, m_mode, CaliPageType::CALI_PAGE_FINE_CALI));
fine_save_step = new CalibrationWizardPageStep(new CalibrationFlowFineSavePage(m_scrolledWindow));
-
+
// auto
cali_step = new CalibrationWizardPageStep(new CalibrationCaliPage(m_scrolledWindow, m_mode));
save_step = new CalibrationWizardPageStep(new CalibrationFlowX1SavePage(m_scrolledWindow));
@@ -897,7 +922,7 @@ void FlowRateWizard::on_cali_action(wxCommandEvent& evt)
else if (action == CaliPageActionType::CALI_ACTION_CALI) {
if (m_cali_method == CalibrationMethod::CALI_METHOD_AUTO) {
on_cali_start();
- }
+ }
else if (m_cali_method == CalibrationMethod::CALI_METHOD_MANUAL) {
CaliPresetStage stage = CaliPresetStage::CALI_MANULA_STAGE_NONE;
float cali_value = 0.0f;
@@ -908,7 +933,7 @@ void FlowRateWizard::on_cali_action(wxCommandEvent& evt)
m_curr_step->chain(cali_fine_step);
}
// automatically jump to next step when print job is sending finished.
- }
+ }
else {
on_cali_start();
}
@@ -989,6 +1014,7 @@ void FlowRateWizard::on_cali_start(CaliPresetStage stage, float cali_value, Flow
X1CCalibInfos::X1CCalibInfo calib_info;
calib_info.tray_id = item.first;
+ get_tray_ams_and_slot_id(item.first, calib_info.ams_id, calib_info.slot_id, calib_info.tray_id);
calib_info.nozzle_diameter = nozzle_dia;
calib_info.filament_id = item.second->filament_id;
calib_info.setting_id = item.second->setting_id;
@@ -1039,7 +1065,9 @@ void FlowRateWizard::on_cali_start(CaliPresetStage stage, float cali_value, Flow
}
if (!selected_filaments.empty()) {
- calib_info.select_ams = "[" + std::to_string(selected_filaments.begin()->first) + "]";
+ int selected_tray_id = 0;
+ get_tray_ams_and_slot_id(selected_filaments.begin()->first, calib_info.ams_id, calib_info.slot_id, selected_tray_id);
+ calib_info.select_ams = "[" + std::to_string(selected_tray_id) + "]";
Preset* preset = selected_filaments.begin()->second;
temp_filament_preset = new Preset(preset->type, preset->name + "_temp");
temp_filament_preset->config = preset->config;
@@ -1307,7 +1335,7 @@ void FlowRateWizard::cache_coarse_info(MachineObject *obj)
wxString out_name;
coarse_page->get_result(&obj->cache_flow_ratio, &out_name);
-
+
back_preset_info(obj, false);
}
@@ -1317,7 +1345,7 @@ MaxVolumetricSpeedWizard::MaxVolumetricSpeedWizard(wxWindow* parent, wxWindowID
create_pages();
}
-void MaxVolumetricSpeedWizard::create_pages()
+void MaxVolumetricSpeedWizard::create_pages()
{
start_step = new CalibrationWizardPageStep(new CalibrationMaxVolumetricSpeedStartPage(m_scrolledWindow));
preset_step = new CalibrationWizardPageStep(new MaxVolumetricSpeedPresetPage(m_scrolledWindow, m_mode, true));
@@ -1415,7 +1443,9 @@ void MaxVolumetricSpeedWizard::on_cali_start()
calib_info.params = params;
calib_info.dev_id = curr_obj->dev_id;
if (!selected_filaments.empty()) {
- calib_info.select_ams = "[" + std::to_string(selected_filaments.begin()->first) + "]";
+ int selected_tray_id = 0;
+ get_tray_ams_and_slot_id(selected_filaments.begin()->first, calib_info.ams_id, calib_info.slot_id, selected_tray_id);
+ calib_info.select_ams = "[" + std::to_string(selected_tray_id) + "]";
calib_info.filament_prest = selected_filaments.begin()->second;
}
diff --git a/src/slic3r/GUI/CalibrationWizard.hpp b/src/slic3r/GUI/CalibrationWizard.hpp
index 34550b4b7fa..28bf9376926 100644
--- a/src/slic3r/GUI/CalibrationWizard.hpp
+++ b/src/slic3r/GUI/CalibrationWizard.hpp
@@ -19,7 +19,7 @@ class CalibrationWizardPageStep
CalibrationWizardPageStep(CalibrationWizardPage* data) {
page = data;
}
-
+
CalibrationWizardPageStep* prev { nullptr };
CalibrationWizardPageStep* next { nullptr };
CalibrationWizardPage* page { nullptr };
@@ -57,7 +57,7 @@ class CalibrationWizard : public wxPanel {
}
virtual void set_cali_method(CalibrationMethod method);
-
+
CalibMode get_calibration_mode() { return m_mode; }
bool save_preset(const std::string &old_preset_name, const std::string &new_preset_name, const std::map &key_values, wxString& message);
@@ -71,6 +71,7 @@ class CalibrationWizard : public wxPanel {
protected:
void on_cali_go_home();
+ void get_tray_ams_and_slot_id(int in_tray_id, int &ams_id, int &slot_id, int &tray_id);
protected:
/* wx widgets*/
@@ -89,7 +90,7 @@ class CalibrationWizard : public wxPanel {
CalibrationWizardPageStep* preset_step { nullptr };
CalibrationWizardPageStep* cali_step { nullptr };
CalibrationWizardPageStep* save_step { nullptr };
-
+
CalibrationWizardPageStep* cali_coarse_step { nullptr };
CalibrationWizardPageStep* coarse_save_step { nullptr };
CalibrationWizardPageStep* cali_fine_step { nullptr };
diff --git a/src/slic3r/GUI/CalibrationWizardCaliPage.cpp b/src/slic3r/GUI/CalibrationWizardCaliPage.cpp
index cd63eaf38ab..927285c149c 100644
--- a/src/slic3r/GUI/CalibrationWizardCaliPage.cpp
+++ b/src/slic3r/GUI/CalibrationWizardCaliPage.cpp
@@ -495,8 +495,8 @@ float CalibrationCaliPage::get_selected_calibration_nozzle_dia(MachineObject* ob
return obj->cali_selected_nozzle_dia;
// return default nozzle if nozzle diameter is set
- if (obj->nozzle_diameter > 1e-3 && obj->nozzle_diameter < 10.0f)
- return obj->nozzle_diameter;
+ if (obj->m_extder_data.extders[0].current_nozzle_diameter > 1e-3 && obj->m_extder_data.extders[0].current_nozzle_diameter < 10.0f)
+ return obj->m_extder_data.extders[0].current_nozzle_diameter;
// return 0.4 by default
return 0.4;
diff --git a/src/slic3r/GUI/CalibrationWizardPresetPage.cpp b/src/slic3r/GUI/CalibrationWizardPresetPage.cpp
index f4b268347fb..badb4a69452 100644
--- a/src/slic3r/GUI/CalibrationWizardPresetPage.cpp
+++ b/src/slic3r/GUI/CalibrationWizardPresetPage.cpp
@@ -614,12 +614,12 @@ void CalibrationPresetPage::create_filament_list_panel(wxWindow* parent)
auto ams_items_sizer = new wxBoxSizer(wxHORIZONTAL);
for (int i = 0; i < 4; i++) {
AMSinfo temp_info = AMSinfo{ std::to_string(i), std::vector{} };
- auto amsitem = new AMSItem(m_multi_ams_panel, wxID_ANY, temp_info);
+ auto amsitem = new AMSPreview(m_multi_ams_panel, wxID_ANY, temp_info);
amsitem->Bind(wxEVT_LEFT_DOWN, [this, amsitem](wxMouseEvent& e) {
- on_switch_ams(amsitem->m_amsinfo.ams_id);
+ on_switch_ams(amsitem->get_ams_id());
e.Skip();
});
- m_ams_item_list.push_back(amsitem);
+ m_ams_preview_list.push_back(amsitem);
ams_items_sizer->Add(amsitem, 0, wxALIGN_CENTER | wxRIGHT, FromDIP(6));
}
multi_ams_sizer->Add(ams_items_sizer, 0);
@@ -896,12 +896,11 @@ void CalibrationPresetPage::on_select_tray(wxCommandEvent& event)
void CalibrationPresetPage::on_switch_ams(std::string ams_id)
{
- for (auto i = 0; i < m_ams_item_list.size(); i++) {
- AMSItem* item = m_ams_item_list[i];
- if (item->m_amsinfo.ams_id == ams_id) {
+ for (auto i = 0; i < m_ams_preview_list.size(); i++) {
+ AMSPreview *item = m_ams_preview_list[i];
+ if (item->get_ams_id() == ams_id) {
item->OnSelected();
- }
- else {
+ } else {
item->UnSelected();
}
}
@@ -1505,7 +1504,7 @@ void CalibrationPresetPage::init_with_machine(MachineObject* obj)
// set nozzle value from machine
bool nozzle_is_set = false;
for (int i = 0; i < NOZZLE_LIST_COUNT; i++) {
- if (abs(obj->nozzle_diameter - nozzle_diameter_list[i]) < 1e-3) {
+ if (abs(obj->m_extder_data.extders[0].current_nozzle_diameter - nozzle_diameter_list[i]) < 1e-3) {
if (m_comboBox_nozzle_dia->GetCount() > i) {
m_comboBox_nozzle_dia->SetSelection(i);
nozzle_is_set = true;
@@ -1556,7 +1555,12 @@ void CalibrationPresetPage::sync_ams_info(MachineObject* obj)
{
if (!obj) return;
- std::map full_filament_ams_list = wxGetApp().sidebar().build_filament_ams_list(obj);
+ std::map old_full_filament_ams_list = wxGetApp().sidebar().build_filament_ams_list(obj);
+ std::map full_filament_ams_list;
+ for (auto ams_item : old_full_filament_ams_list) {
+ int key = ams_item.first & 0x0FFFF;
+ full_filament_ams_list[key] = std::move(ams_item.second);
+ }
// sync filament_ams_list from obj ams list
filament_ams_list.clear();
@@ -1611,8 +1615,8 @@ void CalibrationPresetPage::sync_ams_info(MachineObject* obj)
}
}
- for (auto i = 0; i < m_ams_item_list.size(); i++) {
- AMSItem* item = m_ams_item_list[i];
+ for (auto i = 0; i < m_ams_preview_list.size(); i++) {
+ AMSPreview* item = m_ams_preview_list[i];
if (ams_info.size() > 1) {
if (i < ams_info.size()) {
item->Update(ams_info[i]);
@@ -1780,7 +1784,7 @@ void CalibrationPresetPage::update_filament_combobox(std::string ams_id)
empty_config.set_key_value("filament_colour", new ConfigOptionStrings{ "" });
empty_config.set_key_value("filament_exist", new ConfigOptionBools{ false });
- /* update virtual tray combo box*/
+ // update virtual tray combo box
m_virtual_tray_comboBox->update_from_preset();
auto it = std::find_if(filament_ams_list.begin(), filament_ams_list.end(), [](auto& entry) {
return entry.first == VIRTUAL_TRAY_ID;
@@ -1836,7 +1840,7 @@ Preset* CalibrationPresetPage::get_printer_preset(MachineObject* obj, float nozz
std::string model_id = printer_it->get_current_printer_type(preset_bundle);
std::string printer_type = obj->printer_type;
- if (obj->is_support_p1s_plus) { printer_type = "C12"; }
+ if (obj->is_support_upgrade_kit && obj->installed_upgrade_kit) { printer_type = "C12"; }
if (model_id.compare(printer_type) == 0
&& printer_nozzle_vals
&& abs(printer_nozzle_vals->get_at(0) - nozzle_value) < 1e-3) {
diff --git a/src/slic3r/GUI/CalibrationWizardPresetPage.hpp b/src/slic3r/GUI/CalibrationWizardPresetPage.hpp
index 4adcd858f3a..176006994c1 100644
--- a/src/slic3r/GUI/CalibrationWizardPresetPage.hpp
+++ b/src/slic3r/GUI/CalibrationWizardPresetPage.hpp
@@ -284,8 +284,8 @@ class CalibrationPresetPage : public CalibrationWizardPage
FilamentComboBoxList m_filament_comboBox_list;
FilamentComboBox* m_virtual_tray_comboBox;
-
- std::vector m_ams_item_list;
+
+ std::vector m_ams_preview_list;
// for update filament combobox, key : tray_id
std::map filament_ams_list;
diff --git a/src/slic3r/GUI/CalibrationWizardSavePage.cpp b/src/slic3r/GUI/CalibrationWizardSavePage.cpp
index 738bd033a5d..6eb43e7172f 100644
--- a/src/slic3r/GUI/CalibrationWizardSavePage.cpp
+++ b/src/slic3r/GUI/CalibrationWizardSavePage.cpp
@@ -6,6 +6,8 @@
namespace Slic3r { namespace GUI {
+#define CALIBRATION_SAVE_AMS_NAME_SIZE wxSize(FromDIP(20), FromDIP(24))
+#define CALIBRATION_SAVE_NUMBER_INPUT_SIZE wxSize(FromDIP(100), FromDIP(24))
#define CALIBRATION_SAVE_INPUT_SIZE wxSize(FromDIP(240), FromDIP(24))
#define FLOW_RATE_MAX_VALUE 1.15
@@ -56,7 +58,7 @@ static wxString get_default_name(wxString filament_name, CalibMode mode){
return filament_name;
}
-static wxString get_tray_name_by_tray_id(int tray_id)
+static wxString get_tray_name_by_tray_id(int tray_id)
{
wxString tray_name;
if (tray_id == VIRTUAL_TRAY_ID) {
@@ -125,14 +127,14 @@ CaliPASaveAutoPanel::CaliPASaveAutoPanel(
const wxPoint& pos,
const wxSize& size,
long style)
- : wxPanel(parent, id, pos, size, style)
+ : wxPanel(parent, id, pos, size, style)
{
SetBackgroundColour(*wxWHITE);
m_top_sizer = new wxBoxSizer(wxVERTICAL);
-
+
create_panel(this);
-
+
this->SetSizer(m_top_sizer);
m_top_sizer->Fit(this);
}
@@ -200,6 +202,11 @@ std::vector> CaliPASaveAutoPanel::default_naming(std
void CaliPASaveAutoPanel::sync_cali_result(const std::vector& cali_result, const std::vector& history_result)
{
+ if (m_obj && m_obj->is_multi_extruders()) {
+ sync_cali_result_for_multi_extruder(cali_result, history_result);
+ return;
+ }
+
m_history_results = history_result;
m_calib_results.clear();
for (auto& item : cali_result) {
@@ -391,7 +398,7 @@ void CaliPASaveAutoPanel::save_to_result_from_widgets(wxWindow* window, bool* ou
}
m_calib_results[tray_id].name = into_u8(name);
}
-
+
auto childern = window->GetChildren();
for (auto child : childern) {
save_to_result_from_widgets(child, out_is_valid, out_msg);
@@ -444,6 +451,230 @@ bool CaliPASaveAutoPanel::get_result(std::vector& out_result) {
}
}
+void CaliPASaveAutoPanel::sync_cali_result_for_multi_extruder(const std::vector& cali_result, const std::vector& history_result)
+{
+ if (!m_obj)
+ return;
+
+ m_is_all_failed = true;
+ bool part_failed = false;
+ if (cali_result.empty())
+ part_failed = true;
+
+ m_history_results = history_result;
+ m_calib_results.clear();
+ for (auto &item : cali_result) {
+ if (item.confidence == 0) {
+ int tray_id = 4 * item.ams_id + item.slot_id;
+ m_calib_results[tray_id] = item;
+ }
+ }
+ m_grid_panel->DestroyChildren();
+ auto grid_sizer = new wxBoxSizer(wxHORIZONTAL);
+ const int COLUMN_GAP = FromDIP(10);
+ const int ROW_GAP = FromDIP(10);
+
+ wxStaticBoxSizer* left_sizer = new wxStaticBoxSizer(wxVERTICAL, m_grid_panel, "Left extruder");
+ wxStaticBoxSizer* right_sizer = new wxStaticBoxSizer(wxVERTICAL, m_grid_panel, "Right extruder");
+ grid_sizer->Add(left_sizer);
+ grid_sizer->AddSpacer(COLUMN_GAP);
+ grid_sizer->Add(right_sizer);
+
+ wxFlexGridSizer *left_grid_sizer = new wxFlexGridSizer(3, COLUMN_GAP, ROW_GAP);
+ wxFlexGridSizer *right_grid_sizer = new wxFlexGridSizer(3, COLUMN_GAP, ROW_GAP);
+ left_sizer->Add(left_grid_sizer);
+ right_sizer->Add(right_grid_sizer);
+
+ // main extruder
+ {
+ left_grid_sizer->Add(new wxStaticText(m_grid_panel, wxID_ANY, ""), 1, wxEXPAND); // fill empty space
+
+ auto brand_title = new Label(m_grid_panel, _L("Name"), 0, CALIBRATION_SAVE_INPUT_SIZE);
+ brand_title->SetFont(Label::Head_14);
+ left_grid_sizer->Add(brand_title, 1, wxALIGN_CENTER);
+
+ auto k_title = new Label(m_grid_panel, _L("Factor K"), 0, CALIBRATION_SAVE_NUMBER_INPUT_SIZE);
+ k_title->SetFont(Label::Head_14);
+ left_grid_sizer->Add(k_title, 1, wxALIGN_CENTER);
+ }
+
+ // deputy extruder
+ {
+ right_grid_sizer->Add(new wxStaticText(m_grid_panel, wxID_ANY, ""), 1, wxEXPAND); // fill empty space
+
+ auto brand_title = new Label(m_grid_panel, _L("Name"), 0, CALIBRATION_SAVE_INPUT_SIZE);
+ brand_title->SetFont(Label::Head_14);
+ right_grid_sizer->Add(brand_title, 1, wxALIGN_CENTER);
+
+ auto k_title = new Label(m_grid_panel, _L("Factor K"), 0, CALIBRATION_SAVE_NUMBER_INPUT_SIZE);
+ k_title->SetFont(Label::Head_14);
+ right_grid_sizer->Add(k_title, 1, wxALIGN_CENTER);
+ }
+
+ std::vector> preset_names;
+ for (auto &info : m_obj->selected_cali_preset) {
+ preset_names.push_back({info.tray_id, info.name});
+ }
+ preset_names = default_naming(preset_names);
+
+ bool left_first_add_item = true;
+ bool right_first_add_item = true;
+ for (auto &item : cali_result) {
+ bool result_failed = false;
+ if (item.confidence != 0) {
+ result_failed = true;
+ part_failed = true;
+ } else {
+ m_is_all_failed = false;
+ }
+
+ //wxBoxSizer *item_data_sizer = new wxBoxSizer(wxHORIZONTAL);
+ auto tray_title = new Label(m_grid_panel, "", 0, CALIBRATION_SAVE_AMS_NAME_SIZE);
+ tray_title->SetFont(Label::Head_14);
+ wxString tray_name = get_tray_name_by_tray_id(item.tray_id);
+ tray_title->SetLabel(tray_name);
+
+ auto k_value = new GridTextInput(m_grid_panel, "", "", CALIBRATION_SAVE_NUMBER_INPUT_SIZE, item.tray_id, GridTextInputType::K);
+ auto n_value = new GridTextInput(m_grid_panel, "", "", CALIBRATION_SAVE_NUMBER_INPUT_SIZE, item.tray_id, GridTextInputType::N);
+ k_value->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
+ n_value->GetTextCtrl()->SetValidator(wxTextValidator(wxFILTER_NUMERIC));
+ auto k_value_failed = new Label(m_grid_panel, _L("Failed"));
+ auto n_value_failed = new Label(m_grid_panel, _L("Failed"));
+
+ auto comboBox_tray_name = new GridComboBox(m_grid_panel, CALIBRATION_SAVE_INPUT_SIZE, item.tray_id);
+ auto tray_name_failed = new Label(m_grid_panel, " - ");
+ wxArrayString selections;
+ static std::vector filtered_results;
+ filtered_results.clear();
+ for (auto history : history_result) {
+ if (history.filament_id == item.filament_id
+ && history.extruder_id == item.extruder_id
+ && history.nozzle_volume_type == item.nozzle_volume_type
+ && history.nozzle_diameter == item.nozzle_diameter) {
+ filtered_results.push_back(history);
+ selections.push_back(from_u8(history.name));
+ }
+ }
+ comboBox_tray_name->Set(selections);
+
+ auto set_edit_mode = [this, k_value, n_value, k_value_failed, n_value_failed, comboBox_tray_name, tray_name_failed](std::string str) {
+ if (str == "normal") {
+ comboBox_tray_name->Show();
+ tray_name_failed->Show(false);
+ k_value->Show();
+ n_value->Show();
+ k_value_failed->Show(false);
+ n_value_failed->Show(false);
+ }
+ if (str == "failed") {
+ comboBox_tray_name->Show(false);
+ tray_name_failed->Show();
+ k_value->Show(false);
+ n_value->Show(false);
+ k_value_failed->Show();
+ n_value_failed->Show();
+ }
+
+ // hide n value
+ n_value->Hide();
+ n_value_failed->Hide();
+
+ m_grid_panel->Layout();
+ m_grid_panel->Update();
+ };
+
+ if (!result_failed) {
+ set_edit_mode("normal");
+
+ auto k_str = wxString::Format("%.3f", item.k_value);
+ auto n_str = wxString::Format("%.3f", item.n_coef);
+ k_value->GetTextCtrl()->SetValue(k_str);
+ n_value->GetTextCtrl()->SetValue(n_str);
+
+ for (auto &name : preset_names) {
+ if (item.tray_id == name.first) { comboBox_tray_name->SetValue(from_u8(name.second)); }
+ }
+
+ comboBox_tray_name->Bind(wxEVT_COMBOBOX, [this, comboBox_tray_name, k_value, n_value](auto &e) {
+ int selection = comboBox_tray_name->GetSelection();
+ auto history = filtered_results[selection];
+ });
+ } else {
+ set_edit_mode("failed");
+ }
+
+ if ((m_obj->is_main_extruder_on_left() && item.extruder_id == 0)
+ || (!m_obj->is_main_extruder_on_left() && item.extruder_id == 1)) {
+ if (left_first_add_item) {
+ wxString title_name = left_sizer->GetStaticBox()->GetLabel();
+ title_name += " - ";
+ title_name += get_nozzle_volume_type_name(item.nozzle_volume_type);
+ left_sizer->GetStaticBox()->SetLabel(title_name);
+ left_first_add_item = false;
+ }
+
+ left_grid_sizer->Add(tray_title, 1, wxEXPAND);
+
+ if (comboBox_tray_name->IsShown()) {
+ left_grid_sizer->Add(comboBox_tray_name, 1, wxEXPAND);
+ } else {
+ left_grid_sizer->Add(tray_name_failed, 1, wxEXPAND);
+ }
+
+ if (k_value->IsShown()) {
+ left_grid_sizer->Add(k_value, 1, wxEXPAND);
+ } else {
+ left_grid_sizer->Add(k_value_failed, 1, wxEXPAND);
+ }
+ }
+ else {
+ if (right_first_add_item) {
+ wxString title_name = right_sizer->GetStaticBox()->GetLabel();
+ title_name += " - ";
+ title_name += get_nozzle_volume_type_name(item.nozzle_volume_type);
+ right_sizer->GetStaticBox()->SetLabel(title_name);
+ right_first_add_item = false;
+ }
+ right_grid_sizer->Add(tray_title, 1, wxEXPAND);
+
+ if (comboBox_tray_name->IsShown()) {
+ right_grid_sizer->Add(comboBox_tray_name, 1, wxEXPAND);
+ } else {
+ right_grid_sizer->Add(tray_name_failed, 1, wxEXPAND);
+ }
+
+ if (k_value->IsShown()) {
+ right_grid_sizer->Add(k_value, 1, wxEXPAND);
+ } else {
+ right_grid_sizer->Add(k_value_failed, 1, wxEXPAND);
+ }
+ }
+ }
+
+ if (left_first_add_item)
+ left_sizer->Show(false);
+ if (right_first_add_item)
+ right_sizer->Show(false);
+
+ m_grid_panel->SetSizer(grid_sizer, true);
+ m_grid_panel->Bind(wxEVT_LEFT_DOWN, [this](auto &e) { SetFocusIgnoringChildren(); });
+
+ if (part_failed) {
+ m_part_failed_panel->Show();
+ m_complete_text_panel->Show();
+ if (m_is_all_failed) {
+ m_complete_text_panel->Hide();
+ }
+ } else {
+ m_complete_text_panel->Show();
+ m_part_failed_panel->Hide();
+ }
+
+ wxGetApp().UpdateDarkUIWin(this);
+
+ Layout();
+}
+
CaliPASaveManualPanel::CaliPASaveManualPanel(
wxWindow* parent,
wxWindowID id,
@@ -521,7 +752,7 @@ void CaliPASaveManualPanel::create_panel(wxWindow* parent)
}
void CaliPASaveManualPanel::set_save_img() {
- if (wxGetApp().app_config->get_language_code() == "zh-cn") {
+ if (wxGetApp().app_config->get_language_code() == "zh-cn") {
m_picture_panel->set_bmp(ScalableBitmap(this, "fd_calibration_manual_result_CN", 330));
} else {
m_picture_panel->set_bmp(ScalableBitmap(this, "fd_calibration_manual_result", 330));
@@ -778,19 +1009,19 @@ void CaliSavePresetValuePanel::set_save_name_title(const wxString& title) {
m_save_name_title->SetLabel(title);
}
-void CaliSavePresetValuePanel::get_value(double& value)
-{
- m_input_value->GetTextCtrl()->GetValue().ToDouble(&value);
+void CaliSavePresetValuePanel::get_value(double& value)
+{
+ m_input_value->GetTextCtrl()->GetValue().ToDouble(&value);
}
void CaliSavePresetValuePanel::get_save_name(std::string& name)
-{
- name = into_u8(m_input_name->GetTextCtrl()->GetValue());
+{
+ name = into_u8(m_input_name->GetTextCtrl()->GetValue());
}
void CaliSavePresetValuePanel::set_save_name(const std::string& name)
-{
- m_input_name->GetTextCtrl()->SetValue(name);
+{
+ m_input_name->GetTextCtrl()->SetValue(name);
}
void CaliSavePresetValuePanel::msw_rescale()
@@ -1307,7 +1538,7 @@ void CalibrationFlowCoarseSavePage::create_page(wxWindow* parent)
}
void CalibrationFlowCoarseSavePage::set_save_img() {
- if (wxGetApp().app_config->get_language_code() == "zh-cn") {
+ if (wxGetApp().app_config->get_language_code() == "zh-cn") {
m_picture_panel->set_bmp(ScalableBitmap(this, "flow_rate_calibration_coarse_result_CN", 350));
} else {
m_picture_panel->set_bmp(ScalableBitmap(this, "flow_rate_calibration_coarse_result", 350));
@@ -1491,7 +1722,7 @@ void CalibrationFlowFineSavePage::create_page(wxWindow* parent)
}
void CalibrationFlowFineSavePage::set_save_img() {
- if (wxGetApp().app_config->get_language_code() == "zh-cn") {
+ if (wxGetApp().app_config->get_language_code() == "zh-cn") {
m_picture_panel->set_bmp(ScalableBitmap(this, "flow_rate_calibration_fine_result_CN", 350));
} else {
m_picture_panel->set_bmp(ScalableBitmap(this, "flow_rate_calibration_fine_result", 350));
diff --git a/src/slic3r/GUI/CalibrationWizardSavePage.hpp b/src/slic3r/GUI/CalibrationWizardSavePage.hpp
index 6b76b22acb3..aa63a75a187 100644
--- a/src/slic3r/GUI/CalibrationWizardSavePage.hpp
+++ b/src/slic3r/GUI/CalibrationWizardSavePage.hpp
@@ -98,6 +98,9 @@ class CaliPASaveAutoPanel : public wxPanel
bool get_result(std::vector& out_result);
bool is_all_failed() { return m_is_all_failed; }
+protected:
+ void sync_cali_result_for_multi_extruder(const std::vector &cali_result, const std::vector &history_result);
+
protected:
wxBoxSizer* m_top_sizer;
wxPanel* m_complete_text_panel;
@@ -218,7 +221,7 @@ class CalibrationFlowX1SavePage : public CalibrationCommonSavePage
bool is_all_failed() { return m_is_all_failed; }
virtual bool Show(bool show = true) override;
-
+
void msw_rescale() override;
protected:
diff --git a/src/slic3r/GUI/CalibrationWizardStartPage.cpp b/src/slic3r/GUI/CalibrationWizardStartPage.cpp
index c4b0c83cba8..49d0483d8de 100644
--- a/src/slic3r/GUI/CalibrationWizardStartPage.cpp
+++ b/src/slic3r/GUI/CalibrationWizardStartPage.cpp
@@ -168,9 +168,8 @@ void CalibrationPAStartPage::on_device_connected(MachineObject* obj)
m_action_panel->bind_button(CaliPageActionType::CALI_ACTION_AUTO_CALI, false);
}
- // is support auto cali
- bool is_support_pa_auto = (obj->home_flag >> 16 & 1) == 1;
- if (!is_support_pa_auto) {
+
+ if (!obj->is_support_pa_calibration) {
m_action_panel->show_button(CaliPageActionType::CALI_ACTION_AUTO_CALI, false);
}
}
@@ -319,8 +318,7 @@ void CalibrationFlowRateStartPage::on_device_connected(MachineObject* obj)
}
//is support auto cali
- bool is_support_flow_rate_auto = (obj->home_flag >> 15 & 1) == 1;
- if (!is_support_flow_rate_auto) {
+ if (!obj->is_support_flow_calibration) {
m_action_panel->show_button(CaliPageActionType::CALI_ACTION_AUTO_CALI, false);
}
}
diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp
index cd94ab183aa..bf9d3cd62fd 100644
--- a/src/slic3r/GUI/DeviceManager.cpp
+++ b/src/slic3r/GUI/DeviceManager.cpp
@@ -24,6 +24,8 @@
#define MINUTE_30 1800000 //ms
#define TIME_OUT 5000 //ms
+#define ORCA_NETWORK_DEBUG
+
namespace pt = boost::property_tree;
float string_to_float(const std::string& str_value) {
@@ -32,50 +34,6 @@ float string_to_float(const std::string& str_value) {
return value;
}
-const int PRINTING_STAGE_COUNT = 36;
-std::string PRINTING_STAGE_STR[PRINTING_STAGE_COUNT] = {
- "printing",
- "bed_leveling",
- "heatbed_preheating",
- "xy_mech_mode_sweep",
- "change_material",
- "m400_pause",
- "filament_runout_pause",
- "hotend_heating",
- "extrude_compensation_scan",
- "bed_scan",
- "first_layer_scan",
- "be_surface_typt_idetification",
- "scanner_extrinsic_para_cali",
- "toohead_homing",
- "nozzle_tip_cleaning",
- "extruder_temp_protect_cali",
- "user_pause",
- "toolhead_shell_off_pause",
- "scanner_laser_para_cali",
- "extruder_absolute_flow_cali",
- "hotend_temperature_error_pause", // 20
- "heated_bed_temperature_error_pause",
- "filament_unloading",
- "skip_step_pause",
- "filament_loading",
- "motor_noise_calibration",
- "ams_lost_pause",
- "heat_break_fan_pause",
- "chamber_temperature_control_error_pause",
- "chamber_cooling",
- "user_insert_gcode_pause",
- "motor_noise_showoff",
- "nozzle_filament_covered_detected_pause",
- "cutter_error_pause",
- "first_layer_error_pause",
- "nozzle_clog_pause"
- };
-
-
-
-
-
wxString get_stage_string(int stage)
{
switch(stage) {
@@ -176,6 +134,57 @@ std::string to_string_nozzle_diameter(float nozzle_diameter)
return "0";
}
+void sanitizeToUtf8(std::string& str) {
+ std::string result;
+ size_t i = 0;
+
+ while (i < str.size()) {
+ unsigned char c = str[i];
+ size_t remainingBytes = 0;
+ bool valid = true;
+
+ if ((c & 0x80) == 0x00) { // 1-byte character (ASCII)
+ remainingBytes = 0;
+ }
+ else if ((c & 0xE0) == 0xC0) { // 2-byte character
+ remainingBytes = 1;
+ }
+ else if ((c & 0xF0) == 0xE0) { // 3-byte character
+ remainingBytes = 2;
+ }
+ else if ((c & 0xF8) == 0xF0) { // 4-byte character
+ remainingBytes = 3;
+ }
+ else {
+ valid = false; // Invalid first byte
+ }
+
+ if (valid && i + remainingBytes < str.size()) {
+ for (size_t j = 1; j <= remainingBytes; ++j) {
+ if ((str[i + j] & 0xC0) != 0x80) {
+ valid = false; // Invalid continuation byte
+ break;
+ }
+ }
+ }
+ else {
+ valid = false; // Truncated character
+ }
+
+ if (valid) {
+ // Append valid UTF-8 character
+ result.append(str, i, remainingBytes + 1);
+ i += remainingBytes + 1;
+ }
+ else {
+ // Replace invalid character with space
+ result += ' ';
+ ++i; // Skip the invalid byte
+ }
+ }
+ str = std::move(result);
+}
+
namespace Slic3r {
/* Common Functions */
@@ -194,6 +203,43 @@ void split_string(std::string s, std::vector& v) {
v.push_back(t);
}
+wxString generate_nozzle_id(NozzleVolumeType nozzle_type, const std::string& diameter)
+{
+ // HS00-0.4
+ std::string nozzle_id = "H";
+ switch (nozzle_type) {
+ case NozzleVolumeType::nvtNormal: {
+ nozzle_id += "S";
+ break;
+ }
+ case NozzleVolumeType::nvtBigTraffic: {
+ nozzle_id += "H";
+ break;
+ }
+ default:
+ nozzle_id += "H";
+ break;
+ }
+ nozzle_id += "00";
+ nozzle_id += "-";
+ nozzle_id += diameter;
+ return nozzle_id;
+}
+
+NozzleVolumeType convert_to_nozzle_type(const std::string &str)
+{
+ if (str.size() < 8) {
+ assert(false);
+ return NozzleVolumeType::nvtNormal;
+ }
+ NozzleVolumeType res = NozzleVolumeType::nvtNormal;
+ if (str[1] == 'S')
+ res = NozzleVolumeType::nvtNormal;
+ else if (str[1] == 'H')
+ res = NozzleVolumeType::nvtBigTraffic;
+ return res;
+}
+
PrinterArch get_printer_arch_by_str(std::string arch_str)
{
if (arch_str == "i3") {
@@ -492,7 +538,7 @@ bool MachineObject::is_lan_mode_printer() const
PrinterSeries MachineObject::get_printer_series() const
{
std::string series = DeviceManager::get_printer_series(printer_type);
- if (series == "series_x1")
+ if (series == "series_x1" || series == "series_o")
return PrinterSeries::SERIES_X1;
else if (series == "series_p1p")
return PrinterSeries::SERIES_P1P;
@@ -536,8 +582,6 @@ MachineObject::MachineObject(NetworkAgent* agent, std::string name, std::string
reset();
/* temprature fields */
- nozzle_temp = 0.0f;
- nozzle_temp_target = 0.0f;
bed_temp = 0.0f;
bed_temp_target = 0.0f;
chamber_temp = 0.0f;
@@ -552,9 +596,7 @@ MachineObject::MachineObject(NetworkAgent* agent, std::string name, std::string
is_ams_need_update = false;
ams_insert_flag = false;
ams_power_on_flag = false;
- ams_support_use_ams = false;
ams_calibrate_remain_flag = false;
- ams_humidity = 5;
/* signals */
wifi_signal = "";
@@ -584,6 +626,15 @@ MachineObject::MachineObject(NetworkAgent* agent, std::string name, std::string
printing_speed_lvl = PrintingSpeedLevel::SPEED_LEVEL_INVALID;
has_ipcam = true; // default true
+
+ m_extder_data.current_extder_id = MAIN_NOZZLE_ID;
+ m_extder_data.target_extder_id = MAIN_NOZZLE_ID;
+ m_extder_data.total_extder_count = 1;
+ Extder nozzle;
+ nozzle.id = MAIN_NOZZLE_ID;
+ nozzle.nozzle_id = MAIN_NOZZLE_ID;
+ nozzle.target_nozzle_id = MAIN_NOZZLE_ID;
+ m_extder_data.extders.push_back(nozzle);
}
MachineObject::~MachineObject()
@@ -662,7 +713,7 @@ bool MachineObject::is_extrusion_cali_finished()
if (diff.count() < EXTRUSION_OMIT_TIME) {
return false;
}
-
+
if (boost::contains(m_gcode_file, "extrusion_cali")
&& this->mc_print_percent == 100)
return true;
@@ -672,24 +723,44 @@ bool MachineObject::is_extrusion_cali_finished()
void MachineObject::_parse_tray_now(std::string tray_now)
{
- m_tray_now = tray_now;
if (tray_now.empty()) {
return;
} else {
try {
int tray_now_int = atoi(tray_now.c_str());
- if (tray_now_int >= 0 && tray_now_int < 16) {
- m_ams_id = std::to_string(tray_now_int >> 2);
- m_tray_id = std::to_string(tray_now_int & 0x3);
- }
- else if (tray_now_int == 255) {
+
+ if (tray_now_int == 255) {
m_ams_id = "0";
m_tray_id = "0";
+ m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id = "";
+ m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id = "";
+
+ if (m_tray_now == std::to_string(255)) {
+ m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id = std::to_string(255);
+ m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id = "0";
+ }
+ }
+ else if (tray_now_int == 254) {
+ m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id = std::to_string(254);
+ m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id = "0";
+ }
+ else {
+ if (tray_now_int >= 0x80 && tray_now_int <= 0x87) {
+ m_ams_id = std::to_string(tray_now_int);
+ } else {
+ m_ams_id = std::to_string(tray_now_int >> 2);
+ }
+
+ m_tray_id = std::to_string(tray_now_int & 0x3);
+ m_extder_data.extders[MAIN_NOZZLE_ID].snow.ams_id = m_ams_id;
+ m_extder_data.extders[MAIN_NOZZLE_ID].snow.slot_id = m_tray_id;
}
}
catch(...) {
}
}
+
+ m_tray_now = tray_now;
}
Ams *MachineObject::get_curr_Ams()
@@ -810,6 +881,9 @@ int MachineObject::ams_filament_mapping(std::vector filaments, std
// tray_index : tray_color
std::map tray_filaments;
for (auto ams = amsList.begin(); ams != amsList.end(); ams++) {
+
+ std::string ams_id = ams->second->id;
+
for (auto tray = ams->second->trayList.begin(); tray != ams->second->trayList.end(); tray++) {
int ams_id = atoi(ams->first.c_str());
int tray_id = atoi(tray->first.c_str());
@@ -828,6 +902,11 @@ int MachineObject::ams_filament_mapping(std::vector filaments, std
info.filament_id = tray->second->setting_id;
info.ctype = tray->second->ctype;
info.colors = tray->second->cols;
+
+ /*for new ams mapping*/
+ info.ams_id = ams->first.c_str();
+ info.slot_id = tray->first.c_str();
+
tray_filaments.emplace(std::make_pair(tray_index, info));
}
}
@@ -835,27 +914,29 @@ int MachineObject::ams_filament_mapping(std::vector filaments, std
// tray info list
std::vector tray_info_list;
- for (auto it = amsList.begin(); it != amsList.end(); it++) {
- for (int i = 0; i < 4; i++) {
+ int flament_index_id = 0;
+ for (auto ams = amsList.begin(); ams != amsList.end(); ams++) {
+ for (auto tray = ams->second->trayList.begin(); tray != ams->second->trayList.end(); tray++) {
+
FilamentInfo info;
- auto tray_it = it->second->trayList.find(std::to_string(i));
- if (tray_it != it->second->trayList.end()) {
- info.id = atoi(tray_it->first.c_str()) + atoi(it->first.c_str()) * 4;
- info.tray_id = atoi(tray_it->first.c_str()) + atoi(it->first.c_str()) * 4;
- info.color = tray_it->second->color;
- info.type = tray_it->second->get_filament_type();
- info.ctype = tray_it->second->ctype;
- info.colors = tray_it->second->cols;
- }
- else {
- info.id = -1;
- info.tray_id = -1;
- }
+ info.id = flament_index_id;
+ info.tray_id = flament_index_id;
+ info.color = tray->second->color;
+ info.type = tray->second->get_filament_type();
+ info.ctype = tray->second->ctype;
+ info.colors = tray->second->cols;
+
+
+ /*for new ams mapping*/
+ info.ams_id = ams->second->id;
+ info.slot_id = tray->second->id;
+
tray_info_list.push_back(info);
+ flament_index_id++;
}
}
-
+
// is_support_ams_mapping
if (!is_support_ams_mapping()) {
BOOST_LOG_TRIVIAL(info) << "ams_mapping: do not support, use order mapping";
@@ -960,7 +1041,7 @@ int MachineObject::ams_filament_mapping(std::vector filaments, std
}
continue;
}
-
+
if (distance_map[i][j].is_same_color
&& distance_map[i][j].is_type_match) {
if (min_val > distance_map[i][j].distance) {
@@ -968,7 +1049,7 @@ int MachineObject::ams_filament_mapping(std::vector filaments, std
min_val = distance_map[i][j].distance;
picked_src_idx = i;
picked_tar_idx = j;
- }
+ }
else if (min_val == distance_map[i][j].distance&& filaments[picked_src_idx].filament_id!= tray_filaments[picked_tar_idx].filament_id && filaments[i].filament_id == tray_filaments[j].filament_id) {
picked_src_idx = i;
@@ -987,6 +1068,11 @@ int MachineObject::ams_filament_mapping(std::vector filaments, std
result[picked_src_idx].filament_id = tray->second.filament_id;
result[picked_src_idx].ctype = tray->second.ctype;
result[picked_src_idx].colors = tray->second.colors;
+
+
+ /*for new ams mapping*/
+ result[picked_src_idx].ams_id = tray->second.ams_id;
+ result[picked_src_idx].slot_id = tray->second.slot_id;
}
else {
FilamentInfo info;
@@ -1028,6 +1114,10 @@ int MachineObject::ams_filament_mapping(std::vector filaments, std
result[i].type = tray_info_list[i].type;
result[i].ctype = tray_info_list[i].ctype;
result[i].colors = tray_info_list[i].colors;
+
+ /*for new ams mapping*/
+ result[i].ams_id = tray_info_list[i].ams_id;
+ result[i].slot_id = tray_info_list[i].slot_id;
}
}
}
@@ -1117,6 +1207,17 @@ void MachineObject::reset_mapping_result(std::vector& result)
}
}
+bool MachineObject::is_main_extruder_on_left() const
+{
+ // only means the extruder is on the left hand when extruder id is 0
+ return false;
+}
+
+bool MachineObject::is_multi_extruders() const
+{
+ return m_extder_data.total_extder_count > 1;
+}
+
bool MachineObject::is_bbl_filament(std::string tag_uid)
{
if (tag_uid.empty())
@@ -1255,9 +1356,25 @@ wxString MachineObject::get_upgrade_result_str(int err_code)
std::map MachineObject::get_ams_version()
{
+ std::vector multi_tray_ams_type = {"ams", "n3f"};
std::map result;
- for (int i = 0; i < 4; i++) {
- std::string ams_id = "ams/" + std::to_string(i);
+ for (int i = 0; i < 8; i++) {
+ std::string ams_id;
+ for (auto type : multi_tray_ams_type)
+ {
+ ams_id = type + "/" + std::to_string(i);
+ auto it = module_vers.find(ams_id);
+ if (it != module_vers.end()) {
+ result.emplace(std::pair(i, it->second));
+ }
+ }
+ }
+
+ std::string single_tray_ams_type = "n3s";
+ int n3s_start_id = 128;
+ for (int i = n3s_start_id; i < n3s_start_id + 8; i++) {
+ std::string ams_id;
+ ams_id = single_tray_ams_type + "/" + std::to_string(i);
auto it = module_vers.find(ams_id);
if (it != module_vers.end()) {
result.emplace(std::pair(i, it->second));
@@ -1266,6 +1383,24 @@ std::map MachineObject::get_ams_version()
return result;
}
+void MachineObject::store_version_info(const ModuleVersionInfo& info)
+{
+ if (info.isAirPump())
+ {
+ air_pump_version_info = info;
+ }
+ else if (info.isLaszer())
+ {
+ laser_version_info = info;
+ }
+ else if (info.isCuttingModule())
+ {
+ cutting_module_version_info = info;
+ }
+
+ module_vers.emplace(info.name, info);
+}
+
bool MachineObject::is_system_printing()
{
if (is_in_calibration() && is_in_printing_status(print_status))
@@ -1375,7 +1510,7 @@ void MachineObject::parse_state_changed_event()
void MachineObject::parse_status(int flag)
{
- is_220V_voltage = ((flag >> 3) & 0x1) != 0;
+ is_220V_voltage = ((flag >> 3) & 0x1) != 0;
if (xcam_auto_recovery_hold_count > 0)
xcam_auto_recovery_hold_count--;
else {
@@ -1385,41 +1520,46 @@ void MachineObject::parse_status(int flag)
camera_recording = ((flag >> 5) & 0x1) != 0;
ams_calibrate_remain_flag = ((flag >> 7) & 0x1) != 0;
+ sdcard_state = MachineObject::SdcardState(get_flag_bits(flag, 8, 2));
+
if (ams_print_option_count > 0)
ams_print_option_count--;
else {
ams_auto_switch_filament_flag = ((flag >> 10) & 0x1) != 0;
}
+ is_support_flow_calibration = ((flag >> 15) & 0x1) != 0;
+ is_support_pa_calibration = ((flag >> 16) & 0x1) != 0;
+
if (xcam_prompt_sound_hold_count > 0)
xcam_prompt_sound_hold_count--;
else {
xcam_allow_prompt_sound = ((flag >> 17) & 0x1) != 0;
}
- if (((flag >> 18) & 0x1) != 0) {
- is_support_prompt_sound = true;
- }
-
+ is_support_prompt_sound = ((flag >> 18) & 0x1) != 0;
is_support_filament_tangle_detect = ((flag >> 19) & 0x1) != 0;
- is_support_user_preset = ((flag >> 22) & 0x1) != 0;
+
if (xcam_filament_tangle_detect_count > 0)
xcam_filament_tangle_detect_count--;
else {
xcam_filament_tangle_detect = ((flag >> 20) & 0x1) != 0;
}
- if(!is_support_motor_noise_cali){
+ /*if(!is_support_motor_noise_cali){
is_support_motor_noise_cali = ((flag >> 21) & 0x1) != 0;
- }
+ }*/
+ is_support_motor_noise_cali = ((flag >> 21) & 0x1) != 0;
+
+ is_support_user_preset = ((flag >> 22) & 0x1) != 0;
is_support_nozzle_blob_detection = ((flag >> 25) & 0x1) != 0;
nozzle_blob_detection_enabled = ((flag >> 24) & 0x1) != 0;
is_support_air_print_detection = ((flag >> 29) & 0x1) != 0;
ams_air_print_status = ((flag >> 28) & 0x1) != 0;
-
- if (!is_support_p1s_plus) {
+
+ /*if (!is_support_p1s_plus) {
auto supported_plus = ((flag >> 27) & 0x1) != 0;
auto installed_plus = ((flag >> 26) & 0x1) != 0;
@@ -1429,9 +1569,10 @@ void MachineObject::parse_status(int flag)
else {
is_support_p1s_plus = false;
}
- }
+ }*/
- sdcard_state = MachineObject::SdcardState((flag >> 8) & 0x11);
+ is_support_upgrade_kit = ((flag >> 27) & 0x1) != 0;
+ installed_upgrade_kit = ((flag >> 26) & 0x1) != 0;
is_support_agora = ((flag >> 30) & 0x1) != 0;
if (is_support_agora)
@@ -1481,11 +1622,6 @@ bool MachineObject::is_sdcard_printing()
return false;
}
-bool MachineObject::has_sdcard()
-{
- return (sdcard_state == MachineObject::SdcardState::HAS_SDCARD_NORMAL);
-}
-
MachineObject::SdcardState MachineObject::get_sdcard_state()
{
return sdcard_state;
@@ -1506,6 +1642,21 @@ bool MachineObject::is_recording()
return camera_recording;
}
+int MachineObject::get_liveview_remote()
+{
+ if (is_support_agora) {
+ return liveview_remote == LVR_None ? LVR_Agora : liveview_remote == LVR_Tutk ? LVR_TutkAgora : liveview_remote;
+ }
+ return liveview_remote;
+}
+
+int MachineObject::get_file_remote()
+{
+ if (is_support_agora)
+ file_remote = file_remote == FR_None ? FR_Agora : file_remote == FR_Tutk ? FR_TutkAgora : file_remote;
+ return file_remote;
+}
+
std::string MachineObject::parse_version()
{
auto ota_version = module_vers.find("ota");
@@ -1549,7 +1700,7 @@ int MachineObject::command_get_access_code() {
json j;
j["system"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
j["system"]["command"] = "get_access_code";
-
+
return this->publish_json(j.dump());
}
@@ -1680,6 +1831,15 @@ int MachineObject::command_go_home()
return this->publish_gcode("G28 \n");
}
+int MachineObject::command_go_home2()
+{
+ BOOST_LOG_TRIVIAL(info) << "New protocol of command_go_home2";
+ json j;
+ j["print"]["command"] = "back_to_center";
+ j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
+ return this->publish_json(j.dump());
+}
+
int MachineObject::command_control_fan(FanType fan_type, bool on_off)
{
std::string gcode = (boost::format("M106 P%1% S%2% \n") % (int)fan_type % (on_off ? 255 : 0)).str();
@@ -1751,52 +1911,78 @@ int MachineObject::command_set_nozzle(int temp)
int MachineObject::command_set_chamber(int temp)
{
json j;
- j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
+ j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
j["print"]["command"] = "set_ctt";
j["print"]["ctt_val"] = temp;
return this->publish_json(j.dump(), 1);
}
-int MachineObject::command_ams_switch(int tray_index, int old_temp, int new_temp)
+//int MachineObject::command_ams_switch(int tray_index, int old_temp, int new_temp)
+//{
+// BOOST_LOG_TRIVIAL(trace) << "ams_switch to " << tray_index << " with temp: " << old_temp << ", " << new_temp;
+// if (old_temp < 0) old_temp = FILAMENT_DEF_TEMP;
+// if (new_temp < 0) new_temp = FILAMENT_DEF_TEMP;
+//
+// std::string gcode = "";
+// int result = 0;
+//
+// //command
+// if (is_support_command_ams_switch) {
+// command_ams_change_filament(tray_index, old_temp, new_temp);
+// }
+// else {
+// std::string gcode = "";
+// if (tray_index == 255) {
+// gcode = DeviceManager::load_gcode(printer_type, "ams_unload.gcode");
+// }
+// else {
+// // include VIRTUAL_TRAY_ID
+// gcode = DeviceManager::load_gcode(printer_type, "ams_load.gcode");
+// boost::replace_all(gcode, "[next_extruder]", std::to_string(tray_index));
+// boost::replace_all(gcode, "[new_filament_temp]", std::to_string(new_temp));
+// }
+//
+// result = this->publish_gcode(gcode);
+// }
+//
+// return result;
+//}
+
+int MachineObject::command_ams_change_filament(bool load, std::string ams_id, std::string slot_id, int old_temp, int new_temp)
{
- BOOST_LOG_TRIVIAL(trace) << "ams_switch to " << tray_index << " with temp: " << old_temp << ", " << new_temp;
- if (old_temp < 0) old_temp = FILAMENT_DEF_TEMP;
- if (new_temp < 0) new_temp = FILAMENT_DEF_TEMP;
+ json j;
+ try {
+ auto tray_id = 0;
+ if (ams_id < "16") {
+ tray_id = atoi(ams_id.c_str()) * 4 + atoi(slot_id.c_str());
+ }
+ // TODO: Orca hack
+ if (ams_id == "254")
+ ams_id = "255";
- std::string gcode = "";
- int result = 0;
- //command
- if (is_support_command_ams_switch) {
- command_ams_change_filament(tray_index, old_temp, new_temp);
- }
- else {
- std::string gcode = "";
- if (tray_index == 255) {
- gcode = DeviceManager::load_gcode(printer_type, "ams_unload.gcode");
- }
- else {
- // include VIRTUAL_TRAY_ID
- gcode = DeviceManager::load_gcode(printer_type, "ams_load.gcode");
- boost::replace_all(gcode, "[next_extruder]", std::to_string(tray_index));
- boost::replace_all(gcode, "[new_filament_temp]", std::to_string(new_temp));
- }
+ j["print"]["command"] = "ams_change_filament";
+ j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
+ j["print"]["curr_temp"] = old_temp;
+ j["print"]["tar_temp"] = new_temp;
+ j["print"]["ams_id"] = atoi(ams_id.c_str());
- result = this->publish_gcode(gcode);
- }
+ if (!load) {
+ j["print"]["target"] = 255;
+ j["print"]["slot_id"] = 255; // the new protocol to mark unload
- return result;
-}
+ } else {
+ if (tray_id == 0) {
+ j["print"]["target"] = atoi(ams_id.c_str());
+ } else {
+ j["print"]["target"] = tray_id;
+ }
+
+ j["print"]["slot_id"] = atoi(slot_id.c_str());
+ }
+ } catch (const std::exception &) {}
-int MachineObject::command_ams_change_filament(int tray_id, int old_temp, int new_temp)
-{
- json j;
- j["print"]["command"] = "ams_change_filament";
- j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
- j["print"]["target"] = tray_id;
- j["print"]["curr_temp"] = old_temp;
- j["print"]["tar_temp"] = new_temp;
return this->publish_json(j.dump());
}
@@ -1818,28 +2004,6 @@ int MachineObject::command_ams_user_settings(int ams_id, bool start_read_opt, bo
return this->publish_json(j.dump());
}
-int MachineObject::command_ams_user_settings(int ams_id, AmsOptionType op, bool value)
-{
- json j;
- j["print"]["command"] = "ams_user_setting";
- j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
- j["print"]["ams_id"] = ams_id;
- if (op == AmsOptionType::AMS_OP_STARTUP_READ) {
- j["print"]["startup_read_option"] = value;
- ams_power_on_flag = value;
- } else if (op == AmsOptionType::AMS_OP_TRAY_READ) {
- j["print"]["tray_read_option"] = value;
- ams_insert_flag = value;
- } else if (op == AmsOptionType::AMS_OP_CALIBRATE_REMAIN) {
- j["print"]["calibrate_remain_flag"] = value;
- ams_calibrate_remain_flag = value;
- } else {
- return -1;
- }
- ams_user_setting_hold_count = HOLD_COUNT_MAX;
- return this->publish_json(j.dump());
-}
-
int MachineObject::command_ams_calibrate(int ams_id)
{
std::string gcode_cmd = (boost::format("M620 C%1% \n") % ams_id).str();
@@ -1847,16 +2011,29 @@ int MachineObject::command_ams_calibrate(int ams_id)
return this->publish_gcode(gcode_cmd);
}
-int MachineObject::command_ams_filament_settings(int ams_id, int tray_id, std::string filament_id, std::string setting_id, std::string tray_color, std::string tray_type, int nozzle_temp_min, int nozzle_temp_max)
+int MachineObject::command_ams_filament_settings(int ams_id, int slot_id, std::string filament_id, std::string setting_id, std::string tray_color, std::string tray_type, int nozzle_temp_min, int nozzle_temp_max)
{
- BOOST_LOG_TRIVIAL(info) << "command_ams_filament_settings, ams_id = " << ams_id << ", tray_id = " << tray_id << ", tray_color = " << tray_color
+ int tag_tray_id = 0;
+ int tag_ams_id = ams_id;
+ int tag_slot_id = slot_id;
+
+ if (tag_ams_id == VIRTUAL_TRAY_ID) {
+ tag_tray_id = VIRTUAL_TRAY_ID;
+ tag_ams_id = 255; // TODO: Orca hack
+ } else {
+ tag_tray_id = tag_slot_id;
+ }
+
+
+ BOOST_LOG_TRIVIAL(info) << "command_ams_filament_settings, ams_id = " << tag_ams_id << ", slot_id = " << tag_slot_id << ", tray_id = " << tag_tray_id << ", tray_color = " << tray_color
<< ", tray_type = " << tray_type << ", filament_id = " << filament_id
<< ", setting_id = " << setting_id << ", temp_min: = " << nozzle_temp_min << ", temp_max: = " << nozzle_temp_max;
json j;
j["print"]["command"] = "ams_filament_setting";
j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
- j["print"]["ams_id"] = ams_id;
- j["print"]["tray_id"] = tray_id;
+ j["print"]["ams_id"] = tag_ams_id;
+ j["print"]["slot_id"] = tag_slot_id;
+ j["print"]["tray_id"] = tag_tray_id;
j["print"]["tray_info_idx"] = filament_id;
j["print"]["setting_id"] = setting_id;
// format "FFFFFFFF" RGBA
@@ -2147,17 +2324,22 @@ int MachineObject::command_start_pa_calibration(const X1CCalibInfos &pa_data, in
std::string filament_ids;
for (int i = 0; i < pa_data.calib_datas.size(); ++i) {
j["print"]["filaments"][i]["tray_id"] = pa_data.calib_datas[i].tray_id;
+ j["print"]["filaments"][i]["extruder_id"] = pa_data.calib_datas[i].extruder_id;
j["print"]["filaments"][i]["bed_temp"] = pa_data.calib_datas[i].bed_temp;
j["print"]["filaments"][i]["filament_id"] = pa_data.calib_datas[i].filament_id;
j["print"]["filaments"][i]["setting_id"] = pa_data.calib_datas[i].setting_id;
j["print"]["filaments"][i]["nozzle_temp"] = pa_data.calib_datas[i].nozzle_temp;
+ j["print"]["filaments"][i]["ams_id"] = pa_data.calib_datas[i].ams_id;
+ j["print"]["filaments"][i]["slot_id"] = pa_data.calib_datas[i].slot_id;
+ j["print"]["filaments"][i]["nozzle_id"] = generate_nozzle_id(pa_data.calib_datas[i].nozzle_volume_type,to_string_nozzle_diameter(pa_data.calib_datas[i].nozzle_diameter)).ToStdString();
+ j["print"]["filaments"][i]["nozzle_diameter"] = to_string_nozzle_diameter(pa_data.calib_datas[i].nozzle_diameter);
j["print"]["filaments"][i]["max_volumetric_speed"] = std::to_string(pa_data.calib_datas[i].max_volumetric_speed);
if (i > 0) filament_ids += ",";
filament_ids += pa_data.calib_datas[i].filament_id;
}
- BOOST_LOG_TRIVIAL(trace) << "extrusion_cali: " << j.dump();
+ BOOST_LOG_TRIVIAL(info) << "extrusion_cali: " << j.dump();
try {
json js;
@@ -2188,6 +2370,11 @@ int MachineObject::command_set_pa_calibration(const std::vector &
if (pa_calib_values[i].cali_idx >= 0)
j["print"]["filaments"][i]["cali_idx"] = pa_calib_values[i].cali_idx;
j["print"]["filaments"][i]["tray_id"] = pa_calib_values[i].tray_id;
+ j["print"]["filaments"][i]["extruder_id"] = pa_calib_values[i].extruder_id;
+ j["print"]["filaments"][i]["nozzle_id"] = generate_nozzle_id(pa_calib_values[i].nozzle_volume_type, to_string_nozzle_diameter(pa_calib_values[i].nozzle_diameter)).ToStdString();
+ j["print"]["filaments"][i]["nozzle_diameter"] = to_string_nozzle_diameter(pa_calib_values[i].nozzle_diameter);
+ j["print"]["filaments"][i]["ams_id"] = pa_calib_values[i].ams_id;
+ j["print"]["filaments"][i]["slot_id"] = pa_calib_values[i].slot_id;
j["print"]["filaments"][i]["filament_id"] = pa_calib_values[i].filament_id;
j["print"]["filaments"][i]["setting_id"] = pa_calib_values[i].setting_id;
j["print"]["filaments"][i]["name"] = pa_calib_values[i].name;
@@ -2198,7 +2385,7 @@ int MachineObject::command_set_pa_calibration(const std::vector &
j["print"]["filaments"][i]["n_coef"] = "0.0";
}
- BOOST_LOG_TRIVIAL(trace) << "extrusion_cali_set: " << j.dump();
+ BOOST_LOG_TRIVIAL(info) << "extrusion_cali_set: " << j.dump();
return this->publish_json(j.dump());
}
@@ -2210,25 +2397,32 @@ int MachineObject::command_delete_pa_calibration(const PACalibIndexInfo& pa_cali
json j;
j["print"]["command"] = "extrusion_cali_del";
j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
+ j["print"]["extruder_id"] = pa_calib.extruder_id;
+ j["print"]["nozzle_id"] = generate_nozzle_id(pa_calib.nozzle_volume_type, to_string_nozzle_diameter(pa_calib.nozzle_diameter)).ToStdString();
j["print"]["filament_id"] = pa_calib.filament_id;
j["print"]["cali_idx"] = pa_calib.cali_idx;
j["print"]["nozzle_diameter"] = to_string_nozzle_diameter(pa_calib.nozzle_diameter);
- BOOST_LOG_TRIVIAL(trace) << "extrusion_cali_del: " << j.dump();
+ BOOST_LOG_TRIVIAL(info) << "extrusion_cali_del: " << j.dump();
return this->publish_json(j.dump());
}
-int MachineObject::command_get_pa_calibration_tab(float nozzle_diameter, const std::string &filament_id)
+int MachineObject::command_get_pa_calibration_tab(const PACalibExtruderInfo &calib_info)
{
reset_pa_cali_history_result();
json j;
j["print"]["command"] = "extrusion_cali_get";
j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
- j["print"]["filament_id"] = filament_id;
- j["print"]["nozzle_diameter"] = to_string_nozzle_diameter(nozzle_diameter);
-
- BOOST_LOG_TRIVIAL(trace) << "extrusion_cali_get: " << j.dump();
+ j["print"]["filament_id"] = calib_info.filament_id;
+ if (calib_info.use_extruder_id)
+ j["print"]["extruder_id"] = calib_info.extruder_id;
+ if (calib_info.use_nozzle_volume_type)
+ j["print"]["nozzle_id"] = generate_nozzle_id(calib_info.nozzle_volume_type, to_string_nozzle_diameter(calib_info.nozzle_diameter)).ToStdString();
+ j["print"]["nozzle_diameter"] = to_string_nozzle_diameter(calib_info.nozzle_diameter);
+
+ BOOST_LOG_TRIVIAL(info) << "extrusion_cali_get: " << j.dump();
+ request_tab_from_bbs = true;
return this->publish_json(j.dump());
}
@@ -2239,7 +2433,7 @@ int MachineObject::command_get_pa_calibration_result(float nozzle_diameter)
j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
j["print"]["nozzle_diameter"] = to_string_nozzle_diameter(nozzle_diameter);
- BOOST_LOG_TRIVIAL(trace) << "extrusion_cali_get_result: " << j.dump();
+ BOOST_LOG_TRIVIAL(info) << "extrusion_cali_get_result: " << j.dump();
return this->publish_json(j.dump());
}
@@ -2249,11 +2443,13 @@ int MachineObject::commnad_select_pa_calibration(const PACalibIndexInfo& pa_cali
j["print"]["command"] = "extrusion_cali_sel";
j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
j["print"]["tray_id"] = pa_calib_info.tray_id;
+ j["print"]["ams_id"] = pa_calib_info.ams_id;
+ j["print"]["slot_id"] = pa_calib_info.slot_id;
j["print"]["cali_idx"] = pa_calib_info.cali_idx;
j["print"]["filament_id"] = pa_calib_info.filament_id;
j["print"]["nozzle_diameter"] = to_string_nozzle_diameter(pa_calib_info.nozzle_diameter);
- BOOST_LOG_TRIVIAL(trace) << "extrusion_cali_sel: " << j.dump();
+ BOOST_LOG_TRIVIAL(info) << "extrusion_cali_sel: " << j.dump();
return this->publish_json(j.dump());
}
@@ -2283,7 +2479,7 @@ int MachineObject::command_start_flow_ratio_calibration(const X1CCalibInfos& cal
filament_ids += calib_data.calib_datas[i].filament_id;
}
- BOOST_LOG_TRIVIAL(trace) << "flowrate_cali: " << j.dump();
+ BOOST_LOG_TRIVIAL(info) << "flowrate_cali: " << j.dump();
return this->publish_json(j.dump());
}
return -1;
@@ -2296,7 +2492,7 @@ int MachineObject::command_get_flow_ratio_calibration_result(float nozzle_diamet
j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++);
j["print"]["nozzle_diameter"] = to_string_nozzle_diameter(nozzle_diameter);
- BOOST_LOG_TRIVIAL(trace) << "flowrate_get_result: " << j.dump();
+ BOOST_LOG_TRIVIAL(info) << "flowrate_get_result: " << j.dump();
return this->publish_json(j.dump());
}
@@ -2514,7 +2710,6 @@ void MachineObject::reset()
last_mc_print_stage = -1;
m_new_ver_list_exist = false;
extruder_axis_status = LOAD;
- nozzle_diameter = 0.0f;
network_wired = false;
dev_connection_name = "";
subscribe_counter = 3;
@@ -2623,29 +2818,38 @@ bool MachineObject::is_camera_busy_off()
return false;
}
-int MachineObject::publish_json(std::string json_str, int qos)
+int MachineObject::publish_json(std::string json_str, int qos, int flag)
{
+ int rtn = 0;
if (is_lan_mode_printer()) {
- return local_publish_json(json_str, qos);
+ rtn = local_publish_json(json_str, qos, flag);
} else {
- return cloud_publish_json(json_str, qos);
+ rtn = cloud_publish_json(json_str, qos, flag);
}
+
+ if (rtn == 0) {
+ BOOST_LOG_TRIVIAL(info) << "publish_json: " << json_str << " code: " << rtn;
+ } else {
+ BOOST_LOG_TRIVIAL(error) << "publish_json: " << json_str << " code: " << rtn;
+ }
+
+ return rtn;
}
-int MachineObject::cloud_publish_json(std::string json_str, int qos)
+int MachineObject::cloud_publish_json(std::string json_str, int qos, int flag)
{
int result = -1;
if (m_agent)
- result = m_agent->send_message(dev_id, json_str, qos);
+ result = m_agent->send_message(dev_id, json_str, qos, flag);
return result;
}
-int MachineObject::local_publish_json(std::string json_str, int qos)
+int MachineObject::local_publish_json(std::string json_str, int qos, int flag)
{
int result = -1;
if (m_agent) {
- result = m_agent->send_message_to_printer(dev_id, json_str, qos);
+ result = m_agent->send_message_to_printer(dev_id, json_str, qos, flag);
}
return result;
}
@@ -2683,6 +2887,11 @@ static ENUM enum_index_of(char const *key, char const **enum_names, int enum_cou
int MachineObject::parse_json(std::string payload, bool key_field_only)
{
+#ifdef ORCA_NETWORK_DEBUG
+ BOOST_LOG_TRIVIAL(info) << "parse_json: payload = " << payload;
+ flush_logs();
+#endif
+
parse_msg_count++;
std::chrono::system_clock::time_point clock_start = std::chrono::system_clock::now();
this->set_online_state(true);
@@ -2693,10 +2902,24 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
/* update last received time */
last_update_time = std::chrono::system_clock::now();
+ json j_pre;
+ bool parse_ok = false;
+ try {
+ j_pre = json::parse(payload);
+ parse_ok = true;
+ }
+ catch(...) {
+ parse_ok = false;
+ /* post process payload */
+ sanitizeToUtf8(payload);
+ BOOST_LOG_TRIVIAL(info) << "parse_json: sanitize to utf8";
+ }
+
try {
bool restored_json = false;
json j;
- json j_pre = json::parse(payload);
+ if (!parse_ok)
+ j_pre = json::parse(payload);
CNumericLocalesSetter locales_setter;
if (j_pre.empty()) {
return 0;
@@ -2734,7 +2957,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
else {
if (!printer_type.empty() && connection_type() == "lan")
print_json.load_compatible_settings(printer_type, "");
- print_json.diff2all_base_reset(j_pre);
+ print_json.diff2all_base_reset(j_pre);
}
}
}
@@ -2844,15 +3067,20 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
for (auto it = j_module.begin(); it != j_module.end(); it++) {
ModuleVersionInfo ver_info;
ver_info.name = (*it)["name"].get();
+ if ((*it).contains("product_name"))
+ ver_info.product_name = wxString::FromUTF8((*it)["product_name"].get());
if ((*it).contains("sw_ver"))
ver_info.sw_ver = (*it)["sw_ver"].get();
+ if ((*it).contains("sw_new_ver"))
+ ver_info.sw_new_ver = (*it)["sw_new_ver"].get();
if ((*it).contains("sn"))
ver_info.sn = (*it)["sn"].get();
if ((*it).contains("hw_ver"))
ver_info.hw_ver = (*it)["hw_ver"].get();
if((*it).contains("flag"))
ver_info.firmware_status= (*it)["flag"].get();
- module_vers.emplace(ver_info.name, ver_info);
+
+ store_version_info(ver_info);
if (ver_info.name == "ota") {
NetworkAgent* agent = GUI::wxGetApp().getAgent();
if (agent) {
@@ -2953,7 +3181,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
if (jj.contains("support_flow_calibration")) {
if (jj["support_flow_calibration"].is_boolean()) {
- is_support_flow_calibration = jj["support_flow_calibration"].get();
+ is_support_auto_flow_calibration = jj["support_flow_calibration"].get();
}
}
@@ -3022,11 +3250,11 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
}
}
- //if (jj.contains("support_filament_tangle_detect")) {
- // if (jj["support_filament_tangle_detect"].is_boolean()) {
- // is_support_filament_tangle_detect = jj["support_filament_tangle_detect"].get();
- // }
- //}
+ if (jj.contains("support_filament_tangle_detect")) {
+ if (jj["support_filament_tangle_detect"].is_boolean()) {
+ is_support_filament_tangle_detect = jj["support_filament_tangle_detect"].get();
+ }
+ }
if (jj.contains("support_1080dpi")) {
if (jj["support_1080dpi"].is_boolean()) {
@@ -3157,13 +3385,26 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
if (jj["print_error"].is_number())
print_error = jj["print_error"].get();
}
+
+ if (jj.contains("sdcard")) {
+ if (jj["sdcard"].get())
+ sdcard_state = MachineObject::SdcardState::HAS_SDCARD_NORMAL;
+ else
+ sdcard_state = MachineObject::SdcardState::NO_SDCARD;
+ } else {
+ sdcard_state = MachineObject::SdcardState::NO_SDCARD;
+ }
+
if (!key_field_only) {
if (jj.contains("home_flag")) {
home_flag = jj["home_flag"].get();
parse_status(home_flag);
}
+
+ /*the param is invalid in np for Yeshu*/
if (jj.contains("hw_switch_state")) {
hw_switch_state = jj["hw_switch_state"].get();
+ m_extder_data.extders[MAIN_NOZZLE_ID].ext_has_filament = hw_switch_state;
}
if (jj.contains("mc_print_line_number")) {
if (jj["mc_print_line_number"].is_string() && !jj["mc_print_line_number"].is_null())
@@ -3174,6 +3415,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
if (jj.contains("flag3")) {
int flag3 = jj["flag3"].get();
is_support_filament_setting_inprinting = get_flag_bits(flag3, 3);
+ is_enable_ams_np = get_flag_bits(flag3, 9);
}
}
if (!key_field_only) {
@@ -3309,7 +3551,6 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
curr_task->task_progress = mc_print_percent;
curr_task->printing_status = print_status;
curr_task->task_id = jj["subtask_id"].get();
-
}
}
@@ -3335,12 +3576,16 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
}
if (jj.contains("nozzle_temper")) {
if (jj["nozzle_temper"].is_number()) {
- nozzle_temp = jj["nozzle_temper"].get();
+ if (m_extder_data.extders.size() == 1) {
+ m_extder_data.extders[MAIN_NOZZLE_ID].temp = jj["nozzle_temper"].get();
+ }
}
}
if (jj.contains("nozzle_target_temper")) {
if (jj["nozzle_target_temper"].is_number()) {
- nozzle_temp_target = jj["nozzle_target_temper"].get();
+ if (m_extder_data.extders.size() == 1) {
+ m_extder_data.extders[MAIN_NOZZLE_ID].target_temp = jj["nozzle_target_temper"].get();
+ }
}
}
if (jj.contains("chamber_temper")) {
@@ -3397,7 +3642,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
if (jj.contains("heatbreak_fan_speed")) {
heatbreak_fan_speed = stoi(jj["heatbreak_fan_speed"].get());
}
-
+
/* parse speed */
try {
if (jj.contains("spd_lvl")) {
@@ -3437,12 +3682,14 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
if (!key_field_only) {
/*get filam_bak*/
try {
+ m_extder_data.extders[MAIN_NOZZLE_ID].filam_bak.clear();
+
if (jj.contains("filam_bak")) {
is_support_show_filament_backup = true;
- filam_bak.clear();
if (jj["filam_bak"].is_array()) {
for (auto it = jj["filam_bak"].begin(); it != jj["filam_bak"].end(); it++) {
- filam_bak.push_back(it.value().get());
+ const auto& filam_bak_val = it.value().get();
+ m_extder_data.extders[MAIN_NOZZLE_ID].filam_bak.push_back(filam_bak_val);
}
}
}
@@ -3493,21 +3740,6 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
catch (...) {
;
}
- // media
- try {
- if (jj.contains("sdcard")) {
- if (jj["sdcard"].get())
- sdcard_state = MachineObject::SdcardState::HAS_SDCARD_NORMAL;
- else
- sdcard_state = MachineObject::SdcardState::NO_SDCARD;
- } else {
- //do not check sdcard if no sdcard field
- sdcard_state = MachineObject::SdcardState::NO_SDCARD;
- }
- }
- catch (...) {
- ;
- }
}
#pragma endregion
if (!key_field_only) {
@@ -3516,15 +3748,17 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
if (nozzle_setting_hold_count > 0) {
nozzle_setting_hold_count--;
} else {
+ float nozzle_diameter = 0.0f;
if (jj["nozzle_diameter"].is_number_float()) {
nozzle_diameter = jj["nozzle_diameter"].get();
}
else if (jj["nozzle_diameter"].is_string()) {
nozzle_diameter = string_to_float(jj["nozzle_diameter"].get());
}
- }
-
+ if (nozzle_diameter == 0.0f) {m_extder_data.extders[MAIN_NOZZLE_ID].current_nozzle_diameter = 0.0f;}
+ else { m_extder_data.extders[MAIN_NOZZLE_ID].current_nozzle_diameter = round(nozzle_diameter * 10) / 10;}
+ }
}
}
catch(...) {
@@ -3539,13 +3773,16 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
}
else {
if (jj["nozzle_type"].is_string()) {
- nozzle_type = jj["nozzle_type"].get();
+ auto nozzle_type = jj["nozzle_type"].get();
+ if (nozzle_type.empty()) {
+ m_extder_data.extders[MAIN_NOZZLE_ID].current_nozzle_type = NozzleType::ntUndefine;
+ }
+ else {
+ m_extder_data.extders[MAIN_NOZZLE_ID].current_nozzle_type = NozzleTypeStrToEumn[nozzle_type];
+ }
}
}
}
- else {
- nozzle_type = "";
- }
}
catch (...) {
;
@@ -3561,7 +3798,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
upgrade_progress = jj["upgrade_state"]["progress"].get();
} if (jj["upgrade_state"].contains("new_version_state"))
upgrade_new_version = jj["upgrade_state"]["new_version_state"].get() == 1 ? true : false;
- if (jj["upgrade_state"].contains("ams_new_version_number"))
+ if (!check_enable_np(jj) && jj["upgrade_state"].contains("ams_new_version_number"))/* is not used in new np, by AP*/
ams_new_version_number = jj["upgrade_state"]["ams_new_version_number"].get();
if (jj["upgrade_state"].contains("ota_new_version_number"))
ota_new_version_number = jj["upgrade_state"]["ota_new_version_number"].get();
@@ -3706,22 +3943,18 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
liveview_local = enum_index_of(ipcam["liveview"].value("local", "none").c_str(), local_protos, 5, LiveviewLocal::LVL_None);
char const *remote_protos[] = {"none", "tutk", "agora", "tutk_agaro"};
liveview_remote = enum_index_of(ipcam["liveview"].value("remote", "none").c_str(), remote_protos, 4, LiveviewRemote::LVR_None);
- if (is_support_agora)
- liveview_remote = liveview_remote == LVR_None ? LVR_Agora : liveview_remote == LVR_Tutk ? LVR_TutkAgora : liveview_remote;
}
if (ipcam.contains("file")) {
char const *local_protos[] = {"none", "local"};
file_local = enum_index_of(ipcam["file"].value("local", "none").c_str(), local_protos, 2, FileLocal::FL_None);
char const *remote_protos[] = {"none", "tutk", "agora", "tutk_agaro"};
file_remote = enum_index_of(ipcam["file"].value("remote", "none").c_str(), remote_protos, 4, FileRemote::FR_None);
- if (is_support_agora)
- file_remote = file_remote == FR_None ? FR_Agora : file_remote == FR_Tutk ? FR_TutkAgora : file_remote;
file_model_download = ipcam["file"].value("model_download", "disabled") == "enabled";
}
virtual_camera = ipcam.value("virtual_camera", "disabled") == "enabled";
if (ipcam.contains("rtsp_url")) {
local_rtsp_url = ipcam["rtsp_url"].get();
- liveview_local = local_rtsp_url.empty() ? LVL_None : local_rtsp_url == "disable"
+ liveview_local = local_rtsp_url.empty() ? LVL_None : local_rtsp_url == "disable"
? LVL_Disable : boost::algorithm::starts_with(local_rtsp_url, "rtsps") ? LVL_Rtsps : LVL_Rtsp;
}
if (ipcam.contains("tutk_server")) {
@@ -3827,14 +4060,8 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
catch (...) {
;
}
- PresetBundle *preset_bundle = Slic3r::GUI::wxGetApp().preset_bundle;
- std::ostringstream stream;
- stream << std::fixed << std::setprecision(1) << nozzle_diameter;
- std::string nozzle_diameter_str = stream.str();
- if (m_printer_preset_name.find(nozzle_diameter_str + " nozzle") == std::string::npos)
- update_printer_preset_name(nozzle_diameter_str);
+ update_printer_preset_name();
update_filament_list();
- std::set need_checked_filament_id;
if (jj.contains("ams")) {
if (jj["ams"].contains("ams")) {
long int last_ams_exist_bits = ams_exist_bits;
@@ -3854,7 +4081,6 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
}
if (jj["ams"].contains("tray_reading_bits")) {
tray_reading_bits = stol(jj["ams"]["tray_reading_bits"].get(), nullptr, 16);
- ams_support_use_ams = true;
}
if (jj["ams"].contains("tray_is_bbl_bits")) {
tray_is_bbl_bits = stol(jj["ams"]["tray_is_bbl_bits"].get(), nullptr, 16);
@@ -3871,16 +4097,6 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
}
if (jj["ams"].contains("ams_rfid_status"))
ams_rfid_status = jj["ams"]["ams_rfid_status"].get();
- if (jj["ams"].contains("humidity")) {
- if (jj["ams"]["humidity"].is_string()) {
- std::string humidity_str = jj["ams"]["humidity"].get();
- try {
- ams_humidity = atoi(humidity_str.c_str());
- } catch (...) {
- ;
- }
- }
- }
if (jj["ams"].contains("insert_flag") || jj["ams"].contains("power_on_flag")
|| jj["ams"].contains("calibrate_remain_flag")) {
@@ -3915,23 +4131,31 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
for (auto it = amsList.begin(); it != amsList.end(); it++) {
ams_id_set.insert(it->first);
}
+
for (auto it = j_ams.begin(); it != j_ams.end(); it++) {
if (!it->contains("id")) continue;
std::string ams_id = (*it)["id"].get();
+
+ int nozzle_id = MAIN_NOZZLE_ID; // Default nozzle id
+ int type_id = 1; // 0:dummy 1:ams 2:ams-lite 3:n3f 4:n3s
+
+ /*ams info*/
+ if (it->contains("info")) {
+ std::string info = (*it)["info"].get();
+ type_id = get_flag_bits(info, 0, 4);
+ nozzle_id = get_flag_bits(info, 8, 4);
+ }
+
+ /*AMS without initialization*/
+ if (nozzle_id == 0xE) {
+ continue;
+ }
+
ams_id_set.erase(ams_id);
Ams* curr_ams = nullptr;
auto ams_it = amsList.find(ams_id);
if (ams_it == amsList.end()) {
- Ams* new_ams = new Ams(ams_id);
- try {
- if (!ams_id.empty()) {
- int ams_id_int = atoi(ams_id.c_str());
- new_ams->is_exists = (ams_exist_bits & (1 << ams_id_int)) != 0 ? true : false;
- }
- }
- catch (...) {
- ;
- }
+ Ams* new_ams = new Ams(ams_id, nozzle_id, type_id);
amsList.insert(std::make_pair(ams_id, new_ams));
// new ams added event
curr_ams = new_ams;
@@ -3940,6 +4164,30 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
}
if (!curr_ams) continue;
+ /*set ams type flag*/
+ curr_ams->type = type_id;
+
+
+ /*set ams exist flag*/
+ try {
+ if (!ams_id.empty()) {
+ int ams_id_int = atoi(ams_id.c_str());
+
+ if (type_id < 4) {
+ curr_ams->is_exists = (ams_exist_bits & (1 << ams_id_int)) != 0 ? true : false;
+ } else {
+ curr_ams->is_exists = get_flag_bits(ams_exist_bits, 4 + (ams_id_int - 128));
+ }
+ }
+ } catch (...) {
+ ;
+ }
+
+ if (it->contains("dry_time") && (*it)["dry_time"].is_number())
+ {
+ curr_ams->left_dry_time = (*it)["dry_time"].get();
+ }
+
if (it->contains("humidity")) {
std::string humidity = (*it)["humidity"].get();
@@ -3950,7 +4198,55 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
;
}
}
-
+
+ if (it->contains("humidity_raw"))
+ {
+ std::string humidity_raw = (*it)["humidity_raw"].get();
+
+ try {
+ curr_ams->humidity_raw = atoi(humidity_raw.c_str());
+ } catch (...) {
+ ;
+ }
+
+ if (curr_ams->humidity_raw != -1)
+ {
+ if (curr_ams->humidity_raw < 20)
+ {
+ curr_ams->humidity = 5;
+ }
+ else if (curr_ams->humidity_raw < 40)
+ {
+ curr_ams->humidity = 4;
+ }
+ else if (curr_ams->humidity_raw < 60)
+ {
+ curr_ams->humidity = 3;
+ }
+ else if (curr_ams->humidity_raw < 80)
+ {
+ curr_ams->humidity = 2;
+ }
+ else
+ {
+ curr_ams->humidity = 1;
+ }
+ }
+ }
+
+
+ if (it->contains("temp"))
+ {
+ std::string temp = (*it)["temp"].get();
+ try
+ {
+ curr_ams->current_temperature = string_to_float(temp);
+ }
+ catch (...)
+ {
+ curr_ams->current_temperature = INVALID_AMS_TEMPERATURE;
+ }
+ }
if (it->contains("tray")) {
std::set tray_id_set;
@@ -3996,26 +4292,6 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
} else {
curr_tray->type = type;
}
- // settings_id is not exist in filament_list
- if (curr_tray->setting_id.size() == 8 && curr_tray->setting_id[0] == 'P' &&
- m_filament_list.find(curr_tray->setting_id) == m_filament_list.end()) {
- if (m_checked_filament.find(curr_tray->setting_id) == m_checked_filament.end()) {
- need_checked_filament_id.insert(curr_tray->setting_id);
- wxColour color = *wxWHITE;
- char col_buf[10];
- sprintf(col_buf, "%02X%02X%02XFF", (int) color.Red(), (int) color.Green(), (int) color.Blue());
- try {
- BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " " << __LINE__
- << " ams settings_id is not exist in filament_list and reset, ams_id: " << ams_id
- << " tray_id" << tray_id << "filament_id: " << curr_tray->setting_id;
- this->command_ams_filament_settings(std::stoi(ams_id), std::stoi(tray_id), "", "", std::string(col_buf), "", 0, 0);
- continue;
- } catch (...) {
- BOOST_LOG_TRIVIAL(info)
- << __FUNCTION__ << " " << __LINE__ << " stoi error and ams_id: " << ams_id << " tray_id" << tray_id;
- }
- }
- }
} else {
curr_tray->setting_id = "";
curr_tray->type = "";
@@ -4063,29 +4339,6 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
curr_tray->nozzle_temp_min = (*tray_it)["nozzle_temp_min"].get();
else
curr_tray->nozzle_temp_min = "";
- if (curr_tray->setting_id.size() == 8 && curr_tray->setting_id[0] == 'P' && curr_tray->nozzle_temp_min != "" && curr_tray->nozzle_temp_max != "") {
- if (m_checked_filament.find(vt_tray.setting_id) == m_checked_filament.end()) {
- need_checked_filament_id.insert(vt_tray.setting_id);
- try {
- std::string preset_setting_id;
- bool is_equation = preset_bundle->check_filament_temp_equation_by_printer_type_and_nozzle_for_mas_tray(
- MachineObject::get_preset_printer_model_name(this->printer_type), nozzle_diameter_str, curr_tray->setting_id,
- curr_tray->tag_uid, curr_tray->nozzle_temp_min, curr_tray->nozzle_temp_max, preset_setting_id);
- if (!is_equation) {
- BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " " << __LINE__
- << " ams filament is not match min max temp and reset, ams_id: " << ams_id
- << " tray_id" << tray_id << "filament_id: " << curr_tray->setting_id;
- command_ams_filament_settings(std::stoi(ams_id), std::stoi(tray_id), curr_tray->setting_id, preset_setting_id,
- curr_tray->color, curr_tray->type,
- std::stoi(curr_tray->nozzle_temp_min),
- std::stoi(curr_tray->nozzle_temp_max));
- }
- continue;
- } catch (...) {
- BOOST_LOG_TRIVIAL(info) << "check fail and curr_tray ams_id" << ams_id << " curr_tray tray_id"<contains("xcam_info"))
curr_tray->xcam_info = (*tray_it)["xcam_info"].get();
else
@@ -4107,7 +4360,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
}
}
}
-
+
if (tray_it->contains("remain")) {
curr_tray->remain = (*tray_it)["remain"].get();
} else {
@@ -4119,7 +4372,14 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
if (!ams_id.empty() && !curr_tray->id.empty()) {
ams_id_int = atoi(ams_id.c_str());
tray_id_int = atoi(curr_tray->id.c_str());
- curr_tray->is_exists = (tray_exist_bits & (1 << (ams_id_int * 4 + tray_id_int))) != 0 ? true : false;
+
+ if (type_id < 4) {
+ curr_tray->is_exists = (tray_exist_bits & (1 << (ams_id_int * 4 + tray_id_int))) != 0 ? true : false;
+ }
+ else {
+ curr_tray->is_exists = get_flag_bits(tray_exist_bits, 16 + (ams_id_int - 128));
+ }
+
}
}
catch (...) {
@@ -4174,149 +4434,13 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
if (!key_field_only) {
try {
if (jj.contains("vt_tray")) {
- if (jj["vt_tray"].contains("id"))
- vt_tray.id = jj["vt_tray"]["id"].get();
- auto curr_time = std::chrono::system_clock::now();
- auto diff = std::chrono::duration_cast(curr_time - extrusion_cali_set_hold_start);
- if (diff.count() > HOLD_TIMEOUT || diff.count() < 0
- || extrusion_cali_set_tray_id != VIRTUAL_TRAY_ID) {
- if (jj["vt_tray"].contains("k"))
- vt_tray.k = jj["vt_tray"]["k"].get();
- if (jj["vt_tray"].contains("n"))
- vt_tray.n = jj["vt_tray"]["n"].get();
- }
- ams_support_virtual_tray = true;
-
- if (vt_tray.hold_count > 0) {
- vt_tray.hold_count--;
- } else {
- if (jj["vt_tray"].contains("tag_uid"))
- vt_tray.tag_uid = jj["vt_tray"]["tag_uid"].get();
- else
- vt_tray.tag_uid = "0";
- if (jj["vt_tray"].contains("tray_info_idx") && jj["vt_tray"].contains("tray_type")) {
- vt_tray.setting_id = jj["vt_tray"]["tray_info_idx"].get();
- //std::string type = jj["vt_tray"]["tray_type"].get();
- std::string type = setting_id_to_type(vt_tray.setting_id, jj["vt_tray"]["tray_type"].get());
- if (vt_tray.setting_id == "GFS00") {
- vt_tray.type = "PLA-S";
- }
- else if (vt_tray.setting_id == "GFS01") {
- vt_tray.type = "PA-S";
- }
- else {
- vt_tray.type = type;
- }
- if (vt_tray.setting_id.size() == 8 && vt_tray.setting_id[0] == 'P' &&
- m_filament_list.find(vt_tray.setting_id) == m_filament_list.end()) {
- if (m_checked_filament.find(vt_tray.setting_id) == m_checked_filament.end()) {
- need_checked_filament_id.insert(vt_tray.setting_id);
- wxColour color = *wxWHITE;
- char col_buf[10];
- sprintf(col_buf, "%02X%02X%02XFF", (int) color.Red(), (int) color.Green(), (int) color.Blue());
- try {
- BOOST_LOG_TRIVIAL(info) << "vt_tray.setting_id is not exist in filament_list and reset vt_tray and the filament_id is: " << vt_tray.setting_id;
- this->command_ams_filament_settings(255, std::stoi(vt_tray.id), "", "", std::string(col_buf), "", 0, 0);
- } catch (...) {
- BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " " << __LINE__ << " stoi error and tray_id" << vt_tray.id;
- }
- }
- }
- }
- else {
- vt_tray.setting_id = "";
- vt_tray.type = "";
- }
- if (jj["vt_tray"].contains("tray_sub_brands"))
- vt_tray.sub_brands = jj["vt_tray"]["tray_sub_brands"].get();
- else
- vt_tray.sub_brands = "";
- if (jj["vt_tray"].contains("tray_weight"))
- vt_tray.weight = jj["vt_tray"]["tray_weight"].get();
- else
- vt_tray.weight = "";
- if (jj["vt_tray"].contains("tray_diameter"))
- vt_tray.diameter = jj["vt_tray"]["tray_diameter"].get();
- else
- vt_tray.diameter = "";
- if (jj["vt_tray"].contains("tray_temp"))
- vt_tray.temp = jj["vt_tray"]["tray_temp"].get();
- else
- vt_tray.temp = "";
- if (jj["vt_tray"].contains("tray_time"))
- vt_tray.time = jj["vt_tray"]["tray_time"].get();
- else
- vt_tray.time = "";
- if (jj["vt_tray"].contains("bed_temp_type"))
- vt_tray.bed_temp_type = jj["vt_tray"]["bed_temp_type"].get();
- else
- vt_tray.bed_temp_type = "";
- if (jj["vt_tray"].contains("bed_temp"))
- vt_tray.bed_temp = jj["vt_tray"]["bed_temp"].get();
- else
- vt_tray.bed_temp = "";
- if (jj["vt_tray"].contains("tray_color")) {
- auto color = jj["vt_tray"]["tray_color"].get();
- vt_tray.update_color_from_str(color);
- } else {
- vt_tray.color = "";
- }
- if (jj["vt_tray"].contains("nozzle_temp_max"))
- vt_tray.nozzle_temp_max = jj["vt_tray"]["nozzle_temp_max"].get();
- else
- vt_tray.nozzle_temp_max = "";
- if (jj["vt_tray"].contains("nozzle_temp_min"))
- vt_tray.nozzle_temp_min = jj["vt_tray"]["nozzle_temp_min"].get();
- else
- vt_tray.nozzle_temp_min = "";
- if (vt_tray.setting_id.size() == 8 && vt_tray.setting_id[0] == 'P' && vt_tray.nozzle_temp_min != "" && vt_tray.nozzle_temp_max != "") {
- if (m_checked_filament.find(vt_tray.setting_id) == m_checked_filament.end()) {
- need_checked_filament_id.insert(vt_tray.setting_id);
- try {
- std::string preset_setting_id;
- bool is_equation = preset_bundle->check_filament_temp_equation_by_printer_type_and_nozzle_for_mas_tray(
- MachineObject::get_preset_printer_model_name(this->printer_type), nozzle_diameter_str, vt_tray.setting_id, vt_tray.tag_uid,
- vt_tray.nozzle_temp_min, vt_tray.nozzle_temp_max, preset_setting_id);
- if (!is_equation) {
- BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " " << __LINE__ << " vt_tray filament is not match min max temp and reset, filament_id: " << vt_tray.setting_id;
- command_ams_filament_settings(255, std::stoi(vt_tray.id), vt_tray.setting_id, preset_setting_id, vt_tray.color, vt_tray.type,
- std::stoi(vt_tray.nozzle_temp_min), std::stoi(vt_tray.nozzle_temp_max));
- }
- } catch (...) {
- BOOST_LOG_TRIVIAL(info) << "check fail and vt_tray.id" << vt_tray.id;
- }
- }
- }
- if (jj["vt_tray"].contains("xcam_info"))
- vt_tray.xcam_info = jj["vt_tray"]["xcam_info"].get();
- else
- vt_tray.xcam_info = "";
- if (jj["vt_tray"].contains("tray_uuid"))
- vt_tray.uuid = jj["vt_tray"]["tray_uuid"].get();
- else
- vt_tray.uuid = "0";
+ auto main_slot = parse_vt_tray(jj["vt_tray"].get());
+ main_slot.id = std::to_string(VIRTUAL_TRAY_ID);
- if (jj["vt_tray"].contains("cali_idx"))
- vt_tray.cali_idx = jj["vt_tray"]["cali_idx"].get();
- else
- vt_tray.cali_idx = -1;
- vt_tray.cols.clear();
- if (jj["vt_tray"].contains("cols")) {
- if (jj["vt_tray"].is_array()) {
- for (auto it = jj["vt_tray"].begin(); it != jj["vt_tray"].end(); it++) {
- vt_tray.cols.push_back(it.value().get());
- }
- }
- }
-
- if (jj["vt_tray"].contains("remain")) {
- vt_tray.remain = jj["vt_tray"]["remain"].get();
- }
- else {
- vt_tray.remain = -1;
- }
- }
- } else {
+ is_ams_need_update |= vt_tray != main_slot;
+ vt_tray = main_slot;
+ }
+ else {
ams_support_virtual_tray = false;
is_support_extrusion_cali = false;
}
@@ -4325,8 +4449,11 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
;
}
}
- for (auto &filament_id : need_checked_filament_id)
- m_checked_filament.insert(filament_id);
+
+ /*parse new print data*/
+ try {
+ parse_new_info(jj);
+ } catch (...) {}
#pragma endregion
} else if (jj["command"].get() == "gcode_line") {
//ack of gcode_line
@@ -4354,8 +4481,10 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
} else if (jj["command"].get() == "ams_filament_setting" && !key_field_only) {
if (jj.contains("result") && jj.contains("reason")) {
if (jj["result"].get() == "fail") {
- auto err_code = jj["err_code"].get();
- print_error = err_code;
+ if (jj.contains("err_code")) {
+ auto err_code = jj["err_code"].get();
+ print_error = err_code;
+ }
}
}
@@ -4489,14 +4618,16 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
info = reason;
}
GUI::wxGetApp().push_notification(info, _L("Calibration error"), UserNotificationStyle::UNS_WARNING_CONFIRM);
- BOOST_LOG_TRIVIAL(trace) << cali_mode << " result fail, reason = " << reason;
+ BOOST_LOG_TRIVIAL(info) << cali_mode << " result fail, reason = " << reason;
}
}
} else if (jj["command"].get() == "extrusion_cali_set") {
if (jj.contains("result") && jj.contains("reason")) {
if (jj["result"].get() == "fail") {
- auto err_code = jj["err_code"].get();
- print_error = err_code;
+ if (jj.contains("err_code")) {
+ auto err_code = jj["err_code"].get();
+ print_error = err_code;
+ }
}
}
#ifdef CALI_DEBUG
@@ -4545,8 +4676,10 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
else if (jj["command"].get() == "extrusion_cali_sel") {
if (jj.contains("result") && jj.contains("reason")) {
if (jj["result"].get() == "fail") {
- auto err_code = jj["err_code"].get();
- print_error = err_code;
+ if (jj.contains("err_code")) {
+ auto err_code = jj["err_code"].get();
+ print_error = err_code;
+ }
}
}
@@ -4589,100 +4722,110 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
}
}
}
- }
+ }
else if (jj["command"].get() == "extrusion_cali_get") {
- if (jj.contains("result") && jj.contains("reason")) {
- if (jj["result"].get() == "fail") {
- auto err_code = jj["err_code"].get();
- print_error = err_code;
+ std::string str = jj.dump();
+ if (request_tab_from_bbs) {
+ BOOST_LOG_TRIVIAL(info) << "bbs extrusion_cali_get: " << str;
+ request_tab_from_bbs = false;
+ reset_pa_cali_history_result();
+ bool is_succeed = true;
+ if (jj.contains("result") && jj.contains("reason")) {
+ if (jj["result"].get() == "fail") {
+ if (jj.contains("err_code")) {
+ auto err_code = jj["err_code"].get();
+ print_error = err_code;
+ }
+ is_succeed = false;
+ }
}
- }
- reset_pa_cali_history_result();
- has_get_pa_calib_tab = true;
-
- if (jj.contains("nozzle_diameter")) {
- if (jj["nozzle_diameter"].is_number_float()) {
- pa_calib_tab_nozzle_dia = jj["nozzle_diameter"].get();
- }
- else if (jj["nozzle_diameter"].is_string()) {
- pa_calib_tab_nozzle_dia = string_to_float(jj["nozzle_diameter"].get());
- }
- else {
- assert(false);
+ if (is_succeed) {
+ last_cali_version = cali_version;
+ has_get_pa_calib_tab = true;
}
- }
- else {
- assert(false);
- }
- if (jj.contains("filaments") && jj["filaments"].is_array()) {
- try {
-#ifdef CALI_DEBUG
- std::string str = jj.dump();
- BOOST_LOG_TRIVIAL(info) << "extrusion_cali_get: " << str;
-#endif
+ if (jj.contains("filaments") && jj["filaments"].is_array()) {
+ try {
+ for (auto it = jj["filaments"].begin(); it != jj["filaments"].end(); it++) {
+ PACalibResult pa_calib_result;
+ pa_calib_result.filament_id = (*it)["filament_id"].get();
+ pa_calib_result.name = (*it)["name"].get();
+ pa_calib_result.cali_idx = (*it)["cali_idx"].get();
+
+ if ((*it).contains("setting_id")) {
+ pa_calib_result.setting_id = (*it)["setting_id"].get();
+ }
- for (auto it = jj["filaments"].begin(); it != jj["filaments"].end(); it++) {
- PACalibResult pa_calib_result;
- pa_calib_result.filament_id = (*it)["filament_id"].get();
- pa_calib_result.setting_id = (*it)["setting_id"].get();
- pa_calib_result.name = (*it)["name"].get();
- pa_calib_result.cali_idx = (*it)["cali_idx"].get();
+ if ((*it).contains("extruder_id")) {
+ pa_calib_result.extruder_id = (*it)["extruder_id"].get();
+ }
- if (jj["nozzle_diameter"].is_number_float()) {
- pa_calib_result.nozzle_diameter = jj["nozzle_diameter"].get();
- } else if (jj["nozzle_diameter"].is_string()) {
- pa_calib_result.nozzle_diameter = string_to_float(jj["nozzle_diameter"].get());
- }
+ if ((*it).contains("nozzle_id")) {
+ pa_calib_result.nozzle_volume_type = convert_to_nozzle_type((*it)["nozzle_id"].get());
+ }
- if ((*it)["k_value"].is_number_float())
- pa_calib_result.k_value = (*it)["k_value"].get();
- else if ((*it)["k_value"].is_string())
- pa_calib_result.k_value = string_to_float((*it)["k_value"].get());
+ if (jj["nozzle_diameter"].is_number_float()) {
+ pa_calib_result.nozzle_diameter = jj["nozzle_diameter"].get();
+ } else if (jj["nozzle_diameter"].is_string()) {
+ pa_calib_result.nozzle_diameter = string_to_float(jj["nozzle_diameter"].get());
+ }
- if ((*it)["n_coef"].is_number_float())
- pa_calib_result.n_coef = (*it)["n_coef"].get();
- else if ((*it)["n_coef"].is_string())
- pa_calib_result.n_coef = string_to_float((*it)["n_coef"].get());
+ if ((*it)["k_value"].is_number_float())
+ pa_calib_result.k_value = (*it)["k_value"].get();
+ else if ((*it)["k_value"].is_string())
+ pa_calib_result.k_value = string_to_float((*it)["k_value"].get());
- if (check_pa_result_validation(pa_calib_result))
- pa_calib_tab.push_back(pa_calib_result);
- else {
- BOOST_LOG_TRIVIAL(info) << "pa result is invalid";
+ if ((*it)["n_coef"].is_number_float())
+ pa_calib_result.n_coef = (*it)["n_coef"].get();
+ else if ((*it)["n_coef"].is_string())
+ pa_calib_result.n_coef = string_to_float((*it)["n_coef"].get());
+
+ if (check_pa_result_validation(pa_calib_result))
+ pa_calib_tab.push_back(pa_calib_result);
+ else {
+ BOOST_LOG_TRIVIAL(info) << "pa result is invalid";
+ }
}
- }
- }
- catch (...) {
+ }
+ catch (...) {
+ }
}
+ // notify cali history to update
+ } else {
+ BOOST_LOG_TRIVIAL(info) << "printer extrusion_cali_get: " << str;
}
- // notify cali history to update
}
else if (jj["command"].get() == "extrusion_cali_get_result") {
+ std::string str = jj.dump();
+ BOOST_LOG_TRIVIAL(info) << "extrusion_cali_get_result: " << str;
+ reset_pa_cali_result();
+ bool is_succeed = true;
if (jj.contains("result") && jj.contains("reason")) {
if (jj["result"].get() == "fail") {
- auto err_code = jj["err_code"].get();
- print_error = err_code;
+ if (jj.contains("err_code")) {
+ auto err_code = jj["err_code"].get();
+ print_error = err_code;
+ is_succeed = false;
+ }
}
}
- reset_pa_cali_result();
- get_pa_calib_result = true;
+ if (is_succeed)
+ get_pa_calib_result = true;
if (jj.contains("filaments") && jj["filaments"].is_array()) {
try {
-#ifdef CALI_DEBUG
- std::string str = jj.dump();
- BOOST_LOG_TRIVIAL(info) << "extrusion_cali_get_result: " << str;
-#endif
-
for (auto it = jj["filaments"].begin(); it != jj["filaments"].end(); it++) {
PACalibResult pa_calib_result;
pa_calib_result.tray_id = (*it)["tray_id"].get();
pa_calib_result.filament_id = (*it)["filament_id"].get();
- pa_calib_result.setting_id = (*it)["setting_id"].get();
+
+ if ((*it).contains("setting_id")) {
+ pa_calib_result.setting_id = (*it)["setting_id"].get();
+ }
if (jj["nozzle_diameter"].is_number_float()) {
pa_calib_result.nozzle_diameter = jj["nozzle_diameter"].get();
@@ -4690,6 +4833,30 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
pa_calib_result.nozzle_diameter = string_to_float(jj["nozzle_diameter"].get());
}
+ if (it->contains("ams_id")) {
+ pa_calib_result.ams_id = (*it)["ams_id"].get();
+ } else {
+ pa_calib_result.ams_id = 0;
+ }
+
+ if (it->contains("slot_id")) {
+ pa_calib_result.slot_id = (*it)["slot_id"].get();
+ } else {
+ pa_calib_result.slot_id = 0;
+ }
+
+ if (it->contains("extruder_id")) {
+ pa_calib_result.extruder_id = (*it)["extruder_id"].get();
+ } else {
+ pa_calib_result.extruder_id = -1;
+ }
+
+ if (it->contains("nozzle_id")) {
+ pa_calib_result.nozzle_volume_type = convert_to_nozzle_type((*it)["nozzle_id"].get());
+ } else {
+ pa_calib_result.nozzle_volume_type = NozzleVolumeType::nvtNormal;
+ }
+
if ((*it)["k_value"].is_number_float())
pa_calib_result.k_value = (*it)["k_value"].get();
else if ((*it)["k_value"].is_string())
@@ -4739,7 +4906,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
if (it->contains("confidence")) {
flow_ratio_calib_result.confidence = (*it)["confidence"].get();
} else {
- flow_ratio_calib_result.confidence = 0;
+ flow_ratio_calib_result.confidence = 0;
}
flow_ratio_results.push_back(flow_ratio_calib_result);
@@ -4750,6 +4917,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only)
}
}
}
+
if (!key_field_only) {
try {
if (j.contains("camera")) {
@@ -5176,18 +5344,462 @@ std::string MachineObject::get_string_from_fantype(FanType type)
return "";
}
+AmsTray MachineObject::parse_vt_tray(json vtray)
+{
+ auto vt_tray = AmsTray(std::to_string(VIRTUAL_TRAY_ID));
+
+ if (vtray.contains("id"))
+ vt_tray.id = vtray["id"].get();
+ auto curr_time = std::chrono::system_clock::now();
+ auto diff = std::chrono::duration_cast(curr_time - extrusion_cali_set_hold_start);
+ if (diff.count() > HOLD_TIMEOUT || diff.count() < 0
+ || extrusion_cali_set_tray_id != VIRTUAL_TRAY_ID) {
+ if (vtray.contains("k"))
+ vt_tray.k = vtray["k"].get();
+ if (vtray.contains("n"))
+ vt_tray.n = vtray["n"].get();
+ }
+ ams_support_virtual_tray = true;
+
+ if (vt_tray.hold_count > 0) {
+ vt_tray.hold_count--;
+ }
+ else {
+ if (vtray.contains("tag_uid"))
+ vt_tray.tag_uid = vtray["tag_uid"].get();
+ else
+ vt_tray.tag_uid = "0";
+ if (vtray.contains("tray_info_idx") && vtray.contains("tray_type")) {
+ vt_tray.setting_id = vtray["tray_info_idx"].get();
+ //std::string type = vtray["tray_type"].get();
+ std::string type = setting_id_to_type(vt_tray.setting_id, vtray["tray_type"].get());
+ if (vt_tray.setting_id == "GFS00") {
+ vt_tray.type = "PLA-S";
+ }
+ else if (vt_tray.setting_id == "GFS01") {
+ vt_tray.type = "PA-S";
+ }
+ else {
+ vt_tray.type = type;
+ }
+ }
+ else {
+ vt_tray.setting_id = "";
+ vt_tray.type = "";
+ }
+ if (vtray.contains("tray_sub_brands"))
+ vt_tray.sub_brands = vtray["tray_sub_brands"].get();
+ else
+ vt_tray.sub_brands = "";
+ if (vtray.contains("tray_weight"))
+ vt_tray.weight = vtray["tray_weight"].get();
+ else
+ vt_tray.weight = "";
+ if (vtray.contains("tray_diameter"))
+ vt_tray.diameter = vtray["tray_diameter"].get();
+ else
+ vt_tray.diameter = "";
+ if (vtray.contains("tray_temp"))
+ vt_tray.temp = vtray["tray_temp"].get();
+ else
+ vt_tray.temp = "";
+ if (vtray.contains("tray_time"))
+ vt_tray.time = vtray["tray_time"].get();
+ else
+ vt_tray.time = "";
+ if (vtray.contains("bed_temp_type"))
+ vt_tray.bed_temp_type = vtray["bed_temp_type"].get();
+ else
+ vt_tray.bed_temp_type = "";
+ if (vtray.contains("bed_temp"))
+ vt_tray.bed_temp = vtray["bed_temp"].get();
+ else
+ vt_tray.bed_temp = "";
+ if (vtray.contains("tray_color")) {
+ auto color = vtray["tray_color"].get();
+ vt_tray.update_color_from_str(color);
+ }
+ else {
+ vt_tray.color = "";
+ }
+ if (vtray.contains("nozzle_temp_max"))
+ vt_tray.nozzle_temp_max = vtray["nozzle_temp_max"].get();
+ else
+ vt_tray.nozzle_temp_max = "";
+ if (vtray.contains("nozzle_temp_min"))
+ vt_tray.nozzle_temp_min = vtray["nozzle_temp_min"].get();
+ else
+ vt_tray.nozzle_temp_min = "";
+ if (vtray.contains("xcam_info"))
+ vt_tray.xcam_info = vtray["xcam_info"].get();
+ else
+ vt_tray.xcam_info = "";
+ if (vtray.contains("tray_uuid"))
+ vt_tray.uuid = vtray["tray_uuid"].get();
+ else
+ vt_tray.uuid = "0";
+
+ if (vtray.contains("cali_idx"))
+ vt_tray.cali_idx = vtray["cali_idx"].get();
+ else
+ vt_tray.cali_idx = -1;
+ vt_tray.cols.clear();
+ if (vtray.contains("cols")) {
+ if (vtray.is_array()) {
+ for (auto it = vtray.begin(); it != vtray.end(); it++) {
+ vt_tray.cols.push_back(it.value().get());
+ }
+ }
+ }
+
+ if (vtray.contains("remain")) {
+ vt_tray.remain = vtray["remain"].get();
+ }
+ else {
+ vt_tray.remain = -1;
+ }
+ }
+
+ return vt_tray;
+}
+
+bool MachineObject::check_enable_np(const json& print) const
+{
+ if (print.contains("cfg") && print.contains("fun") && print.contains("aux") && print.contains("stat"))
+ {
+ return true;
+ }
+
+ return false;
+}
+
+void MachineObject::parse_new_info(json print)
+{
+ is_enable_np = check_enable_np(print);
+ if (!is_enable_np)
+ {
+ return;
+ }
+
+ BOOST_LOG_TRIVIAL(info) << "using new print data for parsing";
+
+ /*cfg*/
+ std::string cfg = print["cfg"].get();
+
+ BOOST_LOG_TRIVIAL(info) << "new print data cfg = " << cfg;
+
+ if(!cfg.empty()){
+ if (ams_user_setting_hold_count > 0) ams_user_setting_hold_count--;
+ if (camera_recording_hold_count > 0) camera_recording_hold_count--;
+ if (camera_resolution_hold_count > 0) camera_resolution_hold_count--;
+ if (camera_timelapse_hold_count > 0) camera_timelapse_hold_count--;
+ //if (xcam_buildplate_marker_hold_count > 0) xcam_buildplate_marker_hold_count--;first_layer_inspector
+ if (xcam_first_layer_hold_count > 0) xcam_first_layer_hold_count--;
+ if (xcam_ai_monitoring_hold_count > 0) xcam_ai_monitoring_hold_count--;
+ if (xcam_auto_recovery_hold_count > 0) xcam_auto_recovery_hold_count--;
+ if (ams_print_option_count > 0) ams_print_option_count--;
+ if (xcam_prompt_sound_hold_count > 0) xcam_prompt_sound_hold_count--;
+ if (xcam_filament_tangle_detect_count > 0)xcam_filament_tangle_detect_count--;
+ if (nozzle_setting_hold_count > 0)nozzle_setting_hold_count--;
+
+
+
+ ams_insert_flag = get_flag_bits(cfg, 0);
+ ams_power_on_flag = get_flag_bits(cfg, 1);
+ upgrade_force_upgrade = get_flag_bits(cfg, 2);
+ camera_recording_when_printing = get_flag_bits(cfg, 3);
+ camera_resolution = get_flag_bits(cfg, 4) == 0 ? "720p" : "1080p";
+ camera_timelapse = get_flag_bits(cfg, 5);
+ tutk_state = get_flag_bits(cfg, 6) == 1 ? "disable" : "";
+ chamber_light = get_flag_bits(cfg, 7) == 1 ? LIGHT_EFFECT::LIGHT_EFFECT_ON : LIGHT_EFFECT::LIGHT_EFFECT_OFF;
+ printing_speed_lvl = (PrintingSpeedLevel)get_flag_bits(cfg, 8, 3);
+ //is_support_build_plate_marker_detect = get_flag_bits(cfg, 12); todo yangcong
+
+ xcam_first_layer_inspector = get_flag_bits(cfg, 13);
+
+ switch (get_flag_bits(cfg, 14, 2))
+ {
+ case 0:
+ xcam_ai_monitoring_sensitivity = "never_halt";
+ break;
+ case 1:
+ xcam_ai_monitoring_sensitivity = "low";
+ break;
+ case 2:
+ xcam_ai_monitoring_sensitivity = "medium";
+ break;
+ case 3:
+ xcam_ai_monitoring_sensitivity = "high";
+ break;
+ }
+
+ xcam_ai_monitoring = get_flag_bits(cfg, 16);
+ xcam_auto_recovery_step_loss = get_flag_bits(cfg, 17);
+ ams_calibrate_remain_flag = get_flag_bits(cfg, 18);
+ ams_auto_switch_filament_flag = get_flag_bits(cfg, 19);
+ xcam_allow_prompt_sound = get_flag_bits(cfg, 23);
+ xcam_filament_tangle_detect = get_flag_bits(cfg, 24);
+ nozzle_blob_detection_enabled = get_flag_bits(cfg, 25);
+ installed_upgrade_kit = get_flag_bits(cfg, 26);
+ }
+
+ /*fun*/
+ std::string fun = print["fun"].get();
+ BOOST_LOG_TRIVIAL(info) << "new print data fun = " << fun;
+
+ if (!fun.empty()) {
+
+ is_support_agora = get_flag_bits(fun, 1);
+ if (is_support_agora) is_support_tunnel_mqtt = false;
+
+ is_220V_voltage = get_flag_bits(fun, 3) == 0?false:true;
+ is_support_flow_calibration = get_flag_bits(fun, 6);
+ is_support_pa_calibration = get_flag_bits(fun, 7);
+ is_support_prompt_sound = get_flag_bits(fun, 8);
+ is_support_filament_tangle_detect = get_flag_bits(fun, 9);
+ is_support_motor_noise_cali = get_flag_bits(fun, 10);
+ is_support_user_preset = get_flag_bits(fun, 11);
+ is_support_nozzle_blob_detection = get_flag_bits(fun, 13);
+ is_support_upgrade_kit = get_flag_bits(cfg, 14);
+ is_support_command_homing = get_flag_bits(fun, 32);
+ }
+
+ /*aux*/
+ std::string aux = print["aux"].get();
+
+ BOOST_LOG_TRIVIAL(info) << "new print data aux = " << aux;
+
+ if (!aux.empty()) {
+ sdcard_state = MachineObject::SdcardState(get_flag_bits(aux, 12, 2));
+ }
+
+ /*stat*/
+ std::string stat = print["stat"].get();
+
+ BOOST_LOG_TRIVIAL(info) << "new print data stat = " << stat;
+
+ if (!stat.empty()) {
+ camera_recording = get_flag_bits(stat, 7);
+ }
+
+ /*device*/
+ if (print.contains("device")) {
+ json const& device = print["device"];
+
+ if (device.contains("type")) {
+ int type = device["type"]; //FDM:1<<0 Laser:1<< Cut:1<<2
+ }
+
+ if (device.contains("bed_temp")) {
+ bed_temp = get_flag_bits(device["bed_temp"].get(), 0, 16);
+ bed_temp_target = get_flag_bits(device["bed_temp"].get(), 16, 16);
+ }
+
+ if (device.contains("cham_temp")) {
+ chamber_temp = get_flag_bits(device["cham_temp"].get(), 0, 16);
+ chamber_temp_target = get_flag_bits(device["cham_temp"].get(), 16, 16);
+ }
+
+ if (device.contains("fan")) {
+ big_fan1_speed = get_flag_bits(device["fan"].get(), 0, 3);
+ big_fan2_speed = get_flag_bits(device["fan"].get(), 4, 3);
+ cooling_fan_speed = get_flag_bits(device["fan"].get(), 8, 3);
+ heatbreak_fan_speed = get_flag_bits(device["fan"].get(), 12, 3);
+ }
+
+ if (device.contains("nozzle")) {
+ json const &nozzle = device["nozzle"];
+
+ m_nozzle_data = NozzleData();
+
+ m_nozzle_data.extder_exist = get_flag_bits(nozzle["exist"].get(), 0, 16);
+ m_nozzle_data.cut_exist = get_flag_bits(nozzle["exist"].get(), 16, 16);
+ m_nozzle_data.state = get_flag_bits(nozzle["state"].get(), 0, 4);
+
+ for (auto it = nozzle["info"].begin(); it != nozzle["info"].end(); it++) {
+ Nozzle nozzle_obj;
+ auto njon = it.value();
+ std::string type = njon["type"].get();
+ nozzle_obj.id = njon["id"].get();
+
+ if (type.length() >= 4) {
+ if (type.substr(2, 2) == std::string("00")) {
+ nozzle_obj.nozzle_type = NozzleType::ntStainlessSteel;
+ } else if (type.substr(2, 2) == std::string("01")) {
+ nozzle_obj.nozzle_type = NozzleType::ntHardenedSteel;
+ }
+ } else {
+ nozzle_obj.nozzle_type = NozzleType::ntUndefine;
+ }
+
+ nozzle_obj.diameter = njon["diameter"].get();
+ nozzle_obj.max_temp = njon["tm"].get();
+ nozzle_obj.wear = njon["wear"].get();
+ if (nozzle_obj.diameter == 0.0f) {nozzle_obj.diameter = 0.4f;}
+ m_nozzle_data.nozzles.push_back(nozzle_obj);
+ }
+ }
+
+ if (device.contains("extruder")) {
+ json const& extruder = device["extruder"];
+
+ auto extder_data = ExtderData();
+ extder_data.total_extder_count = get_flag_bits(extruder["state"].get(), 0, 4);
+
+
+ extder_data.current_extder_id = get_flag_bits(extruder["state"].get(), 4, 4);
+ extder_data.target_extder_id = get_flag_bits(extruder["state"].get(), 8, 4);
+
+ for (auto it = extruder["info"].begin(); it != extruder["info"].end(); it++) {
+
+ Extder extder_obj;
+ auto njon = it.value();
+
+ extder_obj.id = njon["id"].get();
+
+ extder_obj.filam_bak.clear();
+ is_support_show_filament_backup = njon.contains("filam_bak");
+ if (is_support_show_filament_backup)
+ {
+ const json& filam_bak_items = njon["filam_bak"];
+ for (const auto& filam_bak_item : filam_bak_items)
+ {
+ const auto& filam_bak_val = filam_bak_item.get();
+ extder_obj.filam_bak.emplace_back(filam_bak_val);
+ }
+ }
+
+ extder_obj.ext_has_filament = get_flag_bits(njon["info"].get(), 1);
+ extder_obj.buffer_has_filament = get_flag_bits(njon["info"].get(), 2);
+ extder_obj.nozzle_exist = get_flag_bits(njon["info"].get(), 3);
+ extder_obj.temp = get_flag_bits(njon["temp"].get