mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-07 06:57:36 -06:00
Feature/home page improve (#4602)
* Add new MyRRF custom printer * hide user panel when networking plugin is not installed/used * Fixed a bug that promption of installing plugin notification was not displayed when trying to switch to Bambu device tab * replay missing_connection animated image when switching to device tab
This commit is contained in:
parent
2d737f62b5
commit
1e08b855df
37 changed files with 710 additions and 814 deletions
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "Custom Printer",
|
||||
"version": "02.00.00.00",
|
||||
"version": "02.00.00.01",
|
||||
"force_update": "0",
|
||||
"description": "My configurations",
|
||||
"machine_model_list": [
|
||||
|
@ -11,6 +11,10 @@
|
|||
{
|
||||
"name": "Generic Marlin Printer",
|
||||
"sub_path": "machine/MyMarlin.json"
|
||||
},
|
||||
{
|
||||
"name": "Generic RRF Printer",
|
||||
"sub_path": "machine/MyRRF.json"
|
||||
}
|
||||
],
|
||||
"process_list": [
|
||||
|
@ -22,6 +26,10 @@
|
|||
"name": "fdm_process_klipper_common",
|
||||
"sub_path": "process/fdm_process_klipper_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_rrf_common",
|
||||
"sub_path": "process/fdm_process_rrf_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_process_marlin_common",
|
||||
"sub_path": "process/fdm_process_marlin_common.json"
|
||||
|
@ -50,6 +58,30 @@
|
|||
"name": "0.28mm Extra Draft @MyKlipper",
|
||||
"sub_path": "process/0.28mm Extra Draft @MyKlipper.json"
|
||||
},
|
||||
{
|
||||
"name": "0.08mm Extra Fine @MyRRF",
|
||||
"sub_path": "process/0.08mm Extra Fine @MyRRF.json"
|
||||
},
|
||||
{
|
||||
"name": "0.12mm Fine @MyRRF",
|
||||
"sub_path": "process/0.12mm Fine @MyRRF.json"
|
||||
},
|
||||
{
|
||||
"name": "0.15mm Optimal @MyRRF",
|
||||
"sub_path": "process/0.15mm Optimal @MyRRF.json"
|
||||
},
|
||||
{
|
||||
"name": "0.20mm Standard @MyRRF",
|
||||
"sub_path": "process/0.20mm Standard @MyRRF.json"
|
||||
},
|
||||
{
|
||||
"name": "0.24mm Draft @MyRRF",
|
||||
"sub_path": "process/0.24mm Draft @MyRRF.json"
|
||||
},
|
||||
{
|
||||
"name": "0.28mm Extra Draft @MyRRF",
|
||||
"sub_path": "process/0.28mm Extra Draft @MyRRF.json"
|
||||
},
|
||||
{
|
||||
"name": "0.08mm Extra Fine @MyMarlin",
|
||||
"sub_path": "process/0.08mm Extra Fine @MyMarlin.json"
|
||||
|
@ -162,6 +194,10 @@
|
|||
"name": "fdm_klipper_common",
|
||||
"sub_path": "machine/fdm_klipper_common.json"
|
||||
},
|
||||
{
|
||||
"name": "fdm_rrf_common",
|
||||
"sub_path": "machine/fdm_rrf_common.json"
|
||||
},
|
||||
{
|
||||
"name": "MyKlipper 0.4 nozzle",
|
||||
"sub_path": "machine/MyKlipper 0.4 nozzle.json"
|
||||
|
@ -169,6 +205,10 @@
|
|||
{
|
||||
"name": "MyMarlin 0.4 nozzle",
|
||||
"sub_path": "machine/MyMarlin 0.4 nozzle.json"
|
||||
},
|
||||
{
|
||||
"name": "MyRRF 0.4 nozzle",
|
||||
"sub_path": "machine/MyRRF 0.4 nozzle.json"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
BIN
resources/profiles/Custom/Generic RRF Printer_cover.png
Normal file
BIN
resources/profiles/Custom/Generic RRF Printer_cover.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.6 KiB |
|
@ -14,6 +14,7 @@
|
|||
],
|
||||
"compatible_printers": [
|
||||
"MyKlipper 0.4 nozzle",
|
||||
"MyMarlin 0.4 nozzle"
|
||||
"MyMarlin 0.4 nozzle",
|
||||
"MyRRF 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
],
|
||||
"compatible_printers": [
|
||||
"MyKlipper 0.4 nozzle",
|
||||
"MyMarlin 0.4 nozzle"
|
||||
"MyMarlin 0.4 nozzle",
|
||||
"MyRRF 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -18,8 +18,9 @@
|
|||
"filament_max_volumetric_speed": [
|
||||
"8"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"compatible_printers": [
|
||||
"MyKlipper 0.4 nozzle",
|
||||
"MyMarlin 0.4 nozzle"
|
||||
"MyMarlin 0.4 nozzle",
|
||||
"MyRRF 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -15,8 +15,9 @@
|
|||
"filament_max_volumetric_speed": [
|
||||
"12"
|
||||
],
|
||||
"compatible_printers": [
|
||||
"compatible_printers": [
|
||||
"MyKlipper 0.4 nozzle",
|
||||
"MyMarlin 0.4 nozzle"
|
||||
"MyMarlin 0.4 nozzle",
|
||||
"MyRRF 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
],
|
||||
"compatible_printers": [
|
||||
"MyKlipper 0.4 nozzle",
|
||||
"MyMarlin 0.4 nozzle"
|
||||
"MyMarlin 0.4 nozzle",
|
||||
"MyRRF 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
],
|
||||
"compatible_printers": [
|
||||
"MyKlipper 0.4 nozzle",
|
||||
"MyMarlin 0.4 nozzle"
|
||||
"MyMarlin 0.4 nozzle",
|
||||
"MyRRF 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
],
|
||||
"compatible_printers": [
|
||||
"MyKlipper 0.4 nozzle",
|
||||
"MyMarlin 0.4 nozzle"
|
||||
"MyMarlin 0.4 nozzle",
|
||||
"MyRRF 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
],
|
||||
"compatible_printers": [
|
||||
"MyKlipper 0.4 nozzle",
|
||||
"MyMarlin 0.4 nozzle"
|
||||
"MyMarlin 0.4 nozzle",
|
||||
"MyRRF 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
],
|
||||
"compatible_printers": [
|
||||
"MyKlipper 0.4 nozzle",
|
||||
"MyMarlin 0.4 nozzle"
|
||||
"MyMarlin 0.4 nozzle",
|
||||
"MyRRF 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
],
|
||||
"compatible_printers": [
|
||||
"MyKlipper 0.4 nozzle",
|
||||
"MyMarlin 0.4 nozzle"
|
||||
"MyMarlin 0.4 nozzle",
|
||||
"MyRRF 0.4 nozzle"
|
||||
]
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"machine_tech": "FFF",
|
||||
"family": "MyPrinter",
|
||||
"bed_model": "",
|
||||
"bed_texture": "",
|
||||
"bed_texture": "orcaslicer_bed_texture.svg",
|
||||
"hotend_model": "",
|
||||
"default_materials": "My Generic ABS;My Generic PLA;My Generic PLA-CF;My Generic PETG;My Generic TPU;My Generic ASA;My Generic PC;My Generic PVA;My Generic PA;My Generic PA-CF"
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"machine_tech": "FFF",
|
||||
"family": "MyPrinter",
|
||||
"bed_model": "",
|
||||
"bed_texture": "",
|
||||
"bed_texture": "orcaslicer_bed_texture.svg",
|
||||
"hotend_model": "",
|
||||
"default_materials": "My Generic ABS;My Generic PLA;My Generic PLA-CF;My Generic PETG;My Generic TPU;My Generic ASA;My Generic PC;My Generic PVA;My Generic PA;My Generic PA-CF"
|
||||
}
|
||||
|
|
19
resources/profiles/Custom/machine/MyRRF 0.4 nozzle.json
Normal file
19
resources/profiles/Custom/machine/MyRRF 0.4 nozzle.json
Normal file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"type": "machine",
|
||||
"setting_id": "GM003",
|
||||
"name": "MyRRF 0.4 nozzle",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_rrf_common",
|
||||
"printer_model": "Generic RRF Printer",
|
||||
"nozzle_diameter": [
|
||||
"0.4"
|
||||
],
|
||||
"printable_area": [
|
||||
"0x0",
|
||||
"250x0",
|
||||
"250x250",
|
||||
"0x250"
|
||||
],
|
||||
"printable_height": "250"
|
||||
}
|
12
resources/profiles/Custom/machine/MyRRF.json
Normal file
12
resources/profiles/Custom/machine/MyRRF.json
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"type": "machine_model",
|
||||
"name": "Generic RRF Printer",
|
||||
"model_id": "my_rrf_01",
|
||||
"nozzle_diameter": "0.4",
|
||||
"machine_tech": "FFF",
|
||||
"family": "MyPrinter",
|
||||
"bed_model": "",
|
||||
"bed_texture": "orcaslicer_bed_texture.svg",
|
||||
"hotend_model": "",
|
||||
"default_materials": "My Generic ABS;My Generic PLA;My Generic PLA-CF;My Generic PETG;My Generic TPU;My Generic ASA;My Generic PC;My Generic PVA;My Generic PA;My Generic PA-CF"
|
||||
}
|
141
resources/profiles/Custom/machine/fdm_rrf_common.json
Normal file
141
resources/profiles/Custom/machine/fdm_rrf_common.json
Normal file
|
@ -0,0 +1,141 @@
|
|||
{
|
||||
"type": "machine",
|
||||
"name": "fdm_rrf_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"inherits": "fdm_machine_common",
|
||||
"gcode_flavor": "reprapfirmware",
|
||||
"machine_max_acceleration_e": [
|
||||
"5000",
|
||||
"5000"
|
||||
],
|
||||
"machine_max_acceleration_extruding": [
|
||||
"20000",
|
||||
"20000"
|
||||
],
|
||||
"machine_max_acceleration_retracting": [
|
||||
"5000",
|
||||
"5000"
|
||||
],
|
||||
"machine_max_acceleration_travel": [
|
||||
"20000",
|
||||
"20000"
|
||||
],
|
||||
"machine_max_acceleration_x": [
|
||||
"20000",
|
||||
"20000"
|
||||
],
|
||||
"machine_max_acceleration_y": [
|
||||
"20000",
|
||||
"20000"
|
||||
],
|
||||
"machine_max_acceleration_z": [
|
||||
"500",
|
||||
"200"
|
||||
],
|
||||
"machine_max_speed_e": [
|
||||
"25",
|
||||
"25"
|
||||
],
|
||||
"machine_max_speed_x": [
|
||||
"500",
|
||||
"200"
|
||||
],
|
||||
"machine_max_speed_y": [
|
||||
"500",
|
||||
"200"
|
||||
],
|
||||
"machine_max_speed_z": [
|
||||
"12",
|
||||
"12"
|
||||
],
|
||||
"machine_max_jerk_e": [
|
||||
"2.5",
|
||||
"2.5"
|
||||
],
|
||||
"machine_max_jerk_x": [
|
||||
"9",
|
||||
"9"
|
||||
],
|
||||
"machine_max_jerk_y": [
|
||||
"9",
|
||||
"9"
|
||||
],
|
||||
"machine_max_jerk_z": [
|
||||
"0.2",
|
||||
"0.4"
|
||||
],
|
||||
"machine_min_extruding_rate": [
|
||||
"0",
|
||||
"0"
|
||||
],
|
||||
"machine_min_travel_rate": [
|
||||
"0",
|
||||
"0"
|
||||
],
|
||||
"max_layer_height": [
|
||||
"0.32"
|
||||
],
|
||||
"min_layer_height": [
|
||||
"0.08"
|
||||
],
|
||||
"printable_height": "250",
|
||||
"extruder_clearance_radius": "65",
|
||||
"extruder_clearance_height_to_rod": "36",
|
||||
"extruder_clearance_height_to_lid": "140",
|
||||
"printer_settings_id": "",
|
||||
"printer_technology": "FFF",
|
||||
"printer_variant": "0.4",
|
||||
"retraction_minimum_travel": [
|
||||
"1"
|
||||
],
|
||||
"retract_before_wipe": [
|
||||
"70%"
|
||||
],
|
||||
"retract_when_changing_layer": [
|
||||
"1"
|
||||
],
|
||||
"retraction_length": [
|
||||
"0.8"
|
||||
],
|
||||
"retract_length_toolchange": [
|
||||
"2"
|
||||
],
|
||||
"z_hop": [
|
||||
"0.4"
|
||||
],
|
||||
"retract_restart_extra": [
|
||||
"0"
|
||||
],
|
||||
"retract_restart_extra_toolchange": [
|
||||
"0"
|
||||
],
|
||||
"retraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"deretraction_speed": [
|
||||
"30"
|
||||
],
|
||||
"z_hop_types": "Normal Lift",
|
||||
"silent_mode": "0",
|
||||
"single_extruder_multi_material": "1",
|
||||
"change_filament_gcode": "",
|
||||
"wipe": [
|
||||
"1"
|
||||
],
|
||||
"default_filament_profile": [
|
||||
"My Generic ABS"
|
||||
],
|
||||
"default_print_profile": "0.20mm Standard @MyRRF",
|
||||
"bed_exclude_area": [
|
||||
"0x0"
|
||||
],
|
||||
"scan_first_layer": "0",
|
||||
"nozzle_type": "undefine",
|
||||
"auxiliary_fan": "0",
|
||||
"machine_start_gcode": "; Prime Filament Sensor for Runout\nM581 P1 T2 S-1 R0\nM950 J1 C\"nil\" ; Input 1 e0 Filament Sensor \nM591 D0 P2 C\"e0stop\" S1 ; Filament Runout Sensor\n\nM83 ; extruder relative mode\n\nM140 S[first_layer_bed_temperature] ; set bed temp\nM109 S140 ; Set extruder temp 140C before bed level\nM190 S[first_layer_bed_temperature] ; wait for bed temp\n\n;G28 W\nG32 ; Levels Z Tilt and probes Z=0\nG29 S0 ; mesh bed leveling\nG1 X0 Y0 Z2 F2000\nM109 S[first_layer_temperature] ; wait for extruder temp\n\nG1 X10 Y-7 Z0.3 F1000.0 ; go outside print area\nG92 E0.0\nG1 Z0.2 E8 ; Purge Bubble\nG1 X60.0 E9.0 F1000.0 ; intro line\nG1 X100.0 E12.5 F1000.0 ; intro line\nG92 E0.0",
|
||||
"machine_end_gcode": "{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+1, max_print_height)} F720 ; Move print head up{endif}\nG1 X0 Y200 F3600 ; park\n{if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+49, max_print_height)} F720 ; Move print head further up{endif}\nM221 S100 ; reset flow\nM900 K0 ; reset LA\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nM84 ; disable motors",
|
||||
"layer_change_gcode": ";AFTER_LAYER_CHANGE\n;[layer_z]",
|
||||
"before_layer_change_gcode": ";BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n",
|
||||
"machine_pause_gcode": "M601"
|
||||
}
|
148
resources/profiles/Custom/orcaslicer_bed_texture.svg
Normal file
148
resources/profiles/Custom/orcaslicer_bed_texture.svg
Normal file
|
@ -0,0 +1,148 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="512"
|
||||
height="512"
|
||||
viewBox="0 0 512 512"
|
||||
fill="none"
|
||||
version="1.1"
|
||||
id="svg526"
|
||||
sodipodi:docname="OrcaSlicer_about.svg"
|
||||
inkscape:version="1.2.2 (732a01da63, 2022-12-09)"
|
||||
inkscape:export-filename="OrcaSlicer_about.svg"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs530">
|
||||
<clipPath
|
||||
clipPathUnits="userSpaceOnUse"
|
||||
id="clipPath16">
|
||||
<path
|
||||
d="M 0,792 H 612 V 0 H 0 Z"
|
||||
id="path14" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="namedview528"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
showgrid="false"
|
||||
inkscape:zoom="12.179348"
|
||||
inkscape:cx="278.75055"
|
||||
inkscape:cy="104.93173"
|
||||
inkscape:window-width="3440"
|
||||
inkscape:window-height="1369"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg526" />
|
||||
<g
|
||||
id="g10"
|
||||
transform="matrix(0.07369611,0,0,-0.07369611,345.22738,480.7198)"
|
||||
style="display:inline">
|
||||
<g
|
||||
id="g12"
|
||||
clip-path="url(#clipPath16)">
|
||||
<g
|
||||
id="g18"
|
||||
transform="translate(59.7287,115.3517)">
|
||||
<path
|
||||
d="m 0,0 c 53.332,-53.285 126.698,-86.317 207.744,-86.646 164.049,-0.664 298.355,134.38 297.699,299.337 -0.324,81.496 -33.176,155.271 -86.17,208.899 z"
|
||||
style="fill:#292826;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path20" />
|
||||
</g>
|
||||
<g
|
||||
id="g22"
|
||||
transform="translate(479.0017,536.9419)">
|
||||
<path
|
||||
d="m 0,0 -419.273,-421.59 c 0.298,-0.298 0.606,-0.587 0.906,-0.884 146.894,74.925 348.023,206.579 486.003,316.297 C 52.756,-65.97 29.506,-29.859 0,0"
|
||||
style="fill:#009789;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path24" />
|
||||
</g>
|
||||
<g
|
||||
id="g26"
|
||||
transform="translate(397.0372,747)">
|
||||
<path
|
||||
d="m 0,0 c -163.742,0 -296.482,-133.473 -296.482,-298.121 0,-81.979 32.915,-156.223 86.172,-210.117 l 419.273,421.59 C 155.364,-33.096 81.529,0 0,0"
|
||||
style="fill:#292826;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path28" />
|
||||
</g>
|
||||
<g
|
||||
id="g30"
|
||||
transform="translate(397.0372,747)">
|
||||
<path
|
||||
d="m 0,0 c -56.714,0 -109.702,-16.022 -154.751,-43.796 -24.127,6.312 -54.061,11.37 -88.437,11.157 -59.938,-0.372 -108.713,-16.603 -141.822,-31.784 -8.218,-3.768 -6.898,-15.967 1.941,-17.829 21.801,-4.593 50.498,-14.324 78.883,-35.28 17.931,-13.238 31.574,-27.883 41.856,-41.597 -21.794,-41.504 -34.152,-88.793 -34.152,-138.992 0,-29.952 4.412,-58.865 12.586,-86.137 12.54,27.79 25.699,46.391 29.916,52.184 27.229,37.41 56.015,56.883 98.542,85.651 31.328,21.193 74.856,46.047 199.916,97.449 0,0 39.121,11.017 91.587,42.212 20.912,12.433 36.823,24.17 41.863,42.526 0.355,1.293 0.677,2.57 0.973,3.83 C 129.175,-22.506 67.208,0 0,0"
|
||||
style="fill:#262523;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path32" />
|
||||
</g>
|
||||
<g
|
||||
id="g34"
|
||||
transform="translate(446.5563,646.8041)">
|
||||
<path
|
||||
d="m 0,0 c 10.875,-19.229 -10.891,-52.305 -48.616,-73.879 -37.725,-21.573 -77.124,-23.474 -88,-4.245 -10.875,19.229 10.891,52.305 48.617,73.879 C -50.274,17.328 -10.875,19.229 0,0"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
id="path36" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
aria-label="Orca"
|
||||
id="text835"
|
||||
style="font-size:31.8474px;fill:#f9f9f9;fill-opacity:0.8;fill-rule:evenodd;stroke:#1a1a1a;stroke-width:1.19308"
|
||||
transform="translate(160.2713,346.81659)">
|
||||
<path
|
||||
d="m 246.33548,105.05624 q -3.12104,0 -5.47775,-0.95542 -2.32486,-0.95542 -3.6943,-2.86626 -1.33759,-1.942695 -1.46498,-4.777114 -0.0319,-1.305744 -0.0319,-2.770724 0,-1.46498 0.0319,-2.834419 0.12739,-2.802571 1.46498,-4.745262 1.33759,-1.942692 3.6943,-2.961809 2.35671,-1.019116 5.47775,-1.019116 3.12105,0 5.47775,1.019116 2.35671,1.019117 3.6943,2.961809 1.36944,1.942691 1.46498,4.745262 0.0637,1.369439 0.0637,2.834419 0,1.46498 -0.0637,2.770724 -0.12739,2.834419 -1.49683,4.777114 -1.33759,1.91084 -3.69429,2.86626 -2.32486,0.95542 -5.44591,0.95542 z m 0,-6.210239 q 1.05096,0 1.68791,-0.605101 0.63695,-0.636948 0.6688,-1.974538 0.0637,-1.369439 0.0637,-2.70703 0,-1.33759 -0.0637,-2.643334 -0.0319,-0.891727 -0.35032,-1.46498 -0.28663,-0.573253 -0.79619,-0.828033 -0.50956,-0.286626 -1.2102,-0.286626 -0.66879,0 -1.2102,0.286626 -0.50956,0.25478 -0.82803,0.828033 -0.28663,0.573253 -0.31848,1.46498 -0.0318,1.305744 -0.0318,2.643334 0,1.337591 0.0318,2.70703 0.0637,1.33759 0.6688,1.974538 0.63695,0.605101 1.68791,0.605101 z"
|
||||
style="font-weight:900;font-family:Rubik;-inkscape-font-specification:'Rubik Heavy';text-align:center;text-anchor:middle"
|
||||
id="path926" />
|
||||
<path
|
||||
d="m 260.4439,104.73777 q -0.35032,0 -0.6051,-0.25478 -0.25478,-0.25478 -0.25478,-0.6051 V 89.037002 q 0,-0.350322 0.25478,-0.605101 0.25478,-0.254779 0.6051,-0.254779 h 5.57329 q 0.35032,0 0.6051,0.254779 0.25478,0.254779 0.25478,0.605101 v 1.114659 q 1.01912,-0.891728 2.26117,-1.433133 1.27389,-0.541406 2.70703,-0.541406 h 1.52867 q 0.35032,0 0.6051,0.254779 0.25478,0.254779 0.25478,0.605101 v 4.968194 q 0,0.350321 -0.25478,0.605101 -0.25478,0.254779 -0.6051,0.254779 h -4.10831 q -0.95542,0 -1.43313,0.477711 -0.47772,0.477711 -0.47772,1.433133 v 7.10197 q 0,0.35032 -0.25477,0.6051 -0.25478,0.25478 -0.60511,0.25478 z"
|
||||
style="font-weight:900;font-family:Rubik;-inkscape-font-specification:'Rubik Heavy';text-align:center;text-anchor:middle"
|
||||
id="path928" />
|
||||
<path
|
||||
d="m 284.52052,105.05624 q -2.4204,0 -4.39494,-0.82803 -1.97454,-0.85988 -3.18474,-2.4841 -1.2102,-1.62421 -1.33759,-3.980921 -0.0319,-0.509558 -0.0319,-1.273896 0,-0.764337 0.0319,-1.305743 0.12739,-2.356708 1.30574,-3.980925 1.2102,-1.656065 3.18474,-2.484097 2.00639,-0.85988 4.42679,-0.85988 2.51595,0 4.26755,0.73249 1.78346,0.700643 2.86627,1.751607 1.11466,1.019117 1.62422,2.038234 0.5414,1.019116 0.57325,1.656064 0.0319,0.350322 -0.25478,0.605101 -0.25478,0.254779 -0.6051,0.254779 h -6.21024 q -0.35033,0 -0.57326,-0.159237 -0.19108,-0.191084 -0.35032,-0.477711 -0.22293,-0.445863 -0.47771,-0.700643 -0.22293,-0.254779 -0.70064,-0.254779 -0.73249,0 -0.98727,0.541406 -0.25478,0.541406 -0.28663,1.496828 -0.0319,1.369438 0,2.261165 0.0637,1.019117 0.28663,1.528676 0.25478,0.477711 0.98727,0.477711 0.57325,0 0.76434,-0.25478 0.22293,-0.254779 0.41401,-0.700642 0.12739,-0.286627 0.35032,-0.445864 0.22293,-0.191084 0.57326,-0.191084 h 6.21024 q 0.35032,0 0.6051,0.254779 0.28663,0.254779 0.25478,0.6051 -0.0319,0.414017 -0.35032,1.178352 -0.28663,0.73249 -0.95542,1.59237 -0.63695,0.85988 -1.71976,1.65607 -1.08282,0.76433 -2.64334,1.27389 -1.56052,0.47771 -3.66245,0.47771 z"
|
||||
style="font-weight:900;font-family:Rubik;-inkscape-font-specification:'Rubik Heavy';text-align:center;text-anchor:middle"
|
||||
id="path930" />
|
||||
<path
|
||||
d="m 301.1767,105.05624 q -1.8153,0 -3.21659,-0.66879 -1.40128,-0.6688 -2.19747,-1.8153 -0.76433,-1.14651 -0.76433,-2.579643 0,-2.32486 1.87899,-3.630603 1.91085,-1.337591 5.09559,-1.878997 l 3.37582,-0.541406 v -0.03185 q 0,-0.828033 -0.15924,-1.210201 -0.12738,-0.382169 -0.79618,-0.382169 -0.44586,0 -0.73249,0.191084 -0.25478,0.159237 -0.57325,0.477711 -0.35033,0.350322 -0.89173,0.350322 h -5.41406 q -0.31847,0 -0.5414,-0.191085 -0.19109,-0.191084 -0.15924,-0.509558 0.0319,-0.605101 0.50956,-1.401286 0.47771,-0.828032 1.46498,-1.59237 1.01911,-0.764337 2.57964,-1.273896 1.59237,-0.509558 3.82168,-0.509558 2.16563,0 3.758,0.477711 1.62422,0.445863 2.67518,1.337591 1.05096,0.859879 1.56052,2.165623 0.54141,1.273896 0.54141,2.898113 v 9.140207 q 0,0.35032 -0.25478,0.6051 -0.25478,0.25478 -0.6051,0.25478 h -5.5733 q -0.35032,0 -0.6051,-0.25478 -0.25478,-0.25478 -0.25478,-0.6051 v -0.89173 q -0.44586,0.63695 -1.1465,1.11466 -0.6688,0.44587 -1.52868,0.70064 -0.85988,0.25478 -1.84715,0.25478 z m 2.19747,-4.71341 q 0.63695,0 1.08281,-0.25478 0.47772,-0.25478 0.73249,-0.796185 0.25478,-0.573254 0.25478,-1.401286 v -0.03185 l -1.87899,0.414016 q -0.82804,0.191084 -1.11466,0.509558 -0.28663,0.318474 -0.28663,0.668796 0,0.222931 0.12739,0.445863 0.15924,0.191088 0.41402,0.318478 0.28662,0.12739 0.66879,0.12739 z"
|
||||
style="font-weight:900;font-family:Rubik;-inkscape-font-specification:'Rubik Heavy';text-align:center;text-anchor:middle"
|
||||
id="path932" />
|
||||
</g>
|
||||
<g
|
||||
aria-label="Slicer"
|
||||
id="text1443"
|
||||
style="font-size:22.8809px;text-align:center;text-anchor:middle;fill:#f9f9f9;fill-opacity:0.8;stroke:#1a1a1a;stroke-width:0.857176"
|
||||
transform="translate(160.2713,346.81659)">
|
||||
<path
|
||||
d="m 244.8391,127.60037 q -2.53978,0 -4.18721,-0.68643 -1.64742,-0.68643 -2.47113,-1.80759 -0.82372,-1.12116 -0.86948,-2.37961 0,-0.20593 0.13729,-0.34322 0.16016,-0.16016 0.36609,-0.16016 h 4.34737 q 0.3661,0 0.54914,0.1144 0.20593,0.0915 0.43474,0.27457 0.22881,0.16017 0.45762,0.29745 0.25169,0.11441 0.54914,0.18305 0.32033,0.0458 0.68643,0.0458 0.77795,0 1.23557,-0.16016 0.48049,-0.18305 0.48049,-0.4805 0,-0.27457 -0.27457,-0.45762 -0.25169,-0.18305 -0.89235,-0.32033 -0.64067,-0.16017 -1.78471,-0.29745 -1.80759,-0.25169 -3.13468,-0.8466 -1.3271,-0.5949 -2.05929,-1.62454 -0.7093,-1.05252 -0.7093,-2.56266 0,-1.5559 0.86947,-2.74571 0.89236,-1.18981 2.44826,-1.85335 1.57878,-0.66355 3.66094,-0.66355 1.71607,0 3.04316,0.45762 1.32709,0.43474 2.24233,1.16692 0.91523,0.70931 1.39573,1.53302 0.4805,0.82372 0.50338,1.57879 0,0.20592 -0.16016,0.36609 -0.13729,0.13729 -0.32034,0.13729 h -4.57618 q -0.32033,0 -0.52626,-0.0915 -0.18304,-0.0915 -0.38897,-0.27457 -0.11441,-0.1144 -0.43474,-0.25169 -0.29745,-0.16016 -0.77795,-0.16016 -0.57202,0 -0.84659,0.18304 -0.25169,0.16017 -0.25169,0.45762 0,0.20593 0.20593,0.38898 0.20592,0.18304 0.75507,0.32033 0.54914,0.13728 1.57878,0.27457 2.28809,0.27457 3.66094,0.89235 1.39574,0.59491 2.01352,1.60167 0.64067,1.00676 0.64067,2.49402 0,1.6703 -1.00676,2.88299 -0.98388,1.21269 -2.69995,1.87623 -1.71607,0.64067 -3.88975,0.64067 z"
|
||||
style="font-weight:900;font-family:Rubik;-inkscape-font-specification:'Rubik Heavy'"
|
||||
id="path935" />
|
||||
<path
|
||||
d="m 254.49485,127.37156 q -0.25169,0 -0.43474,-0.18305 -0.18305,-0.18305 -0.18305,-0.43474 V 111.7439 q 0,-0.25169 0.18305,-0.43473 0.18305,-0.18305 0.43474,-0.18305 h 4.09568 q 0.25169,0 0.43474,0.18305 0.18304,0.18304 0.18304,0.43473 v 15.00987 q 0,0.25169 -0.18304,0.43474 -0.18305,0.18305 -0.43474,0.18305 z"
|
||||
style="font-weight:900;font-family:Rubik;-inkscape-font-specification:'Rubik Heavy'"
|
||||
id="path937" />
|
||||
<path
|
||||
d="m 263.12097,127.37156 q -0.25169,0 -0.43474,-0.18305 -0.18305,-0.18305 -0.18305,-0.43474 v -10.66249 q 0,-0.25169 0.18305,-0.43474 0.18305,-0.18305 0.43474,-0.18305 h 4.09568 q 0.25169,0 0.43473,0.18305 0.18305,0.18305 0.18305,0.43474 v 10.66249 q 0,0.25169 -0.18305,0.43474 -0.18304,0.18305 -0.43473,0.18305 z m 0.1144,-13.15652 q -0.25169,0 -0.43474,-0.18305 -0.18304,-0.18304 -0.18304,-0.43473 v -2.76859 q 0,-0.25169 0.18304,-0.43474 0.18305,-0.18305 0.43474,-0.18305 h 3.86687 q 0.25169,0 0.43474,0.18305 0.18305,0.18305 0.18305,0.43474 v 2.76859 q 0,0.25169 -0.18305,0.43473 -0.18305,0.18305 -0.43474,0.18305 z"
|
||||
style="font-weight:900;font-family:Rubik;-inkscape-font-specification:'Rubik Heavy'"
|
||||
id="path939" />
|
||||
<path
|
||||
d="m 276.14018,127.60037 q -1.73895,0 -3.15756,-0.59491 -1.41862,-0.61778 -2.28809,-1.78471 -0.86948,-1.16692 -0.961,-2.86011 -0.0229,-0.36609 -0.0229,-0.91523 0,-0.54915 0.0229,-0.93812 0.0915,-1.69319 0.93812,-2.86011 0.86947,-1.18981 2.28809,-1.78471 1.44149,-0.61779 3.18044,-0.61779 1.80759,0 3.06604,0.52626 1.28133,0.50338 2.05928,1.25845 0.80084,0.73219 1.16693,1.46438 0.38897,0.73219 0.41186,1.18981 0.0229,0.25169 -0.18305,0.43473 -0.18305,0.18305 -0.43474,0.18305 h -4.46177 q -0.25169,0 -0.41186,-0.1144 -0.13729,-0.13729 -0.25169,-0.34322 -0.16017,-0.32033 -0.34321,-0.50338 -0.16017,-0.18304 -0.50338,-0.18304 -0.52626,0 -0.70931,0.38897 -0.18305,0.38898 -0.20593,1.0754 -0.0229,0.98388 0,1.62455 0.0458,0.73219 0.20593,1.09828 0.18305,0.34321 0.70931,0.34321 0.41185,0 0.54914,-0.18304 0.16016,-0.18305 0.29745,-0.50338 0.0915,-0.20593 0.25169,-0.32034 0.16017,-0.13728 0.41186,-0.13728 h 4.46177 q 0.25169,0 0.43474,0.18305 0.20593,0.18304 0.18305,0.43473 -0.0229,0.29746 -0.25169,0.8466 -0.20593,0.52626 -0.68643,1.14404 -0.45762,0.61779 -1.23557,1.18981 -0.77795,0.54914 -1.89911,0.91523 -1.12117,0.34322 -2.63131,0.34322 z"
|
||||
style="font-weight:900;font-family:Rubik;-inkscape-font-specification:'Rubik Heavy'"
|
||||
id="path941" />
|
||||
<path
|
||||
d="m 290.46362,127.60037 q -2.9974,0 -4.78211,-1.46438 -1.76183,-1.48726 -1.76183,-4.69058 0,-0.0458 0,-0.0915 0,-0.0458 0,-0.0686 0.0458,-1.96776 0.8466,-3.31773 0.82371,-1.34997 2.26521,-2.0364 1.46437,-0.68643 3.40925,-0.68643 2.24233,0 3.68382,0.86948 1.4415,0.84659 2.12793,2.26521 0.70931,1.39573 0.70931,3.08892 v 0.68642 q 0,0.25169 -0.18305,0.43474 -0.18305,0.18305 -0.43474,0.18305 h -6.81851 q 0,0.0229 0,0.0458 0,0.0229 0,0.0686 0,0.45762 0.0686,0.77795 0.0915,0.29746 0.29745,0.45762 0.20593,0.16017 0.52626,0.16017 0.13728,0 0.22881,-0.0458 0.1144,-0.0458 0.20593,-0.13729 0.1144,-0.1144 0.2288,-0.22881 0.20593,-0.20593 0.34322,-0.25169 0.13728,-0.0686 0.41185,-0.0686 h 4.32449 q 0.22881,0 0.3661,0.13728 0.16016,0.13729 0.13728,0.3661 -0.0229,0.43474 -0.41185,1.05252 -0.3661,0.5949 -1.12117,1.16693 -0.75507,0.57202 -1.92199,0.96099 -1.16693,0.3661 -2.74571,0.3661 z m -0.93812,-7.68798 h 1.83048 v -0.0229 q 0,-0.50338 -0.11441,-0.82372 -0.0915,-0.32033 -0.29745,-0.45762 -0.20593,-0.16016 -0.50338,-0.16016 -0.29745,0 -0.50338,0.16016 -0.20593,0.13729 -0.32033,0.45762 -0.0915,0.32034 -0.0915,0.82372 z"
|
||||
style="font-weight:900;font-family:Rubik;-inkscape-font-specification:'Rubik Heavy'"
|
||||
id="path943" />
|
||||
<path
|
||||
d="m 299.18123,127.37156 q -0.25169,0 -0.43474,-0.18305 -0.18305,-0.18305 -0.18305,-0.43474 v -10.66249 q 0,-0.25169 0.18305,-0.43474 0.18305,-0.18305 0.43474,-0.18305 h 4.00415 q 0.25169,0 0.43474,0.18305 0.18305,0.18305 0.18305,0.43474 v 0.80083 q 0.73219,-0.64067 1.62454,-1.02964 0.91524,-0.38898 1.94488,-0.38898 h 1.09828 q 0.25169,0 0.43474,0.18305 0.18305,0.18305 0.18305,0.43474 v 3.56942 q 0,0.25169 -0.18305,0.43473 -0.18305,0.18305 -0.43474,0.18305 h -2.95163 q -0.68643,0 -1.02965,0.34321 -0.34321,0.34322 -0.34321,1.02964 v 5.10244 q 0,0.25169 -0.18305,0.43474 -0.18304,0.18305 -0.43473,0.18305 z"
|
||||
style="font-weight:900;font-family:Rubik;-inkscape-font-specification:'Rubik Heavy'"
|
||||
id="path945" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 15 KiB |
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"type": "process",
|
||||
"setting_id": "GP004",
|
||||
"name": "0.08mm Extra Fine @MyRRF",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_process_rrf_common",
|
||||
"layer_height": "0.08",
|
||||
"bottom_shell_layers": "7",
|
||||
"top_shell_layers": "9"
|
||||
}
|
11
resources/profiles/Custom/process/0.12mm Fine @MyRRF.json
Normal file
11
resources/profiles/Custom/process/0.12mm Fine @MyRRF.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"type": "process",
|
||||
"setting_id": "GP004",
|
||||
"name": "0.12mm Fine @MyRRF",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_process_rrf_common",
|
||||
"layer_height": "0.12",
|
||||
"bottom_shell_layers": "5",
|
||||
"top_shell_layers": "6"
|
||||
}
|
11
resources/profiles/Custom/process/0.15mm Optimal @MyRRF.json
Normal file
11
resources/profiles/Custom/process/0.15mm Optimal @MyRRF.json
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"type": "process",
|
||||
"setting_id": "GP004",
|
||||
"name": "0.15mm Optimal @MyRRF",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_process_rrf_common",
|
||||
"bottom_shell_layers": "4",
|
||||
"top_shell_layers": "5",
|
||||
"layer_height": "0.15"
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"type": "process",
|
||||
"setting_id": "GP004",
|
||||
"name": "0.20mm Standard @MyRRF",
|
||||
"from": "system",
|
||||
"inherits": "fdm_process_rrf_common",
|
||||
"instantiation": "true",
|
||||
"layer_height": "0.2",
|
||||
"bottom_shell_layers": "3",
|
||||
"top_shell_layers": "4"
|
||||
}
|
12
resources/profiles/Custom/process/0.24mm Draft @MyRRF.json
Normal file
12
resources/profiles/Custom/process/0.24mm Draft @MyRRF.json
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"type": "process",
|
||||
"setting_id": "GP004",
|
||||
"name": "0.24mm Draft @MyRRF",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_process_rrf_common",
|
||||
"layer_height": "0.24",
|
||||
"top_surface_line_width": "0.45",
|
||||
"bottom_shell_layers": "3",
|
||||
"top_shell_layers": "4"
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"type": "process",
|
||||
"setting_id": "GP004",
|
||||
"name": "0.28mm Extra Draft @MyRRF",
|
||||
"from": "system",
|
||||
"instantiation": "true",
|
||||
"inherits": "fdm_process_rrf_common",
|
||||
"layer_height": "0.28",
|
||||
"top_surface_line_width": "0.45",
|
||||
"bottom_shell_layers": "3",
|
||||
"top_shell_layers": "4"
|
||||
}
|
109
resources/profiles/Custom/process/fdm_process_rrf_common.json
Normal file
109
resources/profiles/Custom/process/fdm_process_rrf_common.json
Normal file
|
@ -0,0 +1,109 @@
|
|||
{
|
||||
"type": "process",
|
||||
"name": "fdm_process_rrf_common",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"inherits": "fdm_process_common",
|
||||
"adaptive_layer_height": "0",
|
||||
"reduce_crossing_wall": "0",
|
||||
"max_travel_detour_distance": "0",
|
||||
"bottom_surface_pattern": "monotonic",
|
||||
"bottom_shell_layers": "3",
|
||||
"bottom_shell_thickness": "0",
|
||||
"bridge_flow": "0.95",
|
||||
"bridge_speed": "50",
|
||||
"brim_width": "5",
|
||||
"brim_object_gap": "0.1",
|
||||
"compatible_printers_condition": "",
|
||||
"print_sequence": "by layer",
|
||||
"default_acceleration": "5000",
|
||||
"top_surface_acceleration": "3000",
|
||||
"travel_acceleration": "7000",
|
||||
"inner_wall_acceleration": "5000",
|
||||
"outer_wall_acceleration": "3000",
|
||||
"bridge_no_support": "0",
|
||||
"draft_shield": "disabled",
|
||||
"elefant_foot_compensation": "0",
|
||||
"outer_wall_line_width": "0.4",
|
||||
"wall_infill_order": "inner wall/outer wall/infill",
|
||||
"line_width": "0.4",
|
||||
"infill_direction": "45",
|
||||
"sparse_infill_density": "15%",
|
||||
"sparse_infill_pattern": "grid",
|
||||
"initial_layer_acceleration": "500",
|
||||
"initial_layer_line_width": "0.5",
|
||||
"initial_layer_print_height": "0.2",
|
||||
"infill_combination": "0",
|
||||
"sparse_infill_line_width": "0.45",
|
||||
"infill_wall_overlap": "25%",
|
||||
"interface_shells": "0",
|
||||
"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[initial_tool]}_{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",
|
||||
"inner_wall_line_width": "0.45",
|
||||
"wall_loops": "3",
|
||||
"print_settings_id": "",
|
||||
"raft_layers": "0",
|
||||
"seam_position": "aligned",
|
||||
"skirt_distance": "2",
|
||||
"skirt_height": "1",
|
||||
"skirt_loops": "0",
|
||||
"minimum_sparse_infill_area": "15",
|
||||
"internal_solid_infill_line_width": "0.4",
|
||||
"spiral_mode": "0",
|
||||
"standby_temperature_delta": "-5",
|
||||
"enable_support": "0",
|
||||
"resolution": "0.012",
|
||||
"support_type": "normal(auto)",
|
||||
"support_style": "default",
|
||||
"support_on_build_plate_only": "0",
|
||||
"support_top_z_distance": "0.2",
|
||||
"support_filament": "0",
|
||||
"support_line_width": "0.4",
|
||||
"support_interface_loop_pattern": "0",
|
||||
"support_interface_filament": "0",
|
||||
"support_interface_top_layers": "2",
|
||||
"support_interface_bottom_layers": "2",
|
||||
"support_interface_spacing": "0.5",
|
||||
"support_interface_speed": "80",
|
||||
"support_base_pattern": "rectilinear",
|
||||
"support_base_pattern_spacing": "2.5",
|
||||
"support_speed": "150",
|
||||
"support_threshold_angle": "30",
|
||||
"support_object_xy_distance": "0.35",
|
||||
"tree_support_branch_angle": "45",
|
||||
"tree_support_wall_count": "0",
|
||||
"detect_thin_wall": "0",
|
||||
"top_surface_pattern": "monotonic",
|
||||
"top_surface_line_width": "0.4",
|
||||
"top_shell_layers": "3",
|
||||
"top_shell_thickness": "0.8",
|
||||
"initial_layer_speed": "50",
|
||||
"initial_layer_infill_speed": "105",
|
||||
"outer_wall_speed": "120",
|
||||
"inner_wall_speed": "200",
|
||||
"internal_solid_infill_speed": "200",
|
||||
"top_surface_speed": "100",
|
||||
"gap_infill_speed": "100",
|
||||
"sparse_infill_speed": "200",
|
||||
"travel_speed": "350",
|
||||
"enable_prime_tower": "0",
|
||||
"wipe_tower_no_sparse_layers": "0",
|
||||
"prime_tower_width": "60",
|
||||
"xy_hole_compensation": "0",
|
||||
"xy_contour_compensation": "0",
|
||||
"enable_arc_fitting": "0",
|
||||
"compatible_printers": [
|
||||
"MyRRF 0.4 nozzle"
|
||||
],
|
||||
"exclude_object": "1"
|
||||
}
|
|
@ -19,7 +19,7 @@
|
|||
<script type="text/javascript" src="js/home.js"></script>
|
||||
</head>
|
||||
<body class="ZScrol" onLoad="OnInit()">
|
||||
<div id="LeftBoard">
|
||||
<div id="LeftBoard" style="display: none;">
|
||||
<div id="LoginArea">
|
||||
<div id="Login1">
|
||||
<div id="Icon1"><img id="BBLIcon" src="../image/logo2.png" /></div>
|
||||
|
|
|
@ -80,61 +80,53 @@ function Set_RecentFile_MouseRightBtn_Event()
|
|||
|
||||
}
|
||||
|
||||
function SetLoginPanelVisibility(visible) {
|
||||
var leftBoard = document.getElementById("LeftBoard");
|
||||
if (visible) {
|
||||
leftBoard.style.display = "block";
|
||||
} else {
|
||||
leftBoard.style.display = "none";
|
||||
}
|
||||
}
|
||||
|
||||
function HandleStudio( pVal )
|
||||
{
|
||||
let strCmd = pVal['command'];
|
||||
|
||||
if(strCmd=='get_recent_projects')
|
||||
{
|
||||
ShowRecentFileList(pVal['response']);
|
||||
}
|
||||
else if(strCmd=='studio_userlogin')
|
||||
{
|
||||
SetLoginInfo(pVal['data']['avatar'],pVal['data']['name']);
|
||||
}
|
||||
else if(strCmd=='studio_useroffline')
|
||||
{
|
||||
if (strCmd == "get_recent_projects") {
|
||||
ShowRecentFileList(pVal["response"]);
|
||||
} else if (strCmd == "studio_userlogin") {
|
||||
SetLoginInfo(pVal["data"]["avatar"], pVal["data"]["name"]);
|
||||
} else if (strCmd == "studio_useroffline") {
|
||||
SetUserOffline();
|
||||
}
|
||||
else if( strCmd=="studio_set_mallurl" )
|
||||
{
|
||||
SetMallUrl( pVal['data']['url'] );
|
||||
}
|
||||
else if( strCmd=="studio_clickmenu" )
|
||||
{
|
||||
let strName=pVal['data']['menu'];
|
||||
} else if (strCmd == "studio_set_mallurl") {
|
||||
SetMallUrl(pVal["data"]["url"]);
|
||||
} else if (strCmd == "studio_clickmenu") {
|
||||
let strName = pVal["data"]["menu"];
|
||||
|
||||
GotoMenu(strName);
|
||||
}
|
||||
else if( strCmd=="network_plugin_installtip" )
|
||||
{
|
||||
let nShow=pVal["show"]*1;
|
||||
} else if (strCmd == "network_plugin_installtip") {
|
||||
let nShow = pVal["show"] * 1;
|
||||
|
||||
if(nShow==1)
|
||||
{
|
||||
if (nShow == 1) {
|
||||
$("#NoPluginTip").show();
|
||||
$("#NoPluginTip").css("display","flex");
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#NoPluginTip").css("display", "flex");
|
||||
} else {
|
||||
$("#NoPluginTip").hide();
|
||||
}
|
||||
}
|
||||
else if( strCmd=="modelmall_model_advise_get")
|
||||
{
|
||||
} else if (strCmd == "modelmall_model_advise_get") {
|
||||
//alert('hot');
|
||||
if( m_HotModelList!=null )
|
||||
{
|
||||
let SS1=JSON.stringify(pVal['hits']);
|
||||
let SS2=JSON.stringify(m_HotModelList);
|
||||
if (m_HotModelList != null) {
|
||||
let SS1 = JSON.stringify(pVal["hits"]);
|
||||
let SS2 = JSON.stringify(m_HotModelList);
|
||||
|
||||
if( SS1==SS2 )
|
||||
return;
|
||||
if (SS1 == SS2) return;
|
||||
}
|
||||
|
||||
m_HotModelList=pVal['hits'];
|
||||
ShowStaffPick( m_HotModelList );
|
||||
m_HotModelList = pVal["hits"];
|
||||
ShowStaffPick(m_HotModelList);
|
||||
} else if (data.cmd === "SetLoginPanelVisibility") {
|
||||
SetLoginPanelVisibility(data.visible);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1434,7 +1434,7 @@ int GUI_App::install_plugin(std::string name, std::string package_name, InstallP
|
|||
if (pro_fn)
|
||||
pro_fn(InstallStatusInstallCompleted, 100, cancel);
|
||||
if (name == "plugins")
|
||||
app_config->set_str("app", "installed_networking", "1");
|
||||
app_config->set_bool("installed_networking", true);
|
||||
BOOST_LOG_TRIVIAL(info) << "[install_plugin] success";
|
||||
return 0;
|
||||
}
|
||||
|
@ -2616,6 +2616,11 @@ void GUI_App::copy_network_if_available()
|
|||
|
||||
bool GUI_App::on_init_network(bool try_backup)
|
||||
{
|
||||
auto should_load_networking_plugin = app_config->get_bool("installed_networking");
|
||||
if(!should_load_networking_plugin) {
|
||||
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "Don't load plugin as installed_networking is false";
|
||||
return false;
|
||||
}
|
||||
int load_agent_dll = Slic3r::NetworkAgent::initialize_network_module();
|
||||
bool create_network_agent = false;
|
||||
__retry:
|
||||
|
@ -2627,7 +2632,7 @@ __retry:
|
|||
if (!bambu_source) {
|
||||
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": can not get bambu source module!";
|
||||
m_networking_compatible = false;
|
||||
if (app_config->get("installed_networking") == "1") {
|
||||
if (should_load_networking_plugin) {
|
||||
m_networking_need_update = true;
|
||||
}
|
||||
}
|
||||
|
@ -2642,13 +2647,13 @@ __retry:
|
|||
goto __retry;
|
||||
}
|
||||
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": on_init_network, version dismatch, need upload network module";
|
||||
if (app_config->get("installed_networking") == "1") {
|
||||
if (should_load_networking_plugin) {
|
||||
m_networking_need_update = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": on_init_network, load dll failed";
|
||||
if (app_config->get("installed_networking") == "1") {
|
||||
if (should_load_networking_plugin) {
|
||||
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": on_init_network, need upload network module";
|
||||
m_networking_need_update = true;
|
||||
}
|
||||
|
@ -3210,7 +3215,7 @@ void GUI_App::ShowUserGuide() {
|
|||
GuideFrame GuideDlg(this);
|
||||
//if (GuideDlg.IsFirstUse())
|
||||
res = GuideDlg.run();
|
||||
if (res) {
|
||||
if (res) {
|
||||
load_current_presets();
|
||||
update_publish_status();
|
||||
// BBS: remove SLA related message
|
||||
|
@ -3462,6 +3467,7 @@ void GUI_App::get_login_info()
|
|||
wxString strJS = wxString::Format("window.postMessage(%s)", logout_cmd);
|
||||
GUI::wxGetApp().run_script(strJS);
|
||||
}
|
||||
mainframe->m_webview->SetLoginPanelVisibility(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -989,30 +989,6 @@ void MainFrame::init_tabpanel() {
|
|||
m_tabpanel->Hide();
|
||||
m_settings_dialog.set_tabpanel(m_tabpanel);
|
||||
|
||||
m_tabpanel->Bind(wxEVT_NOTEBOOK_PAGE_CHANGING, [this](wxBookCtrlEvent &e) {
|
||||
int old_sel = e.GetOldSelection();
|
||||
int new_sel = e.GetSelection();
|
||||
if (wxGetApp().preset_bundle && wxGetApp().preset_bundle->is_bbl_vendor() && new_sel == tpMonitor) {
|
||||
if (!wxGetApp().getAgent()) {
|
||||
e.Veto();
|
||||
BOOST_LOG_TRIVIAL(info) << boost::format("skipped tab switch from %1% to %2%, lack of network plugins") % old_sel % new_sel;
|
||||
if (m_plater) {
|
||||
wxCommandEvent *evt = new wxCommandEvent(EVT_INSTALL_PLUGIN_HINT);
|
||||
wxQueueEvent(m_plater, evt);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (new_sel == tpMonitor && wxGetApp().preset_bundle != nullptr) {
|
||||
auto cfg = wxGetApp().preset_bundle->printers.get_edited_preset().config;
|
||||
wxString url = cfg.opt_string("print_host_webui").empty() ? cfg.opt_string("print_host") : cfg.opt_string("print_host_webui");
|
||||
if (url.empty()) {
|
||||
wxString url = wxString::Format("file://%s/web/orca/missing_connection.html", from_u8(resources_dir()));
|
||||
m_printer_view->load_url(url);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
#ifdef __WXMSW__
|
||||
m_tabpanel->Bind(wxEVT_BOOKCTRL_PAGE_CHANGED, [this](wxBookCtrlEvent& e) {
|
||||
#else
|
||||
|
|
|
@ -93,7 +93,7 @@ wxBoxSizer* NetworkTestDialog::create_info_sizer(wxWindow* parent)
|
|||
sizer->Add(text_basic_info, 0, wxALL, 5);
|
||||
|
||||
wxBoxSizer* version_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||
text_version_title = new wxStaticText(this, wxID_ANY, _L("Studio Version:"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_version_title = new wxStaticText(this, wxID_ANY, _L("OrcaSlicer Version:"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_version_title->Wrap(-1);
|
||||
version_sizer->Add(text_version_title, 0, wxALL, 5);
|
||||
|
||||
|
@ -139,11 +139,11 @@ wxBoxSizer* NetworkTestDialog::create_content_sizer(wxWindow* parent)
|
|||
grid_sizer->SetNonFlexibleGrowMode(wxFLEX_GROWMODE_SPECIFIED);
|
||||
|
||||
StateColor btn_bg(std::pair<wxColour, int>(wxColour(0, 137, 123), StateColor::Pressed),std::pair<wxColour, int>(wxColour(38, 166, 154), StateColor::Hovered), std::pair<wxColour, int>(wxColour(255,255,255), StateColor::Enabled));
|
||||
btn_link = new Button(this, _L("Test BambuLab"));
|
||||
btn_link = new Button(this, _L("Test OrcaSlicer(GitHub)"));
|
||||
btn_link->SetBackgroundColor(btn_bg);
|
||||
grid_sizer->Add(btn_link, 0, wxEXPAND | wxALL, 5);
|
||||
|
||||
text_link_title = new wxStaticText(this, wxID_ANY, _L("Test BambuLab:"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_link_title = new wxStaticText(this, wxID_ANY, _L("Test OrcaSlicer(GitHub):"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_link_title->Wrap(-1);
|
||||
grid_sizer->Add(text_link_title, 0, wxALIGN_RIGHT | wxALL, 5);
|
||||
|
||||
|
@ -163,114 +163,16 @@ wxBoxSizer* NetworkTestDialog::create_content_sizer(wxWindow* parent)
|
|||
text_bing_val = new wxStaticText(this, wxID_ANY, _L("N/A"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_bing_val->Wrap(-1);
|
||||
grid_sizer->Add(text_bing_val, 0, wxALL, 5);
|
||||
|
||||
btn_iot = new Button(this, _L("Test HTTP"));
|
||||
btn_iot->SetBackgroundColor(btn_bg);
|
||||
grid_sizer->Add(btn_iot, 0, wxEXPAND | wxALL, 5);
|
||||
|
||||
text_iot_title = new wxStaticText(this, wxID_ANY, _L("Test HTTP Service:"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_iot_title->Wrap(-1);
|
||||
grid_sizer->Add(text_iot_title, 0, wxALIGN_RIGHT | wxALL, 5);
|
||||
|
||||
text_iot_value = new wxStaticText(this, wxID_ANY, _L("N/A"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_iot_value->Wrap(-1);
|
||||
grid_sizer->Add(text_iot_value, 0, wxALL, 5);
|
||||
|
||||
btn_oss = new Button(this, _L("Test storage"));
|
||||
btn_oss->SetBackgroundColor(btn_bg);
|
||||
grid_sizer->Add(btn_oss, 0, wxEXPAND | wxALL, 5);
|
||||
|
||||
text_oss_title = new wxStaticText(this, wxID_ANY, _L("Test Storage Upload:"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_oss_title->Wrap(-1);
|
||||
grid_sizer->Add(text_oss_title, 0, wxALIGN_RIGHT | wxALL, 5);
|
||||
|
||||
text_oss_value = new wxStaticText(this, wxID_ANY, _L("N/A"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_oss_value->Wrap(-1);
|
||||
grid_sizer->Add(text_oss_value, 0, wxALL, 5);
|
||||
|
||||
btn_oss_upgrade = new Button(this, _L("Test storage upgrade"));
|
||||
btn_oss_upgrade->SetBackgroundColor(btn_bg);
|
||||
grid_sizer->Add(btn_oss_upgrade, 0, wxEXPAND | wxALL, 5);
|
||||
|
||||
text_oss_upgrade_title = new wxStaticText(this, wxID_ANY, _L("Test Storage Upgrade:"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_oss_upgrade_title->Wrap(-1);
|
||||
grid_sizer->Add(text_oss_upgrade_title, 0, wxALIGN_RIGHT | wxALL, 5);
|
||||
|
||||
text_oss_upgrade_value = new wxStaticText(this, wxID_ANY, _L("N/A"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_oss_upgrade_value->Wrap(-1);
|
||||
grid_sizer->Add(text_oss_upgrade_value, 0, wxALL, 5);
|
||||
|
||||
btn_oss_download = new Button(this, _L("Test storage download"));
|
||||
btn_oss_download->SetBackgroundColor(btn_bg);
|
||||
grid_sizer->Add(btn_oss_download, 0, wxEXPAND | wxALL, 5);
|
||||
|
||||
text_oss_download_title = new wxStaticText(this, wxID_ANY, _L("Test Storage Download:"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_oss_download_title->Wrap(-1);
|
||||
grid_sizer->Add(text_oss_download_title, 0, wxALIGN_RIGHT | wxALL, 5);
|
||||
|
||||
text_oss_download_value = new wxStaticText(this, wxID_ANY, _L("N/A"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_oss_download_value->Wrap(-1);
|
||||
grid_sizer->Add(text_oss_download_value, 0, wxALL, 5);
|
||||
|
||||
btn_network_plugin=new Button(this, _L("Test plugin download"));
|
||||
btn_network_plugin->SetBackgroundColor(btn_bg);
|
||||
grid_sizer->Add(btn_network_plugin, 0, wxEXPAND | wxALL, 5);
|
||||
|
||||
text_network_plugin_title=new wxStaticText(this, wxID_ANY, _L("Test Plugin Download:"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_network_plugin_title->Wrap(-1);
|
||||
grid_sizer->Add(text_network_plugin_title, 0, wxALIGN_RIGHT | wxALL, 5);
|
||||
|
||||
text_network_plugin_value=new wxStaticText(this, wxID_ANY, _L("N/A"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_network_plugin_value->Wrap(-1);
|
||||
grid_sizer->Add(text_network_plugin_value, 0, wxALL, 5);
|
||||
|
||||
|
||||
btn_oss_upload = new Button(this, _L("Test Storage Upload"));
|
||||
btn_oss_upload->SetBackgroundColor(btn_bg);
|
||||
grid_sizer->Add(btn_oss_upload, 0, wxEXPAND | wxALL, 5);
|
||||
|
||||
text_oss_upload_title = new wxStaticText(this, wxID_ANY, _L("Test Storage Upload:"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_oss_upload_title->Wrap(-1);
|
||||
grid_sizer->Add(text_oss_upload_title, 0, wxALIGN_RIGHT | wxALL, 5);
|
||||
|
||||
text_oss_upload_value = new wxStaticText(this, wxID_ANY, _L("N/A"), wxDefaultPosition, wxDefaultSize, 0);
|
||||
text_oss_upload_value->Wrap(-1);
|
||||
grid_sizer->Add(text_oss_upload_value, 0, wxALL, 5);
|
||||
|
||||
btn_oss_upload->Hide();
|
||||
text_oss_upload_title->Hide();
|
||||
text_oss_upload_value->Hide();
|
||||
|
||||
sizer->Add(grid_sizer, 1, wxEXPAND, 5);
|
||||
|
||||
btn_link->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
|
||||
start_test_bambulab_thread();
|
||||
start_test_github_thread();
|
||||
});
|
||||
|
||||
btn_bing->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
|
||||
start_test_bing_thread();
|
||||
});
|
||||
|
||||
btn_iot->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
|
||||
start_test_iot_thread();
|
||||
});
|
||||
|
||||
btn_oss->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
|
||||
start_test_oss_thread();
|
||||
});
|
||||
|
||||
btn_oss_upgrade->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
|
||||
start_test_oss_upgrade_thread();
|
||||
});
|
||||
|
||||
btn_oss_download->Bind(wxEVT_BUTTON, [this](wxCommandEvent& evt) {
|
||||
start_test_oss_download_thread();
|
||||
});
|
||||
|
||||
btn_network_plugin->Bind(wxEVT_BUTTON, [this](wxCommandEvent &evt) {
|
||||
start_test_plugin_download_thread();
|
||||
});
|
||||
|
||||
return sizer;
|
||||
}
|
||||
wxBoxSizer* NetworkTestDialog::create_result_sizer(wxWindow* parent)
|
||||
|
@ -293,22 +195,10 @@ NetworkTestDialog::~NetworkTestDialog()
|
|||
void NetworkTestDialog::init_bind()
|
||||
{
|
||||
Bind(EVT_UPDATE_RESULT, [this](wxCommandEvent& evt) {
|
||||
if (evt.GetInt() == TEST_BAMBULAB_JOB) {
|
||||
if (evt.GetInt() == TEST_ORCA_JOB) {
|
||||
text_link_val->SetLabelText(evt.GetString());
|
||||
} else if (evt.GetInt() == TEST_BING_JOB) {
|
||||
text_bing_val->SetLabelText(evt.GetString());
|
||||
} else if (evt.GetInt() == TEST_IOT_JOB) {
|
||||
text_iot_value->SetLabelText(evt.GetString());
|
||||
} else if (evt.GetInt() == TEST_OSS_JOB) {
|
||||
text_oss_value->SetLabelText(evt.GetString());
|
||||
} else if (evt.GetInt() == TEST_OSS_UPGRADE_JOB) {
|
||||
text_oss_upgrade_value->SetLabelText(evt.GetString());
|
||||
} else if (evt.GetInt() == TEST_OSS_DOWNLOAD_JOB) {
|
||||
text_oss_download_value->SetLabelText(evt.GetString());
|
||||
} else if (evt.GetInt() == TEST_OSS_UPLOAD_JOB) {
|
||||
text_oss_upload_value->SetLabelText(evt.GetString());
|
||||
} else if (evt.GetInt() == TEST_PLUGIN_JOB){
|
||||
text_network_plugin_value->SetLabelText(evt.GetString());
|
||||
}
|
||||
|
||||
std::time_t t = std::time(0);
|
||||
|
@ -350,44 +240,33 @@ wxString NetworkTestDialog::get_dns_info()
|
|||
|
||||
void NetworkTestDialog::start_all_job()
|
||||
{
|
||||
start_test_bambulab_thread();
|
||||
start_test_github_thread();
|
||||
start_test_bing_thread();
|
||||
|
||||
start_test_iot_thread();
|
||||
start_test_oss_thread();
|
||||
start_test_oss_upgrade_thread();
|
||||
start_test_oss_download_thread();
|
||||
start_test_plugin_download_thread();
|
||||
start_test_ping_thread();
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_all_job_sequence()
|
||||
{
|
||||
m_sequence_job = new boost::thread([this] {
|
||||
update_status(-1, "start_test_sequence");
|
||||
start_test_bing();
|
||||
start_test_url(TEST_BING_JOB, "Bing", "http://www.bing.com");
|
||||
if (m_closing) return;
|
||||
start_test_bambulab();
|
||||
start_test_url(TEST_ORCA_JOB, "OrcaSlicer(GitHub)", "https://github.com/SoftFever/OrcaSlicer");
|
||||
if (m_closing) return;
|
||||
start_test_oss();
|
||||
if (m_closing) return;
|
||||
start_test_oss_upgrade();
|
||||
if (m_closing) return;
|
||||
start_test_oss_download();
|
||||
if (m_closing) return;
|
||||
start_test_plugin_download();
|
||||
update_status(-1, "end_test_sequence");
|
||||
});
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_bing()
|
||||
void NetworkTestDialog::start_test_url(TestJob job, wxString name, wxString url)
|
||||
{
|
||||
m_in_testing[TEST_BING_JOB] = true;
|
||||
update_status(TEST_BING_JOB, "test bing start...");
|
||||
m_in_testing[job] = true;
|
||||
wxString info = wxString::Format("test %s start...", name);
|
||||
|
||||
std::string url = "http://www.bing.com/";
|
||||
Slic3r::Http http = Slic3r::Http::get(url);
|
||||
update_status(-1, "[test_bing]: url=" + url);
|
||||
update_status(job, info);
|
||||
|
||||
Slic3r::Http http = Slic3r::Http::get(url.ToStdString());
|
||||
info = wxString::Format("[test %s]: url=%s", name,url);
|
||||
|
||||
update_status(-1, info);
|
||||
|
||||
int result = -1;
|
||||
http.timeout_max(10)
|
||||
|
@ -401,477 +280,19 @@ void NetworkTestDialog::start_test_bing()
|
|||
;
|
||||
}
|
||||
})
|
||||
.on_ip_resolve([this](std::string ip) {
|
||||
wxString ip_report = wxString::Format("test bing ip resolved = %s", ip);
|
||||
update_status(TEST_BING_JOB, ip_report);
|
||||
.on_ip_resolve([this,name,job](std::string ip) {
|
||||
wxString ip_report = wxString::Format("test %s ip resolved = %s", name, ip);
|
||||
update_status(job, ip_report);
|
||||
})
|
||||
.on_error([this](std::string body, std::string error, unsigned int status) {
|
||||
.on_error([this,name,job](std::string body, std::string error, unsigned int status) {
|
||||
wxString info = wxString::Format("status=%u, body=%s, error=%s", status, body, error);
|
||||
this->update_status(TEST_BING_JOB, "test bing failed");
|
||||
this->update_status(job, wxString::Format("test %s failed", name));
|
||||
this->update_status(-1, info);
|
||||
}).perform_sync();
|
||||
if (result == 0) {
|
||||
update_status(TEST_BING_JOB, "test bing ok");
|
||||
update_status(job, wxString::Format("test %s ok", name));
|
||||
}
|
||||
m_in_testing[TEST_BING_JOB] = false;
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_bambulab()
|
||||
{
|
||||
m_in_testing[TEST_BAMBULAB_JOB] = true;
|
||||
update_status(TEST_BAMBULAB_JOB, "test bambulab start...");
|
||||
|
||||
std::string platform = "windows";
|
||||
|
||||
#ifdef __WINDOWS__
|
||||
platform = "windows";
|
||||
#endif
|
||||
#ifdef __APPLE__
|
||||
platform = "macos";
|
||||
#endif
|
||||
#ifdef __LINUX__
|
||||
platform = "linux";
|
||||
#endif
|
||||
std::string query_params = (boost::format("?name=slicer&version=%1%&guide_version=%2%")
|
||||
% VersionInfo::convert_full_version(SLIC3R_VERSION)
|
||||
% VersionInfo::convert_full_version("0.0.0.1")
|
||||
).str();
|
||||
|
||||
AppConfig* app_config = wxGetApp().app_config;
|
||||
std::string url = wxGetApp().get_http_url(app_config->get_country_code()) + query_params;
|
||||
Slic3r::Http http = Slic3r::Http::get(url);
|
||||
update_status(-1, "[test_bambulab]: url=" + url);
|
||||
int result = -1;
|
||||
http.header("accept", "application/json")
|
||||
.timeout_max(10)
|
||||
.on_complete([this, &result](std::string body, unsigned status) {
|
||||
try {
|
||||
if (status == 200) {
|
||||
result = 0;
|
||||
}
|
||||
}
|
||||
catch (...) {
|
||||
;
|
||||
}
|
||||
})
|
||||
.on_ip_resolve([this](std::string ip) {
|
||||
wxString ip_report = wxString::Format("test bambulab ip resolved = %s", ip);
|
||||
update_status(TEST_BAMBULAB_JOB, ip_report);
|
||||
})
|
||||
.on_error([this](std::string body, std::string error, unsigned int status) {
|
||||
wxString info = wxString::Format("status=%u, body=%s, error=%s", status, body, error);
|
||||
this->update_status(TEST_BAMBULAB_JOB, "test bambulab failed");
|
||||
this->update_status(-1, info);
|
||||
}).perform_sync();
|
||||
if (result == 0) {
|
||||
update_status(TEST_BAMBULAB_JOB, "test bambulab ok");
|
||||
}
|
||||
m_in_testing[TEST_BAMBULAB_JOB] = false;
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_iot()
|
||||
{
|
||||
m_in_testing[TEST_IOT_JOB] = true;
|
||||
update_status(TEST_IOT_JOB, "test http start...");
|
||||
NetworkAgent* agent = wxGetApp().getAgent();
|
||||
if (agent) {
|
||||
unsigned int http_code;
|
||||
std::string http_body;
|
||||
if (!agent->is_user_login()) {
|
||||
update_status(TEST_IOT_JOB, "please login first");
|
||||
} else {
|
||||
int result = agent->get_user_print_info(&http_code, &http_body);
|
||||
if (result == 0) {
|
||||
update_status(TEST_IOT_JOB, "test http ok");
|
||||
} else {
|
||||
update_status(TEST_IOT_JOB, "test http failed");
|
||||
wxString info = wxString::Format("test http failed, status = %u, error = %s", http_code, http_body);
|
||||
update_status(-1, info);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
update_status(TEST_IOT_JOB, "please install network module first");
|
||||
}
|
||||
m_in_testing[TEST_IOT_JOB] = false;
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_oss()
|
||||
{
|
||||
m_in_testing[TEST_OSS_JOB] = true;
|
||||
update_status(TEST_OSS_JOB, "test storage start...");
|
||||
|
||||
std::string url = "http://upload-file.bambulab.com";
|
||||
|
||||
AppConfig* config = wxGetApp().app_config;
|
||||
if (config) {
|
||||
if (config->get_country_code() == "CN")
|
||||
url = "http://upload-file.bambulab.cn";
|
||||
}
|
||||
|
||||
Slic3r::Http http = Slic3r::Http::get(url);
|
||||
update_status(-1, "[test_oss]: url=" + url);
|
||||
|
||||
int result = -1;
|
||||
http.timeout_max(15)
|
||||
.on_complete([this, &result](std::string body, unsigned status) {
|
||||
try {
|
||||
if (status == 200) {
|
||||
result = 0;
|
||||
}
|
||||
}
|
||||
catch (...) {
|
||||
;
|
||||
}
|
||||
})
|
||||
.on_ip_resolve([this](std::string ip) {
|
||||
wxString ip_report = wxString::Format("test oss ip resolved = %s", ip);
|
||||
update_status(TEST_OSS_JOB, ip_report);
|
||||
})
|
||||
.on_error([this, &result](std::string body, std::string error, unsigned int status) {
|
||||
if (status == 403) {
|
||||
result = 0;
|
||||
} else {
|
||||
wxString info = wxString::Format("status=%u, body=%s, error=%s", status, body, error);
|
||||
this->update_status(TEST_OSS_JOB, "test storage failed");
|
||||
this->update_status(-1, info);
|
||||
}
|
||||
}).perform_sync();
|
||||
if (result == 0) {
|
||||
update_status(TEST_OSS_JOB, "test storage ok");
|
||||
}
|
||||
m_in_testing[TEST_OSS_JOB] = false;
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_oss_upgrade()
|
||||
{
|
||||
m_in_testing[TEST_OSS_UPGRADE_JOB] = true;
|
||||
update_status(TEST_OSS_UPGRADE_JOB, "test storage upgrade start...");
|
||||
|
||||
std::string url = "http://upgrade-file.bambulab.com";
|
||||
|
||||
AppConfig* config = wxGetApp().app_config;
|
||||
if (config) {
|
||||
if (config->get_country_code() == "CN")
|
||||
url = "http://upgrade-file.bambulab.cn";
|
||||
}
|
||||
|
||||
Slic3r::Http http = Slic3r::Http::get(url);
|
||||
update_status(-1, "[test_oss_upgrade]: url=" + url);
|
||||
|
||||
int result = -1;
|
||||
http.timeout_max(15)
|
||||
.on_complete([this, &result](std::string body, unsigned status) {
|
||||
try {
|
||||
if (status == 200) {
|
||||
result = 0;
|
||||
}
|
||||
}
|
||||
catch (...) {
|
||||
;
|
||||
}
|
||||
})
|
||||
.on_ip_resolve([this](std::string ip) {
|
||||
wxString ip_report = wxString::Format("test storage upgrade ip resolved = %s", ip);
|
||||
update_status(TEST_OSS_UPGRADE_JOB, ip_report);
|
||||
})
|
||||
.on_error([this, &result](std::string body, std::string error, unsigned int status) {
|
||||
if (status == 403) {
|
||||
result = 0;
|
||||
}
|
||||
else {
|
||||
wxString info = wxString::Format("status=%u, body=%s, error=%s", status, body, error);
|
||||
this->update_status(TEST_OSS_UPGRADE_JOB, "test storage upgrade failed");
|
||||
this->update_status(-1, info);
|
||||
}
|
||||
}).perform_sync();
|
||||
|
||||
if (result == 0) {
|
||||
update_status(TEST_OSS_UPGRADE_JOB, "test storage upgrade ok");
|
||||
}
|
||||
m_in_testing[TEST_OSS_UPGRADE_JOB] = false;
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_oss_download()
|
||||
{
|
||||
int result = 0;
|
||||
// get country_code
|
||||
AppConfig* app_config = wxGetApp().app_config;
|
||||
if (!app_config) {
|
||||
update_status(TEST_OSS_DOWNLOAD_JOB, "app config is nullptr");
|
||||
return;
|
||||
}
|
||||
|
||||
m_in_testing[TEST_OSS_DOWNLOAD_JOB] = true;
|
||||
update_status(TEST_OSS_DOWNLOAD_JOB, "test storage download start...");
|
||||
m_download_cancel = false;
|
||||
// get temp path
|
||||
fs::path target_file_path = (fs::temp_directory_path() / "test_storage_download.zip");
|
||||
fs::path tmp_path = target_file_path;
|
||||
tmp_path += (boost::format(".%1%%2%") % get_current_pid() % ".tmp").str();
|
||||
|
||||
// get_url
|
||||
std::string url = wxGetApp().get_plugin_url("plugins", app_config->get_country_code());
|
||||
std::string download_url;
|
||||
Slic3r::Http http_url = Slic3r::Http::get(url);
|
||||
update_status(-1, "[test_oss_download]: url=" + url);
|
||||
|
||||
http_url.on_complete(
|
||||
[&download_url](std::string body, unsigned status) {
|
||||
try {
|
||||
json j = json::parse(body);
|
||||
std::string message = j["message"].get<std::string>();
|
||||
|
||||
if (message == "success") {
|
||||
json resource = j.at("resources");
|
||||
if (resource.is_array()) {
|
||||
for (auto iter = resource.begin(); iter != resource.end(); iter++) {
|
||||
Semver version;
|
||||
std::string url;
|
||||
std::string type;
|
||||
std::string vendor;
|
||||
std::string description;
|
||||
for (auto sub_iter = iter.value().begin(); sub_iter != iter.value().end(); sub_iter++) {
|
||||
if (boost::iequals(sub_iter.key(), "type")) {
|
||||
type = sub_iter.value();
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_storage_download]: get version of settings's type, " << sub_iter.value();
|
||||
}
|
||||
else if (boost::iequals(sub_iter.key(), "version")) {
|
||||
version = *(Semver::parse(sub_iter.value()));
|
||||
}
|
||||
else if (boost::iequals(sub_iter.key(), "description")) {
|
||||
description = sub_iter.value();
|
||||
}
|
||||
else if (boost::iequals(sub_iter.key(), "url")) {
|
||||
url = sub_iter.value();
|
||||
}
|
||||
}
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_storage_download]: get type " << type << ", version " << version.to_string() << ", url " << url;
|
||||
download_url = url;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_storage_download]: get version of plugin failed, body=" << body;
|
||||
}
|
||||
}
|
||||
catch (...) {
|
||||
BOOST_LOG_TRIVIAL(error) << "[test_storage_download]: catch unknown exception";
|
||||
;
|
||||
}
|
||||
}).on_error(
|
||||
[&result, this](std::string body, std::string error, unsigned int status) {
|
||||
BOOST_LOG_TRIVIAL(error) << "[test_storage_download] on_error: " << error << ", body = " << body;
|
||||
wxString info = wxString::Format("status=%u, body=%s, error=%s", status, body, error);
|
||||
this->update_status(TEST_OSS_DOWNLOAD_JOB, "test storage download failed");
|
||||
this->update_status(-1, info);
|
||||
result = -1;
|
||||
}).perform_sync();
|
||||
|
||||
if (result < 0) {
|
||||
this->update_status(TEST_OSS_DOWNLOAD_JOB, "test storage download failed");
|
||||
m_in_testing[TEST_OSS_DOWNLOAD_JOB] = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (download_url.empty()) {
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_oss_download]: no availaible plugin found for this app version: " << SLIC3R_VERSION;
|
||||
this->update_status(TEST_OSS_DOWNLOAD_JOB, "test storage download failed");
|
||||
m_in_testing[TEST_OSS_DOWNLOAD_JOB] = false;
|
||||
return;
|
||||
}
|
||||
if (m_download_cancel) {
|
||||
this->update_status(TEST_OSS_DOWNLOAD_JOB, "test storage download canceled");
|
||||
m_in_testing[TEST_OSS_DOWNLOAD_JOB] = false;
|
||||
return;
|
||||
}
|
||||
|
||||
bool cancel = false;
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_storage_download] get_url = " << download_url;
|
||||
|
||||
// download
|
||||
Slic3r::Http http = Slic3r::Http::get(download_url);
|
||||
int reported_percent = 0;
|
||||
http.on_progress(
|
||||
[this, &result, &reported_percent](Slic3r::Http::Progress progress, bool& cancel) {
|
||||
int percent = 0;
|
||||
if (progress.dltotal != 0) {
|
||||
percent = progress.dlnow * 100 / progress.dltotal;
|
||||
}
|
||||
if (percent - reported_percent >= 10) {
|
||||
reported_percent = percent;
|
||||
std::string download_progress_info = (boost::format("downloading %1%%%") % percent).str();
|
||||
this->update_status(TEST_OSS_DOWNLOAD_JOB, download_progress_info);
|
||||
}
|
||||
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_storage_download] progress: " << reported_percent;
|
||||
cancel = m_download_cancel;
|
||||
|
||||
if (cancel)
|
||||
result = -1;
|
||||
})
|
||||
.on_complete([this, tmp_path, target_file_path](std::string body, unsigned status) {
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_storage_download] completed";
|
||||
bool cancel = false;
|
||||
fs::fstream file(tmp_path, std::ios::out | std::ios::binary | std::ios::trunc);
|
||||
file.write(body.c_str(), body.size());
|
||||
file.close();
|
||||
fs::rename(tmp_path, target_file_path);
|
||||
//this->update_status(TEST_OSS_DOWNLOAD_JOB, "test storage download ok");
|
||||
})
|
||||
.on_error([this, &result](std::string body, std::string error, unsigned int status) {
|
||||
BOOST_LOG_TRIVIAL(error) << "[test_oss_download] downloading... on_error: " << error << ", body = " << body;
|
||||
wxString info = wxString::Format("status=%u, body=%s, error=%s", status, body, error);
|
||||
this->update_status(TEST_OSS_DOWNLOAD_JOB, "test storage download failed");
|
||||
this->update_status(-1, info);
|
||||
result = -1;
|
||||
});
|
||||
http.perform_sync();
|
||||
if (result < 0) {
|
||||
this->update_status(TEST_OSS_DOWNLOAD_JOB, "test storage download failed");
|
||||
} else {
|
||||
this->update_status(TEST_OSS_DOWNLOAD_JOB, "test storage download ok");
|
||||
}
|
||||
m_in_testing[TEST_OSS_DOWNLOAD_JOB] = false;
|
||||
return;
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_oss_upload()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void NetworkTestDialog:: start_test_plugin_download(){
|
||||
int result = 0;
|
||||
// get country_code
|
||||
AppConfig *app_config = wxGetApp().app_config;
|
||||
if (!app_config) {
|
||||
update_status(TEST_PLUGIN_JOB, "app config is nullptr");
|
||||
return;
|
||||
}
|
||||
|
||||
m_in_testing[TEST_PLUGIN_JOB] = true;
|
||||
update_status(TEST_PLUGIN_JOB, "test plugin download start...");
|
||||
m_download_cancel = false;
|
||||
// get temp path
|
||||
fs::path target_file_path = (fs::temp_directory_path() / "test_plugin_download.zip");
|
||||
fs::path tmp_path = target_file_path;
|
||||
tmp_path += (boost::format(".%1%%2%") % get_current_pid() % ".tmp").str();
|
||||
|
||||
// get_url
|
||||
std::string url = wxGetApp().get_plugin_url("plugins", app_config->get_country_code());
|
||||
std::string download_url;
|
||||
Slic3r::Http http_url = Slic3r::Http::get(url);
|
||||
http_url
|
||||
.on_complete([&download_url,this](std::string body, unsigned status) {
|
||||
try {
|
||||
json j = json::parse(body);
|
||||
std::string message = j["message"].get<std::string>();
|
||||
|
||||
if (message == "success") {
|
||||
json resource = j.at("resources");
|
||||
if (resource.is_array()) {
|
||||
for (auto iter = resource.begin(); iter != resource.end(); iter++) {
|
||||
Semver version;
|
||||
std::string url;
|
||||
std::string type;
|
||||
std::string vendor;
|
||||
std::string description;
|
||||
for (auto sub_iter = iter.value().begin(); sub_iter != iter.value().end(); sub_iter++) {
|
||||
if (boost::iequals(sub_iter.key(), "type")) {
|
||||
type = sub_iter.value();
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_plugin_download]: get version of settings's type, " << sub_iter.value();
|
||||
} else if (boost::iequals(sub_iter.key(), "version")) {
|
||||
version = *(Semver::parse(sub_iter.value()));
|
||||
} else if (boost::iequals(sub_iter.key(), "description")) {
|
||||
description = sub_iter.value();
|
||||
} else if (boost::iequals(sub_iter.key(), "url")) {
|
||||
url = sub_iter.value();
|
||||
}
|
||||
}
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_plugin_download]: get type " << type << ", version " << version.to_string() << ", url " << url;
|
||||
download_url = url;
|
||||
this->update_status(-1, "[test_plugin_download]: downloadurl=" + download_url);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_plugin_download]: get version of plugin failed, body=" << body;
|
||||
}
|
||||
} catch (...) {
|
||||
BOOST_LOG_TRIVIAL(error) << "[test_plugin_download]: catch unknown exception";
|
||||
;
|
||||
}
|
||||
})
|
||||
.on_error([&result, this](std::string body, std::string error, unsigned int status) {
|
||||
BOOST_LOG_TRIVIAL(error) << "[test_plugin_download] on_error: " << error << ", body = " << body;
|
||||
wxString info = wxString::Format("status=%u, body=%s, error=%s", status, body, error);
|
||||
this->update_status(TEST_PLUGIN_JOB, "test plugin download failed");
|
||||
this->update_status(-1, info);
|
||||
result = -1;
|
||||
})
|
||||
.perform_sync();
|
||||
|
||||
|
||||
if (result < 0) {
|
||||
this->update_status(TEST_PLUGIN_JOB, "test plugin download failed");
|
||||
m_in_testing[TEST_PLUGIN_JOB] = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (download_url.empty()) {
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_plugin_download]: no availaible plugin found for this app version: " << SLIC3R_VERSION;
|
||||
this->update_status(TEST_PLUGIN_JOB, "test plugin download failed");
|
||||
m_in_testing[TEST_PLUGIN_JOB] = false;
|
||||
return;
|
||||
}
|
||||
if (m_download_cancel) {
|
||||
this->update_status(TEST_PLUGIN_JOB, "test plugin download canceled");
|
||||
m_in_testing[TEST_PLUGIN_JOB] = false;
|
||||
return;
|
||||
}
|
||||
|
||||
bool cancel = false;
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_plugin_download] get_url = " << download_url;
|
||||
|
||||
// download
|
||||
Slic3r::Http http = Slic3r::Http::get(download_url);
|
||||
int reported_percent = 0;
|
||||
http.on_progress([this, &result, &reported_percent](Slic3r::Http::Progress progress, bool &cancel) {
|
||||
int percent = 0;
|
||||
if (progress.dltotal != 0) { percent = progress.dlnow * 100 / progress.dltotal; }
|
||||
if (percent - reported_percent >= 5) {
|
||||
reported_percent = percent;
|
||||
std::string download_progress_info = (boost::format("downloading %1%%%") % percent).str();
|
||||
this->update_status(TEST_PLUGIN_JOB, download_progress_info);
|
||||
}
|
||||
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_plugin_download] progress: " << reported_percent;
|
||||
cancel = m_download_cancel;
|
||||
|
||||
if (cancel) result = -1;
|
||||
})
|
||||
.on_complete([this, tmp_path, target_file_path](std::string body, unsigned status) {
|
||||
BOOST_LOG_TRIVIAL(info) << "[test_plugin_download] completed";
|
||||
bool cancel = false;
|
||||
fs::fstream file(tmp_path, std::ios::out | std::ios::binary | std::ios::trunc);
|
||||
file.write(body.c_str(), body.size());
|
||||
file.close();
|
||||
fs::rename(tmp_path, target_file_path);
|
||||
})
|
||||
.on_error([this, &result](std::string body, std::string error, unsigned int status) {
|
||||
BOOST_LOG_TRIVIAL(error) << "[test_plugin_download] downloading... on_error: " << error << ", body = " << body;
|
||||
wxString info = wxString::Format("status=%u, body=%s, error=%s", status, body, error);
|
||||
this->update_status(TEST_PLUGIN_JOB, "test plugin download failed");
|
||||
this->update_status(-1, info);
|
||||
result = -1;
|
||||
});
|
||||
http.perform_sync();
|
||||
if (result < 0) {
|
||||
this->update_status(TEST_PLUGIN_JOB, "test plugin download failed");
|
||||
} else {
|
||||
this->update_status(TEST_PLUGIN_JOB, "test plugin download ok");
|
||||
}
|
||||
m_in_testing[TEST_PLUGIN_JOB] = false;
|
||||
return;
|
||||
m_in_testing[job] = false;
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_ping_thread()
|
||||
|
@ -882,62 +303,18 @@ void NetworkTestDialog::start_test_ping_thread()
|
|||
m_in_testing[TEST_PING_JOB] = false;
|
||||
});
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_github_thread()
|
||||
{
|
||||
if (m_in_testing[TEST_ORCA_JOB])
|
||||
return;
|
||||
test_job[TEST_ORCA_JOB] = new boost::thread([this] {
|
||||
start_test_url(TEST_ORCA_JOB, "OrcaSlicer(GitHub)", "https://github.com/SoftFever/OrcaSlicer");
|
||||
});
|
||||
}
|
||||
void NetworkTestDialog::start_test_bing_thread()
|
||||
{
|
||||
test_job[TEST_BING_JOB] = new boost::thread([this] {
|
||||
start_test_bing();
|
||||
});
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_bambulab_thread()
|
||||
{
|
||||
if (m_in_testing[TEST_BAMBULAB_JOB]) return;
|
||||
test_job[TEST_BAMBULAB_JOB] = new boost::thread([this] {
|
||||
start_test_bambulab();
|
||||
});
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_iot_thread()
|
||||
{
|
||||
if (m_in_testing[TEST_IOT_JOB]) return;
|
||||
test_job[TEST_IOT_JOB] = new boost::thread([this] {
|
||||
start_test_iot();
|
||||
});
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_oss_thread()
|
||||
{
|
||||
test_job[TEST_OSS_JOB] = new boost::thread([this] {
|
||||
start_test_oss();
|
||||
});
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_oss_upgrade_thread()
|
||||
{
|
||||
test_job[TEST_OSS_UPGRADE_JOB] = new boost::thread([this] {
|
||||
start_test_oss_upgrade();
|
||||
});
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_oss_download_thread()
|
||||
{
|
||||
test_job[TEST_OSS_DOWNLOAD_JOB] = new boost::thread([this] {
|
||||
start_test_oss_download();
|
||||
});
|
||||
}
|
||||
|
||||
void NetworkTestDialog::start_test_oss_upload_thread()
|
||||
{
|
||||
test_job[TEST_OSS_UPLOAD_JOB] = new boost::thread([this] {
|
||||
start_test_oss_upload();
|
||||
});
|
||||
}
|
||||
|
||||
void NetworkTestDialog:: start_test_plugin_download_thread(){
|
||||
|
||||
test_job[TEST_PLUGIN_JOB] = new boost::thread([this] {
|
||||
start_test_plugin_download();
|
||||
start_test_url(TEST_BING_JOB, "Bing", "http://www.bing.com");
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -958,7 +335,7 @@ void NetworkTestDialog::on_close(wxCloseEvent& event)
|
|||
|
||||
wxString NetworkTestDialog::get_studio_version()
|
||||
{
|
||||
return wxString(SLIC3R_VERSION);
|
||||
return wxString(SoftFever_VERSION);
|
||||
}
|
||||
|
||||
void NetworkTestDialog::set_default()
|
||||
|
@ -975,13 +352,6 @@ void NetworkTestDialog::set_default()
|
|||
txt_dns_info_value->SetLabelText(get_dns_info());
|
||||
text_link_val->SetLabelText(NA_STR);
|
||||
text_bing_val->SetLabelText(NA_STR);
|
||||
text_iot_value->SetLabelText(NA_STR);
|
||||
text_oss_value->SetLabelText(NA_STR);
|
||||
text_oss_upgrade_value->SetLabelText(NA_STR);
|
||||
text_oss_download_value->SetLabelText(NA_STR);
|
||||
text_oss_upload_value->SetLabelText(NA_STR);
|
||||
text_network_plugin_value->SetLabelText(NA_STR);
|
||||
//text_ping_value->SetLabelText(NA_STR);
|
||||
m_download_cancel = false;
|
||||
m_closing = false;
|
||||
}
|
||||
|
|
|
@ -35,15 +35,9 @@ namespace GUI {
|
|||
|
||||
enum TestJob {
|
||||
TEST_BING_JOB = 0,
|
||||
TEST_BAMBULAB_JOB = 1,
|
||||
TEST_IOT_JOB = 2,
|
||||
TEST_OSS_JOB = 3,
|
||||
TEST_OSS_UPGRADE_JOB = 4,
|
||||
TEST_OSS_DOWNLOAD_JOB = 5,
|
||||
TEST_OSS_UPLOAD_JOB = 6,
|
||||
TEST_PING_JOB = 7,
|
||||
TEST_PLUGIN_JOB = 8,
|
||||
TEST_JOB_MAX = 9
|
||||
TEST_ORCA_JOB = 1,
|
||||
TEST_PING_JOB,
|
||||
TEST_JOB_MAX
|
||||
};
|
||||
|
||||
class NetworkTestDialog : public DPIDialog
|
||||
|
@ -65,24 +59,6 @@ protected:
|
|||
Button* btn_bing;
|
||||
wxStaticText* text_bing_title;
|
||||
wxStaticText* text_bing_val;
|
||||
Button* btn_iot;
|
||||
wxStaticText* text_iot_title;
|
||||
wxStaticText* text_iot_value;
|
||||
Button* btn_oss;
|
||||
wxStaticText* text_oss_title;
|
||||
wxStaticText* text_oss_value;
|
||||
Button* btn_oss_upgrade;
|
||||
wxStaticText* text_oss_upgrade_title;
|
||||
wxStaticText* text_oss_upgrade_value;
|
||||
Button* btn_oss_download;
|
||||
wxStaticText* text_oss_download_title;
|
||||
wxStaticText* text_oss_download_value;
|
||||
Button* btn_oss_upload;
|
||||
wxStaticText* text_oss_upload_title;
|
||||
wxStaticText* text_oss_upload_value;
|
||||
Button* btn_network_plugin;
|
||||
wxStaticText* text_network_plugin_title;
|
||||
wxStaticText* text_network_plugin_value;
|
||||
wxStaticText* text_ping_title;
|
||||
wxStaticText* text_ping_value;
|
||||
wxStaticText* text_result;
|
||||
|
@ -116,23 +92,10 @@ public:
|
|||
void start_all_job();
|
||||
void start_all_job_sequence();
|
||||
void start_test_bing_thread();
|
||||
void start_test_bambulab_thread();
|
||||
void start_test_iot_thread();
|
||||
void start_test_oss_thread();
|
||||
void start_test_oss_upgrade_thread();
|
||||
void start_test_oss_download_thread();
|
||||
void start_test_oss_upload_thread();
|
||||
void start_test_github_thread();
|
||||
void start_test_ping_thread();
|
||||
void start_test_plugin_download_thread();
|
||||
|
||||
void start_test_bing();
|
||||
void start_test_bambulab();
|
||||
void start_test_iot();
|
||||
void start_test_oss();
|
||||
void start_test_oss_upgrade();
|
||||
void start_test_oss_download();
|
||||
void start_test_oss_upload();
|
||||
void start_test_plugin_download();
|
||||
void start_test_url(TestJob job, wxString name, wxString url);
|
||||
|
||||
void on_close(wxCloseEvent& event);
|
||||
|
||||
|
|
|
@ -6835,6 +6835,26 @@ void Plater::priv::on_tab_selection_changing(wxBookCtrlEvent& e)
|
|||
const int new_sel = e.GetSelection();
|
||||
sidebar_layout.show = new_sel == MainFrame::tp3DEditor || new_sel == MainFrame::tpPreview;
|
||||
update_sidebar();
|
||||
int old_sel = e.GetOldSelection();
|
||||
if (wxGetApp().preset_bundle && wxGetApp().preset_bundle->is_bbl_vendor() && new_sel == MainFrame::tpMonitor) {
|
||||
if (!wxGetApp().getAgent()) {
|
||||
e.Veto();
|
||||
BOOST_LOG_TRIVIAL(info) << boost::format("skipped tab switch from %1% to %2%, lack of network plugins") % old_sel % new_sel;
|
||||
if (q) {
|
||||
wxCommandEvent* evt = new wxCommandEvent(EVT_INSTALL_PLUGIN_HINT);
|
||||
wxQueueEvent(q, evt);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (new_sel == MainFrame::tpMonitor && wxGetApp().preset_bundle != nullptr) {
|
||||
auto cfg = wxGetApp().preset_bundle->printers.get_edited_preset().config;
|
||||
wxString url = cfg.opt_string("print_host_webui").empty() ? cfg.opt_string("print_host") : cfg.opt_string("print_host_webui");
|
||||
if (url.empty()) {
|
||||
// It's missing_connection page, reload so that we can replay the gif image
|
||||
main_frame->m_printer_view->reload();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int Plater::priv::update_print_required_data(Slic3r::DynamicPrintConfig config, Slic3r::Model model, Slic3r::PlateDataPtrs plate_data_list, std::string file_name, std::string file_path)
|
||||
|
|
|
@ -629,7 +629,7 @@ wxBoxSizer *PreferencesDialog::create_item_checkbox(wxString title, wxWindow *pa
|
|||
m_sizer_checkbox->Add(0, 0, 0, wxEXPAND | wxLEFT, 23);
|
||||
|
||||
auto checkbox = new ::CheckBox(parent);
|
||||
checkbox->SetValue((app_config->get(param) == "true") ? true : false);
|
||||
checkbox->SetValue(app_config->get_bool(param));
|
||||
|
||||
m_sizer_checkbox->Add(checkbox, 0, wxALIGN_CENTER, 0);
|
||||
m_sizer_checkbox->Add(0, 0, 0, wxEXPAND | wxLEFT, 8);
|
||||
|
@ -701,10 +701,16 @@ wxBoxSizer *PreferencesDialog::create_item_checkbox(wxString title, wxWindow *pa
|
|||
}
|
||||
}
|
||||
|
||||
#endif // __WXMSW__
|
||||
if (param == "installed_networking") {
|
||||
bool pbool = app_config->get_bool("installed_networking");
|
||||
if (pbool) {
|
||||
GUI::wxGetApp().CallAfter([] { GUI::wxGetApp().ShowDownNetPluginDlg(); });
|
||||
}
|
||||
}
|
||||
|
||||
if (param == "developer_mode")
|
||||
{
|
||||
#endif // __WXMSW__
|
||||
|
||||
if (param == "developer_mode") {
|
||||
m_developer_mode_def = app_config->get("developer_mode");
|
||||
if (m_developer_mode_def == "true") {
|
||||
Slic3r::GUI::wxGetApp().save_mode(comDevelop);
|
||||
|
@ -1004,6 +1010,7 @@ wxWindow* PreferencesDialog::create_general_page()
|
|||
auto item_region= create_item_region_combobox(_L("Login Region"), page, _L("Login Region"), Regions);
|
||||
|
||||
auto item_stealth_mode = create_item_checkbox(_L("Stealth Mode"), page, _L("Stealth Mode"), 50, "stealth_mode");
|
||||
auto item_enable_plugin = create_item_checkbox(_L("Enable network plugin"), page, _L("Enable network plugin"), 50, "installed_networking");
|
||||
auto item_check_stable_version_only = create_item_checkbox(_L("Check for stable updates only"), page, _L("Check for stable updates only"), 50, "check_stable_update_only");
|
||||
|
||||
std::vector<wxString> Units = {_L("Metric") + " (mm, g)", _L("Imperial") + " (in, oz)"};
|
||||
|
@ -1020,6 +1027,7 @@ wxWindow* PreferencesDialog::create_general_page()
|
|||
|
||||
auto item_calc_mode = create_item_checkbox(_L("Flushing volumes: Auto-calculate everytime the color changed."), page, _L("If enabled, auto-calculate everytime the color changed."), 50, "auto_calculate");
|
||||
auto title_presets = create_item_title(_L("Presets"), page, _L("Presets"));
|
||||
auto title_network = create_item_title(_L("Network"), page, _L("Network"));
|
||||
auto item_user_sync = create_item_checkbox(_L("Auto sync user presets(Printer/Filament/Process)"), page, _L("User Sync"), 50, "sync_user_preset");
|
||||
auto item_system_sync = create_item_checkbox(_L("Update built-in Presets automatically."), page, _L("System Sync"), 50, "sync_system_preset");
|
||||
auto item_save_presets = create_item_button(_L("Clear my choice on the unsaved presets."), _L("Clear"), page, _L("Clear my choice on the unsaved presets."), []() {
|
||||
|
@ -1080,12 +1088,14 @@ wxWindow* PreferencesDialog::create_general_page()
|
|||
sizer_page->Add(item_show_splash_screen, 0, wxTOP, FromDIP(3));
|
||||
sizer_page->Add(item_hints, 0, wxTOP, FromDIP(3));
|
||||
sizer_page->Add(title_presets, 0, wxTOP | wxEXPAND, FromDIP(20));
|
||||
sizer_page->Add(item_stealth_mode, 0, wxTOP, FromDIP(3));
|
||||
sizer_page->Add(item_check_stable_version_only, 0, wxTOP, FromDIP(3));
|
||||
sizer_page->Add(item_calc_mode, 0, wxTOP, FromDIP(3));
|
||||
sizer_page->Add(item_user_sync, 0, wxTOP, FromDIP(3));
|
||||
sizer_page->Add(item_system_sync, 0, wxTOP, FromDIP(3));
|
||||
sizer_page->Add(item_save_presets, 0, wxTOP, FromDIP(3));
|
||||
sizer_page->Add(title_network, 0, wxTOP | wxEXPAND, FromDIP(20));
|
||||
sizer_page->Add(item_check_stable_version_only, 0, wxTOP, FromDIP(3));
|
||||
sizer_page->Add(item_stealth_mode, 0, wxTOP, FromDIP(3));
|
||||
sizer_page->Add(item_enable_plugin, 0, wxTOP, FromDIP(3));
|
||||
#ifdef _WIN32
|
||||
sizer_page->Add(title_associate_file, 0, wxTOP| wxEXPAND, FromDIP(20));
|
||||
sizer_page->Add(item_associate_3mf, 0, wxTOP, FromDIP(3));
|
||||
|
|
|
@ -80,6 +80,11 @@ void PrinterWebView::load_url(wxString& url, wxString apikey)
|
|||
//m_browser->SetFocus();
|
||||
UpdateState();
|
||||
}
|
||||
|
||||
void PrinterWebView::reload()
|
||||
{
|
||||
m_browser->Reload();
|
||||
}
|
||||
/**
|
||||
* Method that retrieves the current state from the web control and updates the
|
||||
* GUI the reflect this current state.
|
||||
|
|
|
@ -41,6 +41,7 @@ public:
|
|||
void OnClose(wxCloseEvent& evt);
|
||||
void OnError(wxWebViewEvent& evt);
|
||||
void OnLoaded(wxWebViewEvent& evt);
|
||||
void reload();
|
||||
private:
|
||||
void SendAPIKey();
|
||||
|
||||
|
|
|
@ -421,6 +421,11 @@ void WebViewPanel::OnFreshLoginStatus(wxTimerEvent &event)
|
|||
Slic3r::GUI::wxGetApp().get_login_info();
|
||||
}
|
||||
|
||||
void WebViewPanel::SetLoginPanelVisibility(bool bshow)
|
||||
{
|
||||
wxString strJS = wxString::Format("SetLoginPanelVisibility(%s)", bshow ? "true" : "false");
|
||||
RunScript(strJS);
|
||||
}
|
||||
void WebViewPanel::SendRecentList(int images)
|
||||
{
|
||||
boost::property_tree::wptree req;
|
||||
|
|
|
@ -94,6 +94,7 @@ public:
|
|||
|
||||
public:
|
||||
void SendRecentList(int images);
|
||||
void SetLoginPanelVisibility(bool bshow);
|
||||
void SendDesignStaffpick(bool on);
|
||||
void OpenModelDetail(std::string id, NetworkAgent *agent);
|
||||
void SendLoginInfo();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue