Merge remote-tracking branch 'BS/v1.7.2'

Signed-off-by: SoftFever <103989404+SoftFever@users.noreply.github.com>

# Conflicts:
#	.github/ISSUE_TEMPLATE/bug_report.md
#	.github/workflows/build_ubuntu.yml
#	.gitignore
#	Containerfile
#	Dockerfile
#	README.md
#	deps/Boost/Boost.cmake
#	deps/OpenEXR/OpenEXR.cmake
#	deps/OpenVDB/OpenVDB.cmake
#	doc/How to build - Mac OS.md
#	localization/i18n/OrcaSlicer.pot
#	localization/i18n/de/OrcaSlicer_de.po
#	localization/i18n/en/OrcaSlicer_en.po
#	localization/i18n/es/OrcaSlicer_es.po
#	localization/i18n/fr/OrcaSlicer_fr.po
#	localization/i18n/hu/OrcaSlicer_hu.po
#	localization/i18n/it/OrcaSlicer_it.po
#	localization/i18n/ja/OrcaSlicer_ja.po
#	localization/i18n/list.txt
#	localization/i18n/nl/OrcaSlicer_nl.po
#	localization/i18n/sv/OrcaSlicer_sv.po
#	localization/i18n/zh_cn/OrcaSlicer_zh_CN.po
#	resources/i18n/de/BambuStudio.mo
#	resources/i18n/en/BambuStudio.mo
#	resources/i18n/es/BambuStudio.mo
#	resources/i18n/fr/BambuStudio.mo
#	resources/i18n/hu/BambuStudio.mo
#	resources/i18n/it/BambuStudio.mo
#	resources/i18n/ja/BambuStudio.mo
#	resources/i18n/nl/BambuStudio.mo
#	resources/i18n/sv/BambuStudio.mo
#	resources/i18n/zh_cn/BambuStudio.mo
#	resources/images/im_all_plates_stats.svg
#	resources/profiles/Anker.json
#	resources/profiles/Anker/filament/Generic ASA @Anker.json
#	resources/profiles/Anker/filament/Generic PA @Anker.json
#	resources/profiles/Anker/filament/Generic PA-CF @Anker.json
#	resources/profiles/Anker/filament/Generic PC @Anker.json
#	resources/profiles/Anker/filament/Generic PETG @Anker.json
#	resources/profiles/Anker/filament/Generic PLA-CF @Anker.json
#	resources/profiles/Anker/filament/Generic PVA @Anker.json
#	resources/profiles/Anker/filament/Generic TPU @Anker.json
#	resources/profiles/Anker/machine/Anker M5 0.4 nozzle.json
#	resources/profiles/Anker/machine/Anker M5.json
#	resources/profiles/Anker/machine/Anker M5C 0.4 nozzle.json
#	resources/profiles/Anker/machine/Anker M5C.json
#	resources/profiles/Anker/machine/fdm_machine_common.json
#	resources/profiles/Anker/process/0.05mm Ultradetail @Anker.json
#	resources/profiles/Anker/process/0.15mm Fast @Anker.json
#	resources/profiles/Anker/process/0.20mm Fast @Anker.json
#	resources/profiles/Anker/process/0.20mm Standard @Anker.json
#	resources/profiles/Anker/process/0.25mm Fast @Anker.json
#	resources/profiles/Anker/process/fdm_process_common.json
#	resources/profiles/Anycubic.json
#	resources/profiles/Anycubic/machine/Anycubic 4Max Pro 0.4 nozzle.json
#	resources/profiles/Anycubic/machine/Anycubic 4Max Pro 2 0.4 nozzle.json
#	resources/profiles/Anycubic/machine/Anycubic 4Max Pro 2.json
#	resources/profiles/Anycubic/machine/Anycubic 4Max Pro.json
#	resources/profiles/Anycubic/machine/Anycubic Chiron 0.4 nozzle.json
#	resources/profiles/Anycubic/machine/Anycubic Chiron.json
#	resources/profiles/Anycubic/machine/Anycubic Kobra 2 0.4 nozzle.json
#	resources/profiles/Anycubic/machine/Anycubic Kobra Max 0.4 nozzle.json
#	resources/profiles/Anycubic/machine/Anycubic Kobra Max.json
#	resources/profiles/Anycubic/machine/Anycubic Vyper 0.4 nozzle.json
#	resources/profiles/Anycubic/machine/Anycubic Vyper.json
#	resources/profiles/Anycubic/machine/Anycubic i3 Mega S 0.4 nozzle.json
#	resources/profiles/Anycubic/machine/Anycubic i3 Mega S.json
#	resources/profiles/Anycubic/machine/fdm_machine_common.json
#	resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic 4MaxPro2.json
#	resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Chiron.json
#	resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Kobra2.json
#	resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic KobraMax.json
#	resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic Vyper.json
#	resources/profiles/Anycubic/process/0.15mm Optimal @Anycubic i3MegaS.json
#	resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro.json
#	resources/profiles/Anycubic/process/0.20mm Standard @Anycubic 4MaxPro2.json
#	resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Chiron.json
#	resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Kobra2.json
#	resources/profiles/Anycubic/process/0.20mm Standard @Anycubic KobraMax.json
#	resources/profiles/Anycubic/process/0.20mm Standard @Anycubic Vyper.json
#	resources/profiles/Anycubic/process/0.20mm Standard @Anycubic i3MegaS.json
#	resources/profiles/Anycubic/process/0.30mm Draft @Anycubic 4MaxPro2.json
#	resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Chiron.json
#	resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Kobra2.json
#	resources/profiles/Anycubic/process/0.30mm Draft @Anycubic KobraMax.json
#	resources/profiles/Anycubic/process/0.30mm Draft @Anycubic Vyper.json
#	resources/profiles/Anycubic/process/0.30mm Draft @Anycubic i3MegaS.json
#	resources/profiles/Anycubic/process/fdm_process_common.json
#	resources/profiles/BBL.json
#	resources/profiles/BBL/process/fdm_process_bbl_common.json
#	resources/profiles/Creality.json
#	resources/profiles/Creality/filament/fdm_filament_abs.json
#	resources/profiles/Creality/filament/fdm_filament_pla.json
#	resources/profiles/Creality/machine/Creality CR-10 Max 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality CR-10 Max.json
#	resources/profiles/Creality/machine/Creality CR-10 V2 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality CR-10 V2.json
#	resources/profiles/Creality/machine/Creality Ender-3 S1 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-3 S1 Pro 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-3 S1 Pro.json
#	resources/profiles/Creality/machine/Creality Ender-3 S1.json
#	resources/profiles/Creality/machine/Creality Ender-3 V2 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-3 V2.json
#	resources/profiles/Creality/machine/Creality Ender-5 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-5 Plus 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-5 Plus.json
#	resources/profiles/Creality/machine/Creality Ender-5 S1 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-5 S1.json
#	resources/profiles/Creality/machine/Creality Ender-5.json
#	resources/profiles/Creality/machine/Creality Ender-5S 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-5S.json
#	resources/profiles/Creality/machine/Creality Ender-6 0.4 nozzle.json
#	resources/profiles/Creality/machine/Creality Ender-6.json
#	resources/profiles/Creality/machine/fdm_creality_common.json
#	resources/profiles/Creality/machine/fdm_machine_common.json
#	resources/profiles/Creality/process/0.12mm Fine @Creality CR10Max.json
#	resources/profiles/Creality/process/0.12mm Fine @Creality Ender3V2.json
#	resources/profiles/Creality/process/0.15mm Optimal @Creality CR10Max.json
#	resources/profiles/Creality/process/0.15mm Optimal @Creality Ender3V2.json
#	resources/profiles/Creality/process/0.16mm Optimal @Creality CR10V2.json
#	resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1.json
#	resources/profiles/Creality/process/0.16mm Optimal @Creality Ender3S1Pro.json
#	resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5.json
#	resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5Plus.json
#	resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S.json
#	resources/profiles/Creality/process/0.16mm Optimal @Creality Ender5S1.json
#	resources/profiles/Creality/process/0.16mm Optimal @Creality Ender6.json
#	resources/profiles/Creality/process/0.20mm Standard @Creality CR10Max.json
#	resources/profiles/Creality/process/0.20mm Standard @Creality CR10V2.json
#	resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1.json
#	resources/profiles/Creality/process/0.20mm Standard @Creality Ender3S1Pro.json
#	resources/profiles/Creality/process/0.20mm Standard @Creality Ender3V2.json
#	resources/profiles/Creality/process/0.20mm Standard @Creality Ender5.json
#	resources/profiles/Creality/process/0.20mm Standard @Creality Ender5Plus.json
#	resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S.json
#	resources/profiles/Creality/process/0.20mm Standard @Creality Ender5S1.json
#	resources/profiles/Creality/process/0.20mm Standard @Creality Ender6.json
#	resources/profiles/Creality/process/0.24mm Draft @Creality CR10Max.json
#	resources/profiles/Creality/process/0.24mm Draft @Creality Ender3V2.json
#	resources/profiles/Creality/process/0.24mm Draft @Creality.json
#	resources/profiles/Creality/process/fdm_process_creality_common.json
#	resources/profiles/Custom/filament/My Generic PETG.json
#	resources/profiles/Custom/filament/My Generic PLA.json
#	resources/profiles/Elegoo.json
#	resources/profiles/Elegoo/filament/fdm_filament_common.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 2 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 2.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 2D 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 2D.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 2S 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 2S.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 3 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 3 Max 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 3 Max.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 3 Plus 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 3 Plus.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 3 Pro 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 3 Pro.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune 3.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune X 0.4 nozzle.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune X.json
#	resources/profiles/Elegoo/machine/Elegoo Neptune.json
#	resources/profiles/Elegoo/machine/fdm_machine_common.json
#	resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune.json
#	resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2.json
#	resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2D.json
#	resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune2S.json
#	resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3.json
#	resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Max.json
#	resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Plus.json
#	resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo Neptune3Pro.json
#	resources/profiles/Elegoo/process/0.08mm Extra Fine @Elegoo NeptuneX.json
#	resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune.json
#	resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2.json
#	resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2D.json
#	resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune2S.json
#	resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3.json
#	resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Max.json
#	resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Plus.json
#	resources/profiles/Elegoo/process/0.12mm Fine @Elegoo Neptune3Pro.json
#	resources/profiles/Elegoo/process/0.12mm Fine @Elegoo NeptuneX.json
#	resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune.json
#	resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2.json
#	resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2D.json
#	resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune2S.json
#	resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3.json
#	resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Max.json
#	resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Plus.json
#	resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo Neptune3Pro.json
#	resources/profiles/Elegoo/process/0.16mm Optimal @Elegoo NeptuneX.json
#	resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune.json
#	resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2.json
#	resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2D.json
#	resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune2S.json
#	resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3.json
#	resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Max.json
#	resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Plus.json
#	resources/profiles/Elegoo/process/0.20mm Standard @Elegoo Neptune3Pro.json
#	resources/profiles/Elegoo/process/0.20mm Standard @Elegoo NeptuneX.json
#	resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune.json
#	resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2.json
#	resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2D.json
#	resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune2S.json
#	resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3.json
#	resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Max.json
#	resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Plus.json
#	resources/profiles/Elegoo/process/0.24mm Draft @Elegoo Neptune3Pro.json
#	resources/profiles/Elegoo/process/0.24mm Draft @Elegoo NeptuneX.json
#	resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune.json
#	resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2.json
#	resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2D.json
#	resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune2S.json
#	resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3.json
#	resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Max.json
#	resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Plus.json
#	resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo Neptune3Pro.json
#	resources/profiles/Elegoo/process/0.28mm Extra Draft @Elegoo NeptuneX.json
#	resources/profiles/Prusa.json
#	resources/profiles/Prusa/filament/fdm_filament_common.json
#	resources/profiles/Prusa/machine/Prusa MINI 0.4 nozzle.json
#	resources/profiles/Prusa/machine/Prusa MINI.json
#	resources/profiles/Prusa/machine/Prusa MK3S 0.4 nozzle.json
#	resources/profiles/Prusa/machine/Prusa MK3S.json
#	resources/profiles/Prusa/machine/fdm_machine_common.json
#	resources/profiles/Prusa/process/0.20mm Standard @MINI.json
#	resources/profiles/Prusa/process/0.20mm Standard @MK3S.json
#	resources/profiles/Qidi.json
#	resources/profiles/Qidi/filament/fdm_filament_abs.json
#	resources/profiles/Qidi/filament/fdm_filament_asa.json
#	resources/profiles/Qidi/filament/fdm_filament_common.json
#	resources/profiles/Qidi/filament/fdm_filament_pa.json
#	resources/profiles/Qidi/filament/fdm_filament_pc.json
#	resources/profiles/Qidi/filament/fdm_filament_pet.json
#	resources/profiles/Qidi/filament/fdm_filament_pla.json
#	resources/profiles/Qidi/filament/fdm_filament_pva.json
#	resources/profiles/Qidi/filament/fdm_filament_tpu.json
#	resources/profiles/Qidi/machine/Qidi X-CF Pro 0.4 nozzle.json
#	resources/profiles/Qidi/machine/Qidi X-CF Pro.json
#	resources/profiles/Qidi/machine/Qidi X-Max 0.4 nozzle.json
#	resources/profiles/Qidi/machine/Qidi X-Max 3 0.4 nozzle.json
#	resources/profiles/Qidi/machine/Qidi X-Max 3.json
#	resources/profiles/Qidi/machine/Qidi X-Max.json
#	resources/profiles/Qidi/machine/Qidi X-Plus 0.4 nozzle.json
#	resources/profiles/Qidi/machine/Qidi X-Plus 3 0.4 nozzle.json
#	resources/profiles/Qidi/machine/Qidi X-Plus 3.json
#	resources/profiles/Qidi/machine/Qidi X-Plus.json
#	resources/profiles/Qidi/machine/Qidi X-Smart 3 0.4 nozzle.json
#	resources/profiles/Qidi/machine/Qidi X-Smart 3.json
#	resources/profiles/Qidi/machine/fdm_machine_common.json
#	resources/profiles/Qidi/machine/fdm_qidi_common.json
#	resources/profiles/Qidi/machine/fdm_qidi_x3_common.json
#	resources/profiles/Qidi/process/0.12mm Fine @Qidi XCFPro.json
#	resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax.json
#	resources/profiles/Qidi/process/0.12mm Fine @Qidi XMax3.json
#	resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus.json
#	resources/profiles/Qidi/process/0.12mm Fine @Qidi XPlus3.json
#	resources/profiles/Qidi/process/0.12mm Fine @Qidi XSmart3.json
#	resources/profiles/Qidi/process/0.16mm Optimal @Qidi XCFPro.json
#	resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax.json
#	resources/profiles/Qidi/process/0.16mm Optimal @Qidi XMax3.json
#	resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus.json
#	resources/profiles/Qidi/process/0.16mm Optimal @Qidi XPlus3.json
#	resources/profiles/Qidi/process/0.16mm Optimal @Qidi XSmart3.json
#	resources/profiles/Qidi/process/0.20mm Standard @Qidi XCFPro.json
#	resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax.json
#	resources/profiles/Qidi/process/0.20mm Standard @Qidi XMax3.json
#	resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus.json
#	resources/profiles/Qidi/process/0.20mm Standard @Qidi XPlus3.json
#	resources/profiles/Qidi/process/0.20mm Standard @Qidi XSmart3.json
#	resources/profiles/Qidi/process/0.25mm Draft @Qidi XCFPro.json
#	resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax.json
#	resources/profiles/Qidi/process/0.25mm Draft @Qidi XMax3.json
#	resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus.json
#	resources/profiles/Qidi/process/0.25mm Draft @Qidi XPlus3.json
#	resources/profiles/Qidi/process/0.25mm Draft @Qidi XSmart3.json
#	resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XCFPro.json
#	resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax.json
#	resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XMax3.json
#	resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus.json
#	resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XPlus3.json
#	resources/profiles/Qidi/process/0.30mm Extra Draft @Qidi XSmart3.json
#	resources/profiles/Qidi/process/fdm_process_common.json
#	resources/profiles/Qidi/process/fdm_process_qidi_common.json
#	resources/profiles/Qidi/process/fdm_process_qidi_x3_common.json
#	resources/profiles/Tronxy/filament/Tronxy Generic ABS.json
#	resources/profiles/Tronxy/process/0.12mm Fine @Tronxy.json
#	resources/profiles/Tronxy/process/0.15mm Optimal @Tronxy.json
#	resources/profiles/Tronxy/process/0.20mm Standard @Tronxy.json
#	resources/profiles/Tronxy/process/0.24mm Draft @Tronxy.json
#	resources/profiles/Voron.json
#	resources/profiles/Voron/filament/Generic ABS @Voron.json
#	resources/profiles/Voron/filament/Generic ASA @Voron.json
#	resources/profiles/Voron/filament/Generic PA @Voron.json
#	resources/profiles/Voron/filament/Generic PETG @Voron.json
#	resources/profiles/Voron/filament/Generic PVA @Voron.json
#	resources/profiles/Voron/filament/Voron Generic PA-CF.json
#	resources/profiles/Voron/filament/Voron Generic PC.json
#	resources/profiles/Voron/filament/Voron Generic PLA-CF.json
#	resources/profiles/Voron/filament/Voron Generic PLA.json
#	resources/profiles/Voron/filament/Voron Generic TPU.json
#	resources/profiles/Voron/machine/Voron 0.1.json
#	resources/profiles/Voron/machine/Voron 2.4 250.json
#	resources/profiles/Voron/machine/Voron 2.4 300.json
#	resources/profiles/Voron/machine/Voron 2.4 350.json
#	resources/profiles/Voron/machine/Voron Trident 250.json
#	resources/profiles/Voron/machine/Voron Trident 300.json
#	resources/profiles/Voron/machine/Voron Trident 350.json
#	resources/profiles/Voron/process/fdm_process_voron_common.json
#	resources/profiles/Voxelab.json
#	resources/profiles/Voxelab/filament/Generic ABS @Voxelab.json
#	resources/profiles/Voxelab/filament/Generic PLA @Voxelab.json
#	resources/profiles/Voxelab/filament/fdm_filament_common.json
#	resources/profiles/Voxelab/machine/Voxelab Aquila X2 0.4 nozzle.json
#	resources/profiles/Voxelab/machine/Voxelab Aquila X2.json
#	resources/profiles/Voxelab/machine/fdm_machine_common.json
#	resources/profiles/Voxelab/process/0.16mm Optimal @Voxelab AquilaX2.json
#	resources/profiles/Voxelab/process/0.20mm Standard @Voxelab AquilaX2.json
#	resources/web/data/text.js
#	resources/web/guide/21/21.js
#	resources/web/guide/24/24.js
#	src/BaseException.cpp
#	src/OrcaSlicer.cpp
#	src/libslic3r/AppConfig.cpp
#	src/libslic3r/BoundingBox.hpp
#	src/libslic3r/Extruder.hpp
#	src/libslic3r/Fill/Fill.cpp
#	src/libslic3r/Format/bbs_3mf.cpp
#	src/libslic3r/GCode.cpp
#	src/libslic3r/GCode.hpp
#	src/libslic3r/GCode/CoolingBuffer.cpp
#	src/libslic3r/GCode/GCodeProcessor.cpp
#	src/libslic3r/GCode/GCodeProcessor.hpp
#	src/libslic3r/GCode/WipeTower.cpp
#	src/libslic3r/GCodeWriter.cpp
#	src/libslic3r/GCodeWriter.hpp
#	src/libslic3r/Model.cpp
#	src/libslic3r/PerimeterGenerator.cpp
#	src/libslic3r/Preset.cpp
#	src/libslic3r/Preset.hpp
#	src/libslic3r/PresetBundle.cpp
#	src/libslic3r/PresetBundle.hpp
#	src/libslic3r/Print.cpp
#	src/libslic3r/Print.hpp
#	src/libslic3r/PrintBase.hpp
#	src/libslic3r/PrintConfig.cpp
#	src/libslic3r/PrintConfig.hpp
#	src/libslic3r/PrintObject.cpp
#	src/libslic3r/TreeSupport.cpp
#	src/libslic3r/Utils.hpp
#	src/mcut/CMakeLists.txt
#	src/slic3r/CMakeLists.txt
#	src/slic3r/GUI/3DBed.cpp
#	src/slic3r/GUI/AMSMaterialsSetting.cpp
#	src/slic3r/GUI/AMSMaterialsSetting.hpp
#	src/slic3r/GUI/BBLTopbar.cpp
#	src/slic3r/GUI/BBLTopbar.hpp
#	src/slic3r/GUI/BackgroundSlicingProcess.hpp
#	src/slic3r/GUI/BindDialog.cpp
#	src/slic3r/GUI/ConfigManipulation.cpp
#	src/slic3r/GUI/DeviceManager.cpp
#	src/slic3r/GUI/Field.cpp
#	src/slic3r/GUI/GLCanvas3D.cpp
#	src/slic3r/GUI/GUI_App.cpp
#	src/slic3r/GUI/GUI_App.hpp
#	src/slic3r/GUI/GUI_Factories.cpp
#	src/slic3r/GUI/GUI_Factories.hpp
#	src/slic3r/GUI/GUI_ObjectList.cpp
#	src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp
#	src/slic3r/GUI/Jobs/ArrangeJob.cpp
#	src/slic3r/GUI/Jobs/FillBedJob.cpp
#	src/slic3r/GUI/MainFrame.cpp
#	src/slic3r/GUI/MediaPlayCtrl.cpp
#	src/slic3r/GUI/Monitor.cpp
#	src/slic3r/GUI/PartPlate.cpp
#	src/slic3r/GUI/PartPlate.hpp
#	src/slic3r/GUI/PlateSettingsDialog.cpp
#	src/slic3r/GUI/PlateSettingsDialog.hpp
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/Plater.hpp
#	src/slic3r/GUI/PresetComboBoxes.cpp
#	src/slic3r/GUI/ReleaseNote.cpp
#	src/slic3r/GUI/SelectMachine.cpp
#	src/slic3r/GUI/StatusPanel.cpp
#	src/slic3r/GUI/Tab.cpp
#	src/slic3r/GUI/Widgets/Label.cpp
#	src/slic3r/GUI/Widgets/Label.hpp
#	src/slic3r/GUI/Widgets/SideButton.cpp
#	src/slic3r/GUI/calib_dlg.cpp
#	src/slic3r/GUI/calib_dlg.hpp
#	src/slic3r/GUI/wxExtensions.hpp
#	src/slic3r/Utils/NetworkAgent.cpp
#	src/slic3r/Utils/bambu_networking.hpp
#	version.inc
This commit is contained in:
SoftFever 2023-08-26 16:13:57 +08:00
commit e65b11a831
734 changed files with 72573 additions and 47919 deletions

View file

@ -0,0 +1,25 @@
<!-- <!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<link rel="stylesheet" href="./main.css" />
<script src="./main.js"></script>
</head>
<body style="background-color: #F8F8F8;">
<div class="container markdown-body" id="contents"></div>
</body>
<script>
const resizeOberver = new ResizeObserver((entities) => {
const height = entities[0].contentRect.height
document.title = height.toFixed()
})
resizeOberver.observe(document.querySelector('#contents'))
window.showMarkdownFile = function (file) {
$.get(file, function( data ) {
window.showMarkdown(encodeURIComponent(data));
});
}
</script>
</html>
-->

View file

@ -1,564 +1,323 @@
var LangText={
"en":{
"t1":"Welcome to Orca Slicer",
"t2":"Orca Slicer will be setup in several steps. Let's start!",
"t3":"User Agreement",
"t4":"Disagree",
"t5":"Agree",
"t6":"We kindly request your help to improve<br/> everyone's printing",
"t7":"Allow sending anonymous data",
"t8":"Back",
"t9":"Next",
"t10":"Printer Selection",
"t11":"All",
"t12":"Clear all",
"t13":"mm nozzle",
"t14":"Filament Selection",
"t15":"Printer",
"t16":"Filament type",
"t17":"Vendor",
"t18":"error",
"t19":"At least one filament must be selected.",
"t20":"Do you want to use default filament ?",
"t21":"yes",
"t22":"no",
"t23":"Release note",
"t24":"Get Started",
"t25":"Finish",
"t26":"Login",
"t27":"Register",
"t28":"Recent",
"t29":"Mall",
"t30":"Manual",
"t31":"New Project",
"t32":"Create new project",
"t33":"Open Project",
"t34":"hotspot",
"t35":"Recently opened",
"t36":"ok",
"t37":"At least one printer must be selected.",
"t38":"Cancel",
"t39":"Confirm",
"t40":"Network disconnect, please check and try again later.",
"t47":"Please select your login region",
"t48":"Asia-Pacific",
"t49":"China",
"t50":"Log out",
"t52":"Skip",
"t53":"Join",
"t54":"In the 3D Printing community, we learn from each other's successes and failures to adjust our own slicing parameters and settings. Orca Slicer follows the same principle and uses machine learning to improve its performance from the successes and failures of the vast number of prints by our users. We are training Orca Slicer to be smarter by feeding them the real-world data. If you are willing, this service will access information from your error logs and usage logs, which may include information described in ",
"t55":"Privacy Policy",
"t56":". We will not collect any Personal Data by which an individual can be identified directly or indirectly, including without limitation names, addresses, payment information, or phone numbers. By enabling this service, you agree to these terms and the statement about Privacy Policy.",
"t57":"",
"t58":"",
"t59":".",
"t60":"Europe",
"t61":"North America",
"t62":"Others",
"t63":"After changing the region, your account will be logged out. Please log in again later.",
"t64":"Bambu Network plug-in",
"t65":"Sending print job via WLAN",
"t66":"Full remote control",
"t67":"Liveview streaming",
"t68":"User data synchronization",
"t69":"Install Bambu Network plug-in",
"t70":"",
"t71":"Downloading",
"t72":"Downloading failed",
"t73":"Installation successful.",
"t74":"Restart",
"t75":"Bambu Network plug-in provides the following features:",
"t76":"Bambu Network plug-in not detected. Click ",
"t77":"here",
"t78":" to install it.",
"t79":"Failed to install plug-in. ",
"t80":"Try the following steps:",
"t81":"1, Click ",
"t82":" to open the plug-in directory",
"t83":"2, Close all open Orca Slicer",
"t84":"3, Delete all files under the plug-in directory",
"t85":"4, Reopen Orca Slicer and install the plug-in again",
"t86":"Close",
"t87":"User Manual",
"t88":"Remove",
"t89":"Open Containing Folder",
"t90":"3D Model",
"t91":"Download 3D models",
"t92":"Bambu Christmas Cabin",
"t93":"Printer Connection",
"t94":"Please set up your printer connection to view the device."
},
"es_ES":{
"t1":"Bienvenido a Orca Slicer",
"t2":"Va a configurar Orca Slicer mediante varios pasos. ¡Vamos a comenzar!",
"t3":"Terminos de usuario",
"t4":"Estoy en desacuerdo",
"t5":"Estoy de deacuerdo",
"t6":"Le rogamos su ayuda para mejorar<br/> la experiencia de impresión de todos",
"t7":"Permitir enviar datos anónimos",
"t8":"Volver",
"t9":"Siguiente",
"t10":"Seleccionar impresora",
"t11":"Todo",
"t12":"Limpiar todo",
"t13":"mm de boquilla",
"t14":"Seleccionar filamento",
"t15":"Impresora",
"t16":"Tipo de filamento",
"t17":"Fabricante",
"t18":"error",
"t19":"Al menos se debe seleccionar un filamento.",
"t20":"¿Desea usar el filamento por defecto?",
"t21":"sí",
"t22":"no",
"t23":"Notas de lanzamiento",
"t24":"Comencemos",
"t25":"Finalizar",
"t26":"Ingresar",
"t27":"Registro",
"t28":"Reciente",
"t29":"Tienda",
"t30":"Manual",
"t31":"Nuevo proyecto",
"t32":"Crear nuevo proyecto",
"t33":"Abrir proyecto",
"t34":"punto de acceso",
"t35":"Abiertos recientemente",
"t36":"ok",
"t37":"Al menos se debe seleccionar una impresora.",
"t38":"Cancelar",
"t39":"Confirmar",
"t40":"Desconectado, por favor compruebe la conexión de red e inténtelo de nuevo.",
"t47":"Por favor, seleccione su región:",
"t48":"Asia-Pacífico",
"t49":"China",
"t50":"Desconectarse",
"t52":"Saltar",
"t53":"Ingresar",
"t54":"En la comunidad de impresión 3D, pordemos aprender de los logros y los fallos de otros para obtener nuestros propios parametros y configuraciones de Orca Slicer follows the same principle and uses machine learning to improve its performance from the successes and failures of the vast number of prints by our users. We are training Orca Slicer to be smarter by feeding them the real-world data. If you are willing, this service will access information from your error logs and usage logs, which may include information described in ",
"t55":"Política de privacidad",
"t56":". No recolectaremos ningún tipo de dato personal con el que se le pueda identificar directa o indirectamente, incluyendo nombre, direcciones, información de pago, o números de teléfono. Activando este servicio, si está de acuerdo en estos términos y los acuerdos sobre Política y Privacidad.",
"t57":"",
"t58":"",
"t59":".",
"t60":"Europa",
"t61":"Norte América",
"t62":"Otras",
"t63":"Después de cambiar de región, su cuenta será desconectada. por favor, vuelva a ingresar.",
"t64":"Complemento de red Bambú",
"t65":"<Mandando trabajo de impresión via WLAN>",
"t66":"Control remoto total",
"t67":"Retransmisión en vivo",
"t68":"Sincronización de datos de usuario",
"t69":"Instalar complemento de red Bambú",
"t70":"",
"t71":"Descargando",
"t72":"Descarga fallida",
"t73":"Instalación exitosa.",
"t74":"Reiniciar",
"t75":"El complemento de red Bambú proporciona las siguientes carácteristicas:",
"t76":"Complemento de red Bambú no encontrado. Presione ",
"t77":"aquí",
"t78":" para instalarlo.",
"t79":"Fallo al instalar el complemento. ",
"t80":"Intente los siguientes pasos:",
"t81":"1, Presionar ",
"t82":" para abrir el directorio de complementos",
"t83":"2, Cerrar todos los Orca Slicer abiertos",
"t84":"3, Borrar todos los archivos en el directorio de complementos",
"t85":"4, Reabrir Orca Slicer e instalar el complemento de nuevo",
"t86":"Cerrar",
"t87":"Manual de usuario",
"t88":"Borrar",
"t89":"Abrir carpeta contenedora",
"t90":"Modelo 3D",
"t91":"Descargar modelos 3D",
"t92":"Cabina Bambú de Navidad",
"t93":"Conexión de Impresora",
"t94":"Por favor, configure la conexión de red de la impresora para encontrarla."
},
"de_DE":{
"t1":"Willkommen im Orca Slicer",
"t2":"Das Orca Slicer wird in mehreren Schritten eingerichtet. Lass uns anfangen!",
"t3":"Nutzervereinbarung",
"t4":"Ablehnen",
"t5":"Zustimmen",
"t6":"Wir bitten um deine Hilfe, um den Druck für alle zu verbessern",
"t7":"Anonyme Daten senden erlauben",
"t8":"Zurück",
"t9":"Weiter",
"t10":"Druckerauswahl",
"t11":"Alle",
"t12":"Keinen",
"t13":"mm Düse",
"t14":"Filamentauswahl",
"t15":"Drucker",
"t16":"Filamenttyp",
"t17":"Hersteller",
"t18":"Fehler",
"t19":"Es muss mindestens ein Filament ausgewählt sein.",
"t20":"Möchten Sie das Standard-Filament verwenden?",
"t21":"Ja",
"t22":"Nein",
"t23":"Versionshinweise",
"t24":"Loslegen",
"t25":"Fertig",
"t26":"Anmelden",
"t27":"Registrieren",
"t28":"Neueste",
"t29":"Einkaufszentrum",
"t30":"Handbuch",
"t31":"Neues Projekt",
"t32":"Neues Projekt erstellen",
"t33":"Projekt öffnen",
"t34":"Hotspot",
"t35":"Zuletzt geöffnet",
"t36":"OK",
"t37":"Es muss mindestens ein Drucker ausgewählt sein.",
"t38":"Abbrechen",
"t39":"Bestätigen",
"t40":"Netzwerkunterbrechung, bitte überprüfen und später erneut versuchen.",
"t47":"Bitte wählen Sie Ihre Login-Region aus",
"t48":"Asien-Pazifik",
"t49":"China",
"t50":"Abmelden",
"t52":"Überspringen",
"t53":"Beitreten",
"t54":"In der 3D-Druck-Community lernen wir aus den Erfolgen und Misserfolgen der anderen Benutzer, um unsere eigenen Schneideparameter und Einstellungen anzupassen. Orca Slicer folgt demselben Prinzip und verbessert seine Leistung durch die Erfolge und Misserfolge der Vielzahl von Drucken unserer Benutzer mittels maschinellem Lernen. Wir trainieren Orca Slicer, indem wir ihnen die realen Daten zuführen. Wenn Sie bereit sind, greift dieser Dienst auf Informationen aus Ihren Fehler- und Nutzungsprotokollen zu, die Informationen enthalten können, die in der ",
"t55":"Datenschutzrichtlinie",
"t56": ". Wir werden keine personenbezogenen Daten sammeln, durch die eine Person direkt oder indirekt identifiziert werden kann, einschließlich, aber nicht beschränkt auf Namen, Adressen, Zahlungsinformationen oder Telefonnummern. Durch Aktivieren dieses Dienstes stimmen Sie diesen Bedingungen und der Erklärung zur Datenschutzrichtlinie zu.",
"t57": "",
"t58": "",
"t59": ".",
"t60": "Europa",
"t61": "Nordamerika",
"t62": "Andere",
"t63": "Nach Ändern der Region wird Ihr Konto abgemeldet. Bitte melden Sie sich später erneut an.",
"t64": "Bambu Network-Plug-in",
"t65": "Senden von Druckaufträgen über WLAN",
"t66": "Vollständige Fernsteuerung",
"t67": "Live-View-Streaming",
"t68": "Synchronisierung von Benutzerdaten",
"t69": "Bambu Network-Plug-in installieren",
"t70": "",
"t71": "Herunterladen",
"t72": "Herunterladen fehlgeschlagen",
"t73": "Installation erfolgreich.",
"t74": "Neustart",
"t75": "Das Bambu Network-Plug-in bietet folgende Funktionen:",
"t76": "Das Bambu Network-Plug-in wurde nicht erkannt. Klicken Sie ",
"t77": "hier",
"t78": ", um es zu installieren.",
"t79": "Fehler beim Installieren des Plug-ins. ",
"t80": "Versuchen Sie die folgenden Schritte:",
"t81": "1, Klicken Sie auf ",
"t82": ", um das Plug-in-Verzeichnis zu öffnen",
"t83": "2, Schließen Sie alle geöffneten Orca Slicer",
"t84": "3, Löschen Sie alle Dateien im Plug-in-Verzeichnis",
"t85": "4, Öffnen Sie Orca Slicer erneut und installieren Sie das Plug-in erneut",
"t86": "Schließen",
"t87": "Benutzerhandbuch",
"t88": "Entfernen",
"t89": "Enthaltenden Ordner öffnen",
"t90": "3D-Modell",
"t91": "3D-Modelle herunterladen",
"t92": "Bambu Weihnachtshütte"
},
"cs_CZ":{
"t1":"Vítejte v Orca Slicer",
"t2":"Orca Slicer bude nastaven v několika krocích. Začněme!",
"t3":"Uživatelská smlouva",
"t4":"Nesouhlasím",
"t5":"Souhlasím",
"t6":"Prosíme o vaši pomoc se zlepšením všech tisků",
"t7":"Povolit odesílání anonymních dat",
"t8":"Zpět",
"t9":"Další",
"t10":"Výběr tiskárny",
"t11":"Všechny",
"t12":"Vymazat vše",
"t13":"Tryska mm",
"t14":"Výběr Filamentu",
"t15":"Tiskárna",
"t16":"Typ Filamentu",
"t17":"Dodavatel",
"t18":"Chyba",
"t19":"Musí být vybraný alespoň jeden Filament.",
"t20":"Chcete použít výchozí Filament?",
"t21":"Ano",
"t22":"Ne",
"t23":"Poznámka k vydání",
"t24":"Začínáme",
"t25":"Dokončit",
"t26":"Přihlásit",
"t27":"Registrovat",
"t28":"Poslední",
"t29":"Obchodní centrum",
"t30":"Manuální",
"t31":"Nový projekt",
"t32":"Vytvořit nový projekt",
"t33":"Otevřít projekt",
"t34":"Hotspot",
"t35":"Nedávno otevřeno",
"t36":"OK",
"t37":"Musí být vybrána alespoň jedna tiskárna.",
"t38":"Zrušit",
"t39":"Potvrdit",
"t40":"Síť je odpojena, prosím zkontrolujte a zkuste to znovu později.",
"t47":"Vyberte prosím svou oblast přihlášení",
"t48":"Asie-Pacifik",
"t49":"Čína",
"t50":"Odhlásit se",
"t52":"Přeskočit",
"t53":"Připojit se",
"t54":"V komunitě 3D tisku se ze vzájemných úspěchů a neúspěchů učíme upravovat vlastní parametry a nastavení krájení. Orca Slicer se řídí stejným principem a využívá strojové učení ke zlepšení svého výkonu na základě úspěchů a neúspěchů počet výtisků našimi uživateli. Orca Slicer školíme, aby byl chytřejší tím, že jim poskytuje data z reálného světa. Pokud budete chtít, bude tato služba přistupovat k informacím z vašich protokolů chyb a protokolů použití, které mohou zahrnovat informace popsané v ",
"t55":"Zásady ochrany osobních údajů",
"t56": ". Nebudeme shromažďovat žádné osobní údaje, pomocí kterých lze přímo nebo nepřímo identifikovat jednotlivce, včetně jmen, adres, platebních údajů nebo telefonních čísel. Povolením této služby souhlasíte s těmito podmínkami a prohlášení o zásadách ochrany osobních údajů.",
"t57": "",
"t58": "",
"t59": ".",
"t60": "Evropa",
"t61": "Severní Amerika",
"t62": "Ostatní",
"t63": "Po změně regionu bude váš účet odhlášen. Přihlaste se prosím znovu později.",
"t64": "Bambu Network plug-in",
"t65": "Odesílání tiskové úlohy přes WLAN",
"t66": "Plné dálkové ovládání",
"t67": "Streamování v přímém přenosu",
"t68": "Synchronizace uživatelských dat",
"t69": "Instalovat Bambu Network plug-in",
"t70": "",
"t71": "Stahování",
"t72": "Stahování se nezdařilo",
"t73": "Instalace úspěšná.",
"t74": "Restartovat",
"t75": "Síťový plug-in Bambu poskytuje následující funkce:",
"t76": "Síťový plug-in Bambu nebyl zjištěn. Klikněte na ",
"t77": "zde",
"t78": " k instalaci.",
"t79": "Nepodařilo se nainstalovat plugin.",
"t80": "Zkuste následující kroky:",
"t81": "1, klikněte",
"t82": "otevřete adresář plug-in",
"t83": "2, Zavřete všechny otevřené Orca Slicer",
"t84": "3, Smažte všechny soubory v adresáři plug-in",
"t85": "4, znovu otevřete Orca Slicer a znovu nainstalujte zásuvný modul",
"t86": "Zavřít",
"t87": "Uživatelská příručka",
"t88": "Odstranit",
"t89": "Otevřít složku obsahující",
"t90": "3D model",
"t91": "Stáhnout 3D modely",
"t92": "Vánoční kabina Bambu"
},
"fr_FR":{
"t1":"Bienvenue sur Orca Slicer",
"t2":"Orca Slicer sera configuré en plusieurs étapes. Commençons !",
"t3":"Accord d'utilisation",
"t4":"Décliner",
"t5":"Accepter",
"t6":"Nous sollicitons votre aide pour améliorer<br/> l'impression de chacun",
"t7":"Autoriser l'envoi de données anonymes",
"t8":"Retour",
"t9":"Suivant",
"t10":"Sélection de l'imprimante",
"t11":"Tous",
"t12":"Supprimer",
"t13":"mm",
"t14":"Sélection des filaments",
"t15":"Imprimante",
"t16":"Type de filament",
"t17":"Fournisseur",
"t18":"erreur",
"t19":"Au moins un filament doit être sélectionné.",
"t20":"Voulez-vous utiliser le filament par défaut ?",
"t21":"oui",
"t22":"non",
"t23":"Note de version",
"t24":"Commencer",
"t25":"Terminer",
"t26":"Connexion",
"t27":"Inscription",
"t28":"Récent",
"t29":"Mail",
"t30":"Manuel",
"t31":"Nouveau Projet",
"t32":"Créer un nouveau projet",
"t33":"Ouvrir un Projet",
"t34":"hotspot",
"t35":"Récemment ouvert",
"t36":"ok",
"t37":"Au moins une imprimante doit être sélectionnée.",
"t38":"Annuler",
"t39":"Confirmer",
"t40":"Déconnexion du réseau, veuillez vérifier et réessayer plus tard.",
"t47":"Veuillez sélectionner votre région de connexion",
"t48":"Asie-Pacifique",
"t49":"Chine",
"t50":"Se déconnecter",
"t52":"Passer",
"t53":"Rejoindre",
"t54":"Dans la communauté de l'impression 3D, nous apprenons des succès et des échecs des uns et des autres pour ajuster nos propres paramètres et paramètres de découpage. Orca Slicer suit le même principe et utilise l'apprentissage automatique pour améliorer ses performances à partir des succès et des échecs du grand nombre d'impressions de nos utilisateurs. Nous formons Orca Slicer à être plus intelligent en leur fournissant les données du monde réel. Si vous le souhaitez, ce service accédera aux informations de vos journaux d'erreurs et de vos journaux d'utilisation, qui peuvent inclure des informations décrites dans ",
"t55":"Politique de confidentialité",
"t56":". Nous ne collecterons aucune donnée personnelle par laquelle un individu peut être identifié directement ou indirectement, y compris, sans s'y limiter, les noms, adresses, informations de paiement ou numéros de téléphone. En activant ce service, vous acceptez ces conditions et la déclaration sur la politique de confidentialité.",
"t57":"",
"t58":"",
"t59":".",
"t60":"Europe",
"t61":"Amérique du Nord",
"t62":"Autres",
"t63":"Après avoir changé de région, votre compte sera déconnecté. Veuillez vous reconnecter ensuite.",
"t64":"Plug-in Bambu Network",
"t65":"Envoi du travail d'impression via WLAN",
"t66":"Commande à distance complète",
"t67":"Diffusion en direct",
"t68":"Synchronisation des données utilisateur",
"t69":"Installer Bambu Network",
"t70":"",
"t71":"Téléchargement",
"t72":"Échec du téléchargement",
"t73":"Installation réussie.",
"t74":"Redémarrer",
"t75":"Le plug-in Bambu Network offre les fonctionnalités suivantes :",
"t76":"Le plug-in Bambu Network n'est pas détecté. Cliquez ",
"t77":"ici",
"t78":" pour l'installer.",
"t79":"Échec de l'installation du plug-in. ",
"t80":"Essayez les étapes suivantes :",
"t81":"1, Cliquez ",
"t82":" pour ouvrir le répertoire des plug-ins",
"t83":"2, Fermez toutes les fenêtres de Orca Slicer",
"t84":"3, Supprimez tous les fichiers dans le répertoire du plug-in",
"t85":"4, Relancez Orca Slicer et réinstallez le plug-in.",
"t86":"Fermer",
"t87":"Manuel d'utilisation",
"t88":"Supprimer",
"t89":"Ouvrir le dossier contenant",
"t90":"Modèle 3D",
"t91":"Télécharger des modèles 3D",
"t92":"Cabane de Noël Bambu",
"t93":"Connexion à l'imprimante",
"t94":"Veuillez configurer la connexion de votre imprimante pour afficher l'interface.",
"wk1":"Démarrage rapide",
"wk2":"Cet article présente l'utilisation la plus basique de Orca Slicer. Il guide les utilisateurs pour configurer le logiciel, créer des projets et effectuer la première tâche d'impression étape par étape.",
"wk3":"Workflow basé sur des projets",
"wk4":"Orca Slicer met en avant un workflow de pointe pour véritablement réaliser un projet « tout en un ». Basé sur le format de projet 3MF grand public, il fournit une série de nouvelles fonctionnalités révolutionnaires, telles que la prise en charge de plusieurs plaques, un gestionnaire de ressources de projet et une vue d'assemblage/de pièce. Cela améliore considérablement l'efficacité des créateurs et des utilisateurs réguliers",
"wk5":"Impression haute vitesse de qualité",
"wk6":"Il est difficile d'imprimer à grande vitesse tout en maintenant une qualité élevée. Orca Slicer rend cela possible. « Arch Move » permet à la hotend de se déplacer en douceur et réduit les vibrations de la machine. Le refroidissement intelligent est basé sur des paramètres de refroidissement affinés pour chaque type de filament. Le « ralentissement automatique » pour les paroies en porte-à-faux permet d'éviter la déformation à grande vitesse.",
"wk7":"Impression multi-couleur",
"wk8":"Orca Slicer fournit des outils de colorisation polyvalents pour créer un modèle coloré. Vous pouvez librement ajouter/supprimer des filaments dans un projet et coloriser votre modèle avec différents pinceaux. Avant l'impression, chaque filament sera automatiquement mappé sur un emplacement AMS, sans avoir besoin de modifier manuellement le placement de la bobine dans l'AMS.",
"wk9":"Guide de réglage des paramètres de découpage",
"wk10":"Les fonctionnalités de gestion des paramètres de Orca Slicer offrent un contrôle très flexible et puissant sur le processus de découpage. Cet article présente l'organisation des paramètres et fournit quelques compétences pour tirer pleinement parti de ces fonctionnalités.",
"wk11":"Contrôle et surveillance à distance",
"wk12":"Orca Slicer prend en charge l'envoi du travail d'impression à votre imprimante via le réseau WAN/LAN, contrôlant et surveillant chaque aspect de votre imprimante 3D et des travaux d'impression. Si vous avez plusieurs imprimantes, vous pouvez facilement basculer entre elles dans la liste des périphériques.",
"wk13":"Format STEP",
"wk14":"Par rapport au format STL, le format STEP apporte des informations plus efficaces. Grâce à la grande précision de ce format, de nombreuses trajectoires d'extrusion peuvent être générées sous forme d'arcs. Il inclut également la relation d'assemblage de chaque pièce d'un modèle, qui peut être utilisée pour restaurer la vue d'assemblage après la coupe d'un modèle.",
"wk15":"Texte 3D",
"wk16":"Avec l'outil Texte 3D, les utilisateurs peuvent facilement créer diverses formes de texte 3D dans le projet, ce qui rend le modèle plus personnalisé. Orca Slicer fournit des dizaines de polices et prend en charge les styles gras et italique pour donner au texte une plus grande flexibilité."
},
"zh_CN":{
"t1":"欢迎使用Orca Slicer",
"t2":"Orca Slicer需要几步安装步骤让我们开始吧",
"t3":"用户使用协议",
"t4":"拒绝",
"t5":"同意",
"t6":"帮助提升Orca Slicer性能",
"t7":"允许发送匿名数据",
"t8":"上一步",
"t9":"下一步",
"t10":"选择打印机",
"t11":"全部",
"t12":"清空",
"t13":"mm 喷嘴",
"t14":"选择材料",
"t15":"打印机",
"t16":"材料类型",
"t17":"供应商",
"t18":"错误",
"t19":"至少要选择一款材料。",
"t20":"你希望使用默认的材料列表吗?",
"t21":"是",
"t22":"否",
"t23":"发布说明",
"t24":"开始",
"t25":"结束",
"t26":"登录",
"t27":"注册",
"t28":"近期",
"t29":"商城",
"t30":"使用手册",
"t31":"新建项目",
"t32":"创建一个新项目",
"t33":"打开项目",
"t34":"热点",
"t35":"近期打开文件",
"t36":"确定",
"t37":"至少需要选择一款打印机。",
"t38":"取消",
"t39":"确定",
"t40":"网络不通,请检查并稍后重试。",
"t47":"请选择登录区域",
"t48":"亚太",
"t49":"中国",
"t50":"退出登录",
"t52":"忽略",
"t53":"同意",
"t54":"在3D打印社区我们从彼此的成功和失败中学习调整自己的切片参数和设置。Orca Slicer遵循同样的原则通过机器学习的方式从大量用户打印的成功和失败中获取经验从而改善打印性能。我们正在通过向Orca Slicer提供真实世界的数据来训练他们变得更聪明。如果您愿意此服务将访问您的错误日志和使用日志中的信息其中可能包括",
"t55":"隐私政策",
"t56":"中描述的信息。我们不会收集任何可以直接或间接识别个人的个人数据,包括但不限于姓名、地址、支付信息或电话号码。启用此服务即表示您同意这些条款和有关隐私政策的声明。",
"t57":"",
"t58":"",
"t59":"。",
"t60":"欧洲",
"t61":"北美",
"t62":"其他",
"t63":"切换区域后,你的账号会被登出。稍后请重新登录。",
"t64":"Bambu网络插件",
"t65":"通过WLAN发送打印任务",
"t66":"强大的远程控制功能",
"t67":"实时视频流",
"t68":"用户数据同步",
"t69":"安装Bambu网络插件",
"t70":"",
"t71":"正在下载",
"t72":"下载失败",
"t73":"安装成功。",
"t74":"重启",
"t75":"Bambu网络插件提供以下功能",
"t76":"没有发现Bambu网络插件请",
"t77":"下载",
"t78":"并安装。",
"t79":"安装插件失败。",
"t80":"请尝试如下步骤:",
"t81":"1, 点击",
"t82":"打开插件所在目录",
"t83":"2, 关闭所有Orca Slicer",
"t84":"3, 删除插件所在目录下的所有文件",
"t85":"4, 重新启动Orca Slicer并尝试安装插件",
"t86":"关闭",
"t87":"使用引导",
"t88":"移除",
"t89":"打开所在的文件夹",
"t90":"3D 模型",
"t91":"下载3D模型",
"t92":"Bambu圣诞小屋",
"wk1":"快速入门指南",
"wk2":"本文介绍了Orca Slicer的最基本用法。它指导用户配置软件创建项目并逐步完成第一个打印任务。",
"wk3":"基于项目的工作流",
"wk4":"Orca Slicer提出了领先的工作流程真正实现了“一体化”项目。基于主流的3MF项目格式它提供了一系列革命性的新功能如支持多盘、项目资源管理器和装配/零件视图。它可以大幅提高模型创作者及普通用户的使用效率。",
"wk5":"质量卓越的高速打印",
"wk6":"在保持高质量的前提下进行高速打印是非常具有挑战性的。Orca Slicer让这一切发生。支持“圆弧移动”特性使工具头移动更加顺滑有效减少机器振动。基于不同材料类型的精细标定过的冷却控制参数使得冷却过程可以自动开展。在悬垂区域进行“自动减速”可防止高速打印时在此区域的外观瑕疵。",
"wk7":"多色打印",
"wk8":"Orca Slicer提供了多种着色工具来制作彩色模型。您可以在项目中自由添加/移除打印材料并使用不同的笔刷为模型着色。开始打印时打印任务中的各个材料将自动映射到匹配的AMS槽位无需手动调整AMS中的料卷位置。",
"wk9":"切片参数设置指南",
"wk10":"Orca Slicer中的参数管理功能为切片过程提供了非常灵活和强大的控制。本文介绍了切片参数的组织分类和设置方法并提供了一些使用技巧。",
"wk11":"远程控制和监控",
"wk12":"Orca Slicer支持通过WAN/LAN网络向打印机发送打印任务控制和查看3D打印机和打印任务的各个方面。如果您有多台打印机还可以在设备列表中轻松切换。",
"wk13":"STEP格式",
"wk14":"与STL相比STEP带来了更多有效的信息。由于STEP的高精度切片时可以生成更多的圆弧路径。STEP还包括模型每个零件的装配关系可分割模型后恢复装配视图。",
"wk15":"3D文本",
"wk16":"使用3D文本工具用户可以轻松地在项目中创建各种3D文本形状使模型更加个性化。Orca Slicer提供了数十种字体并支持粗体和斜体样式使文本具有更大的灵活性。"
}
"en": {
"t1": "Welcome to Bambu Studio",
"t2": "Bambu Studio will be setup in several steps. Let's start!",
"t3": "User Agreement",
"t4": "Disagree",
"t5": "Agree",
"t6": "We kindly request your help to improve<br/> everyone's printing",
"t7": "Join our Customer Experience Improvement Program",
"t8": "Back",
"t9": "Next",
"t10": "Printer Selection",
"t11": "All",
"t12": "Clear all",
"t13": "mm nozzle",
"t14": "Filament Selection",
"t15": "Printer",
"t16": "Filament type",
"t17": "Vendor",
"t18": "error",
"t19": "At least one filament must be selected.",
"t20": "Do you want to use default filament ?",
"t21": "yes",
"t22": "no",
"t23": "Release note",
"t24": "Get Started",
"t25": "Finish",
"t26": "Login",
"t27": "Register",
"t28": "Recent",
"t29": "Mall",
"t30": "Manual",
"t31": "New Project",
"t32": "Create new project",
"t33": "Open Project",
"t34": "hotspot",
"t35": "Recently opened",
"t36": "ok",
"t37": "At least one printer must be selected.",
"t38": "Cancel",
"t39": "Confirm",
"t40": "Network disconnect, please check and try again later.",
"t47": "Please select your login region",
"t48": "Asia-Pacific",
"t49": "China",
"t50": "Log out",
"t52": "Skip",
"t53": "Join",
"t54": "In the 3D Printing community, we learn from each other's successes and failures to adjust our own slicing parameters and settings. Bambu Studio follows the same principle and uses machine learning to improve its performance from the successes and failures of the vast number of prints by our users. We are training Bambu Studio to be smarter by feeding them the real-world data. If you are willing, this service will access information from your error logs and usage logs, which may include information described in ",
"t55": "Privacy Policy",
"t56": ". We will not collect any Personal Data by which an individual can be identified directly or indirectly, including without limitation names, addresses, payment information, or phone numbers. By enabling this service, you agree to these terms and the statement about Privacy Policy.",
"t57": "",
"t58": "",
"t59": ".",
"t60": "Europe",
"t61": "North America",
"t62": "Others",
"t63": "After changing the region, your account will be logged out. Please log in again later.",
"t64": "Bambu Network plug-in",
"t65": "Sending print job via WLAN",
"t66": "Full remote control",
"t67": "Liveview streaming",
"t68": "User data synchronization",
"t69": "Install Bambu Network plug-in",
"t70": "",
"t71": "Downloading",
"t72": "Downloading failed",
"t73": "Installation successful.",
"t74": "Restart",
"t75": "Bambu Network plug-in provides the following features:",
"t76": "Bambu Network plug-in not detected. Click ",
"t77": "here",
"t78": " to install it.",
"t79": "Failed to install plug-in. ",
"t80": "Try the following steps:",
"t81": "1, Click ",
"t82": " to open the plug-in directory",
"t83": "2, Close all open Bambu Studio",
"t84": "3, Delete all files under the plug-in directory",
"t85": "4, Reopen Bambu studio and install the plug-in again",
"t86": "Close",
"t87": "User Manual",
"t88": "Remove",
"t89": "Open Containing Folder",
"t90": "3D Model",
"t91": "Download 3D models",
"t92": "Create by",
"t93": "Remixed by",
"t94": "Shared by",
"t95": "Model Information",
"t96": "Accessories",
"t97": "Profile Information",
"t98": "Model name",
"t100":"Model description",
"t101":"BOM",
"t102":"Assembly Guide",
"t103":"Other",
"t104":"Profile name",
"t105":"Profile Author",
"t106":"Profile description",
"t107":"Online Models"
},
"zh_CN": {
"t1": "欢迎使用Bambu Studio",
"t2": "Bambu Studio需要几步安装步骤让我们开始吧",
"t3": "用户使用协议",
"t4": "拒绝",
"t5": "同意",
"t6": "帮助提升Bambu Studio性能",
"t7": "允许发送匿名数据",
"t8": "上一步",
"t9": "下一步",
"t10": "选择打印机",
"t11": "全部",
"t12": "清空",
"t13": "mm 喷嘴",
"t14": "选择材料",
"t15": "打印机",
"t16": "材料类型",
"t17": "供应商",
"t18": "错误",
"t19": "至少要选择一款材料。",
"t20": "你希望使用默认的材料列表吗?",
"t21": "是",
"t22": "否",
"t23": "发布说明",
"t24": "开始",
"t25": "结束",
"t26": "登录",
"t27": "注册",
"t28": "近期",
"t29": "商城",
"t30": "使用手册",
"t31": "新建项目",
"t32": "创建一个新项目",
"t33": "打开项目",
"t34": "热点",
"t35": "近期打开文件",
"t36": "确定",
"t37": "至少需要选择一款打印机。",
"t38": "取消",
"t39": "确定",
"t40": "网络不通,请检查并稍后重试。",
"t47": "请选择登录区域",
"t48": "亚太",
"t49": "中国",
"t50": "退出登录",
"t52": "忽略",
"t53": "同意",
"t54": "在3D打印社区我们从彼此的成功和失败中学习调整自己的切片参数和设置。Bambu Studio遵循同样的原则通过机器学习的方式从大量用户打印的成功和失败中获取经验从而改善打印性能。我们正在通过向Bambu Studio提供真实世界的数据来训练他们变得更聪明。如果您愿意此服务将访问您的错误日志和使用日志中的信息其中可能包括",
"t55": "隐私政策",
"t56": "中描述的信息。我们不会收集任何可以直接或间接识别个人的个人数据,包括但不限于姓名、地址、支付信息或电话号码。启用此服务即表示您同意这些条款和有关隐私政策的声明。",
"t57": "",
"t58": "",
"t59": "。",
"t60": "欧洲",
"t61": "北美",
"t62": "其他",
"t63": "切换区域后,你的账号会被登出。稍后请重新登录。",
"t64": "Bambu网络插件",
"t65": "通过WLAN发送打印任务",
"t66": "强大的远程控制功能",
"t67": "实时视频流",
"t68": "用户数据同步",
"t69": "安装Bambu网络插件",
"t70": "",
"t71": "正在下载",
"t72": "下载失败",
"t73": "安装成功。",
"t74": "重启",
"t75": "Bambu网络插件提供以下功能",
"t76": "没有发现Bambu网络插件请",
"t77": "下载",
"t78": "并安装。",
"t79": "安装插件失败。",
"t80": "请尝试如下步骤:",
"t81": "1, 点击",
"t82": "打开插件所在目录",
"t83": "2, 关闭所有Bambu Studio",
"t84": "3, 删除插件所在目录下的所有文件",
"t85": "4, 重新启动Bambu Studio并尝试安装插件",
"t86": "关闭",
"t87": "使用引导",
"t88": "移除",
"t89": "打开所在的文件夹",
"t90": "3D 模型",
"t91": "下载3D模型",
"t92": "创作",
"t93": "修改",
"t94": "分享",
"t95": "模型信息",
"t96": "附件",
"t97": "配置信息",
"t98": "模型名称",
"t100":"模型介绍",
"t101":"物料清单",
"t102":"装备指导",
"t103":"其他",
"t104":"配置名称",
"t105":"配置作者",
"t106":"配置介绍",
"t107":"在线模型",
"wk1": "快速入门指南",
"wk2": "本文介绍了Bambu Studio的最基本用法。它指导用户配置软件创建项目并逐步完成第一个打印任务。",
"wk3": "基于项目的工作流",
"wk4": "Bambu Studio提出了领先的工作流程真正实现了“一体化”项目。基于主流的3MF项目格式它提供了一系列革命性的新功能如支持多盘、项目资源管理器和装配/零件视图。它可以大幅提高模型创作者及普通用户的使用效率。",
"wk5": "质量卓越的高速打印",
"wk6": "在保持高质量的前提下进行高速打印是非常具有挑战性的。Bambu Studio让这一切发生。支持“圆弧移动”特性使工具头移动更加顺滑有效减少机器振动。基于不同材料类型的精细标定过的冷却控制参数使得冷却过程可以自动开展。在悬垂区域进行“自动减速”可防止高速打印时在此区域的外观瑕疵。",
"wk7": "多色打印",
"wk8": "Bambu Studio提供了多种着色工具来制作彩色模型。您可以在项目中自由添加/移除打印材料并使用不同的笔刷为模型着色。开始打印时打印任务中的各个材料将自动映射到匹配的AMS槽位无需手动调整AMS中的料卷位置。",
"wk9": "切片参数设置指南",
"wk10": "Bambu Studio中的参数管理功能为切片过程提供了非常灵活和强大的控制。本文介绍了切片参数的组织分类和设置方法并提供了一些使用技巧。",
"wk11": "远程控制和监控",
"wk12": "Bambu Studio支持通过WAN/LAN网络向打印机发送打印任务控制和查看3D打印机和打印任务的各个方面。如果您有多台打印机还可以在设备列表中轻松切换。",
"wk13": "STEP格式",
"wk14": "与STL相比STEP带来了更多有效的信息。由于STEP的高精度切片时可以生成更多的圆弧路径。STEP还包括模型每个零件的装配关系可分割模型后恢复装配视图。",
"wk15": "3D文本",
"wk16": "使用3D文本工具用户可以轻松地在项目中创建各种3D文本形状使模型更加个性化。Bambu Studio提供了数十种字体并支持粗体和斜体样式使文本具有更大的灵活性。"
},
"ja_JP": {
"t1": "Bambu Studioへようこそ",
"t2": "セットアップ",
"t3": "利用規約",
"t4": "同意しない",
"t5": "同意",
"t6": "ユーザ体験向上プログラム",
"t7": "匿名で送信することを許容",
"t8": "戻る",
"t9": "次へ",
"t10": "プリンター選択",
"t11": "全て",
"t12": "全てを解除",
"t13": "mm ノズル",
"t14": "フィラメント選択",
"t15": "プリンター",
"t16": "フィラメントタイプ",
"t17": "メーカー",
"t18": "エラー",
"t19": "最低限一つのフィラメントを選択する必要があります",
"t20": "デフォルトのフィラメントにしますか?",
"t21": "はい",
"t22": "いいえ",
"t23": "リリースノート",
"t24": "利用開始",
"t25": "完了",
"t26": "サインイン",
"t27": "登録",
"t28": "最近の項目",
"t29": "モール",
"t30": "マニュアル",
"t31": "新規プロジェクト",
"t32": "プロジェクトを作成",
"t33": "プロジェクトを開く",
"t34": "ホットスポット",
"t35": "最近開いた項目",
"t36": "OK",
"t37": "最低限一つのプリンターを選択する必要があります",
"t38": "取消し",
"t39": "確認",
"t40": "ネットワークが切断されたのようです、もう一度も試しください",
"t47": "地域を選択してください",
"t48": "アジア-太平洋",
"t49": "中国",
"t50": "サインアウト",
"t52": "スキップ",
"t53": "参加する",
"t54": "3Dプリンティングのコミュニティで、私たちはお互いの成功例と失敗例から色々勉強してきています。Bambu Labもそうと考えています、AIでユーザの実世界の経験から勉強し、造型の性能を向上しにいきたいと思います。あなたの経験は私たちにとって大切なので、私たちの「ユーザ体験向上プログラム」を参加してみませんか「参加」する場合、エラーログや使用ログから情報をBambu Labと共有します、具体的な項目は",
"t55": "プライバシーポリシー",
"t56": "をご参照ください。個人情報は一切共有しませんのでご安心ください。",
"t57": "",
"t58": "",
"t59": ".",
"t60": "欧州",
"t61": "北米",
"t62": "その他",
"t63": "地域を変更したら、一回サインアウトされます。もう一度サインインしてください",
"t64": "Bambu ネットワークプラグイン",
"t65": "WiFi経由で造形タスクを送信します",
"t66": "リモートコントロール",
"t67": "ライブビュー",
"t68": "ユーザデータ同期",
"t69": "Bambu ネットワークプラグインをインストール",
"t70": "",
"t71": "ダウンロード中",
"t72": "ダウンロード失敗",
"t73": "インストールは成功しました",
"t74": "再起動",
"t75": "Bambu ネットワークプラグインは以下の機能を提供します:",
"t76": "Bambu ネットワークプラグインは検出されません。",
"t77": "こちら",
"t78": "をクリックし、インストールしてください。",
"t79": "インストールは失敗しました",
"t80": "下記の方法もお試しください",
"t81": "1. クリックして ",
"t82": "プラグイン フォルダを開く",
"t83": "2. 全て開いたBambu Studioを閉じる",
"t84": "3. プラグイン フォルダのファイルを全て削除",
"t85": "4. Bambu Studioを開く、再度プラグインをインストールしてください",
"t86": "閉じる",
"t87": "ユーザ マニュアル",
"t88": "削除",
"t89": "フォルダを開く",
"t90": "3Dモデル",
"t91": "モデルをダウンロード",
"t92": "創作",
"t93": "修正",
"t94": "共有",
"t95": "モデル情報",
"t96": "添付ファイル",
"t97": "構成情報",
"t98": "モデル名",
"t100":"モデルの紹介",
"t101":"BOM",
"t102":"装備指導",
"t103":"その他",
"t104":"構成名",
"t105":"構成著者",
"t106":"構成の概要",
"t107":"スタッフが選ぶ"
}
};
@ -596,4 +355,4 @@ function TranslatePage()
$(OneNode).html(LangText[strLang][tid]);
}
}
}
}

View file

@ -0,0 +1,25 @@
body {
background-color:#4c4c54;
font-family: Arial, sans-serif;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
.container {
text-align: center;
padding: 30px;
border-radius: 10px;
background-color: #272727;
box-shadow: 0 4px 6px rgba(39, 39, 39, 0.1);
}
h1 {
color: #ffffff;
}
p {
color: #ffffff;
}

View file

@ -0,0 +1,18 @@
body
{
background-color:#eeeeee;
font-family: Arial, sans-serif;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
.container {
text-align: center;
padding: 30px;
border-radius: 10px;
background-color: #ffffff;
box-shadow: 0 4px 6px rgba(39, 39, 39, 0.1);
}

View file

@ -0,0 +1,22 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Printer Connection Required</title>
<link rel="stylesheet" type="text/css" href="css/home.css" />
<link rel="stylesheet" type="text/css" href="css/dark.css" />
<script type="text/javascript" src="../data/text.js"></script>
<script type="text/javascript" src="../homepage/js/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../homepage/js/json2.js"></script>
<script type="text/javascript" src="../homepage/js/globalapi.js"></script>
<script type="text/javascript" src="../homepage/js/home.js"></script>
</head>
<body onLoad="OnInit()">
<div class="container">
<h1 class="trans" tid="t93">Printer Connection</h1>
<p class="trans" tid="t94">Please set up your printer connection to view the device.</p>
<img src="setup_connection.gif" alt="Printer connection setup demonstration" style="max-width: 100%; height: auto; display: block;"/>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 927 KiB

View file

@ -36,7 +36,7 @@
.PrinterArea
{
padding: 10px;
padding: 0px;
display: flex;
flex-wrap: wrap;
}
@ -45,7 +45,7 @@
{
width: 160px;
text-align: center;
padding: 10px;
padding: 8px;
}
.PrinterBlock img

View file

@ -41,6 +41,12 @@ function HandleStudio( pVal )
}
function ShowPrinterThumb(pItem, strImg)
{
$(pItem).attr('src',strImg);
$(pItem).attr('onerror',null);
}
function HandleModelList( pVal )
{
if( !pVal.hasOwnProperty("model") )
@ -62,11 +68,7 @@ function HandleModelList( pVal )
let sVV=strVendor;
if( sVV=="BBL" )
sVV="Bambu Lab";
if( sVV=="Custom")
sVV="Custom Printer";
if( sVV=="Other")
sVV="Orca colosseum";
let HtmlNewVendor='<div class="OneVendorBlock" Vendor="'+strVendor+'">'+
'<div class="BlockBanner">'+
' <div class="BannerBtns">'+
@ -79,7 +81,10 @@ function HandleModelList( pVal )
'</div>'+
'</div>';
$('#Content').append(HtmlNewVendor);
if(sVV=='Bambu Lab')
$('#Content').html( HtmlNewVendor + $('#Content').html() );
else
$('#Content').append( HtmlNewVendor );
}
let ModelName=OneModel['model'];
@ -96,9 +101,10 @@ function HandleModelList( pVal )
HtmlNozzel+='<div class="pNozzel TextS2"><input type="checkbox" model="'+OneModel['model']+'" nozzel="'+nNozzel+'" vendor="'+strVendor+'" /><span>'+nNozzel+'</span><span class="trans" tid="t13">mm nozzle</span></div>';
}
let CoverImage=OneModel['cover'];
let CoverImage="../../image/printer/"+OneModel['model']+"_cover.png";
let CoverImage2="../../../profiles/"+strVendor+"/"+OneModel['model']+"_cover.png";
ModelHtml[strVendor]+='<div class="PrinterBlock">'+
' <div class="PImg"><img src="'+CoverImage+'" /></div>'+
' <div class="PImg"><img src="'+CoverImage+'" onerror="ShowPrinterThumb(this,\''+CoverImage2+'\')" /></div>'+
' <div class="PName">'+OneModel['model']+'</div>'+ HtmlNozzel +'</div>';
}
@ -133,12 +139,12 @@ function HandleModelList( pVal )
}
}
// let AlreadySelect=$("input:checked");
// let nSelect=AlreadySelect.length;
// if(nSelect==0)
// {
// $("input[nozzel='0.4'][vendor='Custom']").prop("checked", true);
// }
let AlreadySelect=$("input:checked");
let nSelect=AlreadySelect.length;
if(nSelect==0)
{
$("input[nozzel='0.4'][vendor='BBL']").prop("checked", true);
}
TranslatePage();
}

View file

@ -32,6 +32,7 @@ input
#ItemSelectArea
{
flex: 0 0 40px;
height:40px;
border-top: 1px solid #009688;
display: flex;
@ -46,7 +47,7 @@ input
#ItemBlockArea
{
flex: 1;
flex: 1 0 236px;
display:flex;
overflow-x:auto;
flex-wrap:wrap;
@ -59,7 +60,7 @@ input
.MItem
{
width: 220px;
min-width: 220px;
height: 32px;
}

View file

@ -19,7 +19,7 @@
<div id="Title">
<div class="trans" tid="t14">Filament Selection</div>
</div>
<div id="Content">
<div id="Content" class="ZScrol">
<div id="MachineList" class="ChooseBlock">
<div class="CName"><span class="trans" tid="t15">printer</span></div>
@ -33,7 +33,15 @@
<div><input type="checkbox" />Bambulab BBL-3DP-001-V4-normal</div>
<div><input type="checkbox" />Bambulab BBL-3DP-001-V4-normal</div>
<div><input type="checkbox" />Bambulab BBL-3DP-001-V5-normal</div>
<div><input type="checkbox" />Bambulab BBL-3DP-001-V4-normal</div> -->
<div><input type="checkbox" />Bambulab BBL-3DP-001-V4-normal</div>
<div><input type="checkbox" />Bambulab BBL-3DP-001-V5-normal</div>
<div><input type="checkbox" />Bambulab BBL-3DP-001-V4-normal</div>
<div><input type="checkbox" />Bambulab BBL-3DP-001-V4-normal</div>
<div><input type="checkbox" />Bambulab BBL-3DP-001-V5-normal</div>
<div><input type="checkbox" />Bambulab BBL-3DP-001-V4-normal</div>
<div><input type="checkbox" />Bambulab BBL-3DP-001-V4-normal</div>
<div><input type="checkbox" />Bambulab BBL-3DP-001-V5-normal</div>
<div><input type="checkbox" />Bambulab BBL-3DP-001-V4-normal</div> -->
</div>
</div>
@ -46,7 +54,13 @@
<div><input type="checkbox" />ABS</div>
<div><input type="checkbox" />TPU</div>
<div><input type="checkbox" />PA6+CF</div>
<div><input type="checkbox" />N/A</div>-->
<div><input type="checkbox" />N/A</div>
<div><input type="checkbox" filatype="PLA" />PLA</div>
<div><input type="checkbox" />PET</div>
<div><input type="checkbox" />ABS</div>
<div><input type="checkbox" />TPU</div>
<div><input type="checkbox" />PA6+CF</div>
<div><input type="checkbox" />N/A</div> -->
</div>
</div>
@ -58,7 +72,12 @@
<div><input type="checkbox" />BBL</div>
<div><input type="checkbox" />eSUN</div>
<div><input type="checkbox" />Kexcelled</div>
<div><input type="checkbox" />Polymaker</div>-->
<div><input type="checkbox" />Polymaker</div>
<div><input type="checkbox" vendor="Unknow" />Unknown</div>
<div><input type="checkbox" />BBL</div>
<div><input type="checkbox" />eSUN</div>
<div><input type="checkbox" />Kexcelled</div>
<div><input type="checkbox" />Polymaker</div>-->
</div>
</div>

View file

@ -32,6 +32,7 @@ input
#ItemSelectArea
{
flex: 0 0 40px;
height:40px;
border-top: 1px solid #009688;
display: flex;
@ -46,7 +47,7 @@ input
#ItemBlockArea
{
flex: 1;
flex: 1 0 236px;
display:flex;
overflow-x:auto;
flex-wrap:wrap;
@ -59,7 +60,7 @@ input
.MItem
{
width: 220px;
min-width: 220px;
height: 32px;
}

View file

@ -19,7 +19,7 @@
<div id="Title">
<div class="trans" tid="t14">Filament Selection</div>
</div>
<div id="Content">
<div id="Content" class="ZScrol">
<div id="MachineList" class="ChooseBlock">
<div class="CName"><span class="trans" tid="t15">printer</span></div>

View file

@ -59,7 +59,7 @@
.PrinterArea
{
padding: 10px;
padding: 0px;
display: flex;
flex-wrap: wrap;
}
@ -68,7 +68,7 @@
{
width: 160px;
text-align: center;
padding: 10px;
padding: 8px;
}
.PrinterBlock img

View file

@ -40,6 +40,11 @@ function HandleStudio( pVal )
}
}
function ShowPrinterThumb(pItem, strImg)
{
$(pItem).attr('src',strImg);
$(pItem).attr('onerror',null);
}
function HandleModelList( pVal )
{
@ -62,11 +67,7 @@ function HandleModelList( pVal )
let sVV=strVendor;
if( sVV=="BBL" )
sVV="Bambu Lab";
if( sVV=="Custom")
sVV="Custom Printer";
if( sVV=="Other")
sVV="Orca colosseum";
let HtmlNewVendor='<div class="OneVendorBlock" Vendor="'+strVendor+'">'+
'<div class="BlockBanner">'+
' <div class="BannerBtns">'+
@ -79,7 +80,10 @@ function HandleModelList( pVal )
'</div>'+
'</div>';
$('#Content').append(HtmlNewVendor);
if(sVV=='Bambu Lab')
$('#Content').html( HtmlNewVendor + $('#Content').html() );
else
$('#Content').append( HtmlNewVendor );
}
let ModelName=OneModel['model'];
@ -96,9 +100,10 @@ function HandleModelList( pVal )
HtmlNozzel+='<div class="pNozzel TextS2"><input type="checkbox" model="'+OneModel['model']+'" nozzel="'+nNozzel+'" vendor="'+strVendor+'" /><span>'+nNozzel+'</span><span class="trans" tid="t13">mm nozzle</span></div>';
}
let CoverImage=OneModel['cover'];
let CoverImage="../../image/printer/"+OneModel['model']+"_cover.png";
let CoverImage2="../../../profiles/"+strVendor+"/"+OneModel['model']+"_cover.png";
ModelHtml[strVendor]+='<div class="PrinterBlock">'+
' <div class="PImg"><img src="'+CoverImage+'" /></div>'+
' <div class="PImg"><img src="'+CoverImage+'" onerror="ShowPrinterThumb(this,\''+CoverImage2+'\')" /></div>'+
' <div class="PName">'+OneModel['model']+'</div>'+ HtmlNozzel +'</div>';
}
@ -133,12 +138,12 @@ function HandleModelList( pVal )
}
}
// let AlreadySelect=$("input:checked");
// let nSelect=AlreadySelect.length;
// if(nSelect==0)
// {
// $("input[nozzel='0.4'][vendor='Custom']").prop("checked", true);
// }
let AlreadySelect=$("input:checked");
let nSelect=AlreadySelect.length;
if(nSelect==0)
{
$("input[nozzel='0.4'][vendor='BBL']").prop("checked", true);
}
TranslatePage();
}

View file

@ -14,6 +14,11 @@ body
color:#efeff0;
}
.TextS2
{
color:#B3B3B5;
}
.ZScrol::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
background-color: #939594;
}
@ -83,4 +88,44 @@ body
.UG_DESC
{
color:#818183;
}
/*---Staff PIck----*/
#HotModel_Swiper
{
}
.HotModel_NameText
{
height: 32px;
}
.HotModelPiece
{
border: 1px solid #4C4C55;
box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.04);
background-color: #4C4C55;
}
#HotModel_RIGHT_Title
{
color: #818183;
}
.swiper
{
--swiper-navigation-color: #EFEFF0;/* 单独设置按钮颜色 */
}
.swiper-button-prev
{
background: rgba(54, 54, 60, 0.88);
border: 1px solid rgba(129, 129, 131, 0.64);
}
.swiper-button-next
{
background: rgba(54, 54, 60, 0.88);
border: 1px solid rgba(129, 129, 131, 0.64);
}

View file

@ -245,6 +245,13 @@ body
height: 100%;
}
.TitleSmallIcon
{
width:30px;
height: 30px;
margin-right: 10px;
}
#MenuArea
{
height: 140px;
@ -303,6 +310,35 @@ body
height: 420px;
}
#HotModelBlock
{
display:flex;
align-items: center;
justify-content: space-between;
padding: 0px;
}
#HotModel_LEFT_Title
{
display:flex;
align-items: center;
padding: 6px 0px;
}
#HotModel_RIGHT_Title
{
font-size:16px;
}
.HotModel_PrevImg
{
width: 200px;
height: 148px;
object-fit: cover;
}
#RecentFileArea
{
margin-top: 10px;
@ -315,9 +351,7 @@ body
{
display:flex;
align-items: center;
padding: 6px;
border-bottom-width: 1px;
border-bottom-style: solid;
padding: 6px 0px;
}
#RecentClearAllBtn
@ -628,28 +662,112 @@ body
font-size: 14px;
}
/*------Christmas cabin---*/
#ChristmasArea
/*--Staff Pick--*/
#HotModelArea
{
margin-top: 10px;
display: flex;
flex-direction: column;
display: none;
}
#ChristmasTitleBlock
#HotModel_Swiper
{
padding: 0px;
}
.HotModel_Designer_Info
{
display:flex;
align-items: center;
padding: 6px;
border-bottom-width: 1px;
border-bottom-style: solid;
height: 28px;
padding: 0px 8px;
}
#CabinList
.HotModel_Designer_Info img
{
display: flex;
flex-wrap: wrap;
align-content: flex-start;
overflow-y: auto;
width: 16px;
height: 16px;
border-radius: 8px;
}
.HotModel_Designer_Info span
{
margin-left: 6px;
font-size: 12px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
#HotModel_RIGHT_Title:hover
{
cursor: pointer;
color:#00AE42;
}
.HotModelPiece
{
width: 200px!important;
display:flex;
flex-direction: column;
cursor: pointer;
border: 1px solid #EEEEEE;
box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.04);
border-radius: 8px;
}
.HotModel_PrevBlock
{
height: 150px;
}
.HotModel_PrevImg
{
width: 200px;
height: 150px;
}
.HotModel_NameText
{
height: 32px;
line-height: 32px;
padding: 0px 8px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
font-size: 14px;
}
.swiper-scrollbar
{
height: 10px!important;
}
.swiper-button-prev
{
width: 40px!important;
height: 40px!important;
border-radius: 20px!important;
background: rgba(244, 244, 244, 0.88);
}
.swiper-button-next
{
width: 40px!important;
height: 40px!important;
border-radius: 20px!important;
background: rgba(244, 244, 244, 0.88);
}
.swiper
{
--swiper-theme-color: #ff6600;/* 设置Swiper风格 */
--swiper-navigation-color: #676767;/* 单独设置按钮颜色 */
--swiper-navigation-size: 12px;/* 设置按钮大小 */
}
.swiper-button-disabled
{
opacity: 1!important;
cursor: pointer!important;
pointer-events: auto!important;
}

View file

@ -0,0 +1,14 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.5 16.646V21.2895C7.5 21.3382 7.5071 21.3866 7.52109 21.4332C7.60044 21.6977 7.87918 21.8478 8.14367 21.7684L12 20.6115L15.8563 21.7684C15.9029 21.7824 15.9513 21.7895 16 21.7895C16.2761 21.7895 16.5 21.5656 16.5 21.2895V16.6462L15.7247 16.7081C15.0954 16.7583 14.498 17.0058 14.0175 17.4152L13.379 17.9594C12.5851 18.6359 11.4175 18.6359 10.6237 17.9594L9.98515 17.4152C9.50466 17.0058 8.90724 16.7583 8.27795 16.7081L7.5 16.646Z" fill="url(#paint0_linear_10080_34787)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M11.2125 2.79872C11.7202 2.44222 12.4121 2.46866 12.8925 2.87803L13.531 3.42217C14.1316 3.93401 14.8784 4.24333 15.665 4.3061L16.5013 4.37284C17.1739 4.42651 17.708 4.9606 17.7616 5.63318L17.8284 6.46944C17.8912 7.25606 18.2005 8.00284 18.7123 8.60345L19.2565 9.24197C19.6941 9.75551 19.6941 10.5108 19.2565 11.0244L18.7123 11.6629C18.2005 12.2635 17.8912 13.0103 17.8284 13.7969L17.7616 14.6331C17.708 15.3057 17.1739 15.8398 16.5013 15.8935L15.665 15.9602C14.8784 16.023 14.1316 16.3323 13.531 16.8442L12.8925 17.3883C12.379 17.8259 11.6237 17.8259 11.1101 17.3883L10.4716 16.8442C9.871 16.3323 9.12423 16.023 8.33761 15.9602L7.50135 15.8935C6.82876 15.8398 6.29468 15.3057 6.241 14.6331L6.17427 13.7969C6.1115 13.0103 5.80217 12.2635 5.29033 11.6629L4.72569 12.1441L5.29033 11.6629L4.7462 11.0244C4.30856 10.5108 4.30856 9.75551 4.7462 9.24197L5.29033 8.60345C5.80217 8.00284 6.1115 7.25606 6.17427 6.46944L6.241 5.63318C6.29468 4.9606 6.82876 4.42651 7.50135 4.37284L8.33761 4.3061C9.12423 4.24333 9.871 3.93401 10.4716 3.42217L11.1101 2.87803C11.1433 2.84977 11.1775 2.82333 11.2125 2.79872ZM15 10.133C15 11.7898 13.6569 13.133 12 13.133C10.3431 13.133 9 11.7898 9 10.133C9 8.47613 10.3431 7.13298 12 7.13298C13.6569 7.13298 15 8.47613 15 10.133Z" fill="url(#paint1_linear_10080_34787)"/>
<defs>
<linearGradient id="paint0_linear_10080_34787" x1="12.3119" y1="13.1333" x2="12.6038" y2="22.5666" gradientUnits="userSpaceOnUse">
<stop stop-color="#00AE42" stop-opacity="0.24"/>
<stop offset="1" stop-color="#00AE42" stop-opacity="0.64"/>
</linearGradient>
<linearGradient id="paint1_linear_10080_34787" x1="12.0013" y1="1.7998" x2="12.0013" y2="18.4665" gradientUnits="userSpaceOnUse">
<stop stop-color="#00AE42"/>
<stop offset="1" stop-color="#00AE42" stop-opacity="0.64"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -0,0 +1,10 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.4145 8.28147C12.4145 7.82507 12.0445 7.45508 11.5881 7.45508C11.1317 7.45508 10.7617 7.82507 10.7617 8.28147V12.3419C10.7597 12.3655 10.7587 12.3893 10.7587 12.4133C10.7587 12.8604 11.1138 13.2246 11.5573 13.2392C11.5675 13.2396 11.5778 13.2398 11.5881 13.2398L11.6017 13.2397H14.0642C14.5206 13.2397 14.8906 12.8697 14.8906 12.4133C14.8906 11.9569 14.5206 11.5869 14.0642 11.5869H12.4145V8.28147ZM19 12C19 15.866 15.866 19 12 19C8.13401 19 5 15.866 5 12C5 8.13401 8.13401 5 12 5C15.866 5 19 8.13401 19 12Z" fill="url(#paint0_linear_10269_34622)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19ZM12 20.5C16.6944 20.5 20.5 16.6944 20.5 12C20.5 7.30558 16.6944 3.5 12 3.5C7.30558 3.5 3.5 7.30558 3.5 12C3.5 16.6944 7.30558 20.5 12 20.5Z" fill="#00AE42" fill-opacity="0.4"/>
<defs>
<linearGradient id="paint0_linear_10269_34622" x1="17.6667" y1="5.38889" x2="17.6667" y2="18.6111" gradientUnits="userSpaceOnUse">
<stop stop-color="#00AE42"/>
<stop offset="1" stop-color="#00AE42" stop-opacity="0.64"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -5,12 +5,17 @@
<meta http-equiv="Cache-Control" content="max-age=7200" />
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
<title>homepage</title>
<link rel="stylesheet" type="text/css" href="css/home.css" />
<link rel="stylesheet" type="text/css" href="css/dark.css" />
<script type="text/javascript" src="js/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../data/text.js"></script>
<script type="text/javascript" src="js/json2.js"></script>
<script type="text/javascript" src="js/globalapi.js"></script>
<link rel="stylesheet" type="text/css" href="./css/home.css" />
<link rel="stylesheet" type="text/css" href="./css/dark.css" />
<script type="text/javascript" src="../include/jquery-2.1.1.min.js"></script>
<script type="text/javascript" src="../include/json2.js"></script>
<script type="text/javascript" src="../include/globalapi.js"></script>
<link rel="stylesheet" type="text/css" href="../include/swiper/swiper-bundle.min.css" />
<script type="text/javascript" src="../include/swiper/swiper-bundle.min.js"></script>
<script type="text/javascript" src="../data/text.js"></script>
<script type="text/javascript" src="js/home.js"></script>
</head>
<body class="ZScrol" onLoad="OnInit()">
@ -71,10 +76,71 @@
</div>
</div>
<div id="DebugText"></div>
<div id="DebugText"></div>
<div id="HotModelArea">
<div id="HotModelBlock">
<div id="HotModel_LEFT_Title">
<img class="TitleSmallIcon" src="./img/t1.svg" />
<div id="HotModelTitle" class="Content-Title trans TextS1" tid="t107">Online Models</div>
</div>
<div id="HotModel_RIGHT_Title" onClick="OnClickModelDepot()">MORE ></div>
</div>
<div id="HotModel_Swiper" class="swiper">
<div id="HotModelList" class="swiper-wrapper">
<!-- <div class="HotModelPiece swiper-slide" onClick="OpenOneStaffPickModel(1)">
<div class="HotModel_Designer_Info"><img src="https://public-dev-cdn.bambu-lab.com/portal/u/userinfo-415112594-avatar-f89b3a6b03673" /><span class="TextS2">WuYiFan</span></div>
<div class="HotModel_PrevBlock"><img class="HotModel_PrevImg" src="img/wiki.png" /></div>
<div class="HotModel_NameText TextS1">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
</div>
<div class="HotModelPiece swiper-slide" onClick="OpenOneStaffPickModel(1)">
<div class="HotModel_Designer_Info"><img src="https://public-dev-cdn.bambu-lab.com/portal/u/userinfo-415112594-avatar-f89b3a6b03673" /><span class="TextS2">WuYiFan</span></div>
<div class="HotModel_PrevBlock"><img class="HotModel_PrevImg" src="img/a.jpg" /></div>
<div class="HotModel_NameText TextS1">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
</div>
<div class="HotModelPiece swiper-slide" onClick="OpenOneStaffPickModel(1)">
<div class="HotModel_Designer_Info"><img src="https://public-dev-cdn.bambu-lab.com/portal/u/userinfo-415112594-avatar-f89b3a6b03673" /><span class="TextS2">WuYiFan</span></div>
<div class="HotModel_PrevBlock"><img class="HotModel_PrevImg" src="img/wiki3.png" /></div>
<div class="HotModel_NameText TextS1">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
</div>
<div class="HotModelPiece swiper-slide" onClick="OpenOneStaffPickModel(1)">
<div class="HotModel_Designer_Info"><img src="https://public-dev-cdn.bambu-lab.com/portal/u/userinfo-415112594-avatar-f89b3a6b03673" /><span class="TextS2">WuYiFan</span></div>
<div class="HotModel_PrevBlock"><img class="HotModel_PrevImg" src="img/wiki2.png" /></div>
<div class="HotModel_NameText TextS1">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
</div>
<div class="HotModelPiece swiper-slide" onClick="OpenOneStaffPickModel(1)">
<div class="HotModel_Designer_Info"><img src="https://public-dev-cdn.bambu-lab.com/portal/u/userinfo-415112594-avatar-f89b3a6b03673" /><span class="TextS2">WuYiFan</span></div>
<div class="HotModel_PrevBlock"><img class="HotModel_PrevImg" src="img/wiki.png" /></div>
<div class="HotModel_NameText TextS1">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
</div>
<div class="HotModelPiece swiper-slide" onClick="OpenOneStaffPickModel(1)">
<div class="HotModel_Designer_Info"><img src="https://public-dev-cdn.bambu-lab.com/portal/u/userinfo-415112594-avatar-f89b3a6b03673" /><span class="TextS2">WuYiFan</span></div>
<div class="HotModel_PrevBlock"><img class="HotModel_PrevImg" src="img/wiki3.png" /></div>
<div class="HotModel_NameText TextS1">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
</div>
<div class="HotModelPiece swiper-slide" onClick="OpenOneStaffPickModel(1)">
<div class="HotModel_Designer_Info"><img src="https://public-dev-cdn.bambu-lab.com/portal/u/userinfo-415112594-avatar-f89b3a6b03673" /><span class="TextS2">WuYiFan</span></div>
<div class="HotModel_PrevBlock"><img class="HotModel_PrevImg" src="img/wiki2.png" /></div>
<div class="HotModel_NameText TextS1">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
</div>
<div class="HotModelPiece swiper-slide" onClick="OpenOneStaffPickModel(1)">
<div class="HotModel_Designer_Info"><img src="https://public-dev-cdn.bambu-lab.com/portal/u/userinfo-415112594-avatar-f89b3a6b03673" /><span class="TextS2">WuYiFan</span></div>
<div class="HotModel_PrevBlock"><img class="HotModel_PrevImg" src="img/wiki.png" /></div>
<div class="HotModel_NameText TextS1">xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</div>
</div> -->
</div>
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
<!-- <div class="swiper-scrollbar"></div>-->
</div>
</div>
<div id="RecentFileArea">
<div id="RecentTitleBlock">
<div id="RecentTitle" class="Content-Title trans TextS1" tid="t35">recent open</div>
<img class="TitleSmallIcon" src="./img/t2.svg" />
<div id="RecentTitle" class="Content-Title trans TextS1" tid="t35">Recently opened</div>
<div id="RecentClearAllBtn" class="trans TextS1" tid="t12" onClick="OnDeleteAllRecentFiles()">Clear all</div>
</div>
<div id="FileList">

View file

@ -1,340 +0,0 @@
/*------------------ Date Function ------------------------*/
function GetFullToday( )
{
var d=new Date();
var nday=d.getDate();
var nmonth=d.getMonth()+1;
var nyear=d.getFullYear();
var strM=nmonth+'';
if( nmonth<10 )
strM='0'+nmonth;
var strD=nday+'';
if( nday<10 )
strD='0'+nday;
return nyear+'-'+strM+'-'+strD;
}
function GetFullDate()
{
var d=new Date();
var tDate={};
tDate.nyear=d.getFullYear();
tDate.nmonth=d.getMonth()+1;
tDate.nday=d.getDate();
tDate.nhour=d.getHours();
tDate.nminute=d.getMinutes();
tDate.nsecond=d.getSeconds();
tDate.nweek=d.getDay();
tDate.ndate=d.getDate();
var strM=tDate.nmonth+'';
if( tDate.nmonth<10 )
strM='0'+tDate.nmonth;
var strD=tDate.nday+'';
if( tDate.nday<10 )
strD='0'+tDate.nday;
var strH=tDate.nhour+'';
if( tDate.nhour<10 )
strH='0'+tDate.nhour;
var strMin=tDate.nminute+'';
if( tDate.nminute<10 )
strMin='0'+tDate.nminute;
var strS=tDate.nsecond+'';
if( tDate.nsecond<10 )
strS='0'+tDate.nsecond;
tDate.strdate=tDate.nyear+'-'+strM+'-'+strD;
tDate.strFulldate=tDate.strdate+' '+strH+':'+strMin+':'+strS;
return tDate;
}
function Unixtimestamp2Date( nSecond )
{
var d=new Date(nSecond*1000);
var tDate={};
tDate.nyear=d.getFullYear();
tDate.nmonth=d.getMonth()+1;
tDate.nday=d.getDate();
tDate.nhour=d.getHours();
tDate.nminute=d.getMinutes();
tDate.nsecond=d.getSeconds();
tDate.nweek=d.getDay();
tDate.ndate=d.getDate();
var strM=tDate.nmonth+'';
if( tDate.nmonth<10 )
strM='0'+tDate.nmonth;
var strD=tDate.nday+'';
if( tDate.nday<10 )
strD='0'+tDate.nday;
tDate.strdate=tDate.nyear+'-'+strM+'-'+strD;
return tDate.strdate;
}
//------------Array Function-------------
Array.prototype.in_array = function (e) {
let sArray= ',' + this.join(this.S) + ',';
let skey=','+e+',';
if(sArray.indexOf(skey)>=0)
return true;
else
return false;
}
//------------String Function------------------
/**
* Delete Left/Right Side Blank
*/
String.prototype.trim=function()
{
return this.replace(/(^\s*)|(\s*$)/g, '');
}
/**
* Delete Left Side Blank
*/
String.prototype.ltrim=function()
{
return this.replace(/(^\s*)/g,'');
}
/**
* Delete Right Side Blank
*/
String.prototype.rtrim=function()
{
return this.replace(/(\s*$)/g,'');
}
//----------------Get Param-------------
function GetQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null)
{
return unescape(r[2]);
}
else
{
return null;
}
}
function GetGetStr()
{
let strGet="";
//获取当前URL
let url = document.location.href;
//获取?的位置
let index = url.indexOf("?")
if(index != -1) {
//截取出?后面的字符串
strGet = url.substr(index + 1);
}
return strGet;
}
/*--------------------JSON Function------------*/
/*
功能检查一个字符串是不是标准的JSON格式
参数 strJson 被检查的字符串
返回值 如果字符串是一个标准的JSON格式则返回JSON对象
如果字符串不是标准JSON格式则返回null
*/
function IsJson( strJson )
{
var tJson=null;
try
{
tJson=JSON.parse(strJson);
}
catch(exception)
{
return null;
}
return tJson;
}
/*-----------------------Ajax Function--------------------*/
/*JQueryAjax
参数说明
url 目标地址
action post/get
data 字符串格式的发送内容
asyn true---异步模式;false-----同步模式;
*/
function HttpReq( url,action, data,callbackfunc)
{
var strAction=action.toLowerCase();
if( strAction=="post")
{
$.post(url,data,callbackfunc);
}
else if( strAction=="get")
{
$.get(url,callbackfunc);
}
}
/*---------------Cookie Function-------------------*/
function setCookie(name, value, time='',path='') {
if(time && path){
var strsec = time * 1000;
var exp = new Date();
exp.setTime(exp.getTime() + strsec * 1);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString() + ";path="+path;
}else if(time){
var strsec = time * 1000;
var exp = new Date();
exp.setTime(exp.getTime() + strsec * 1);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}else if(path){
document.cookie = name + "=" + escape(value) + ";path="+path;
}else{
document.cookie = name + "=" + escape(value);
}
}
function getCookie(c_name)
{
if(document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");//获取字符串的起点
if(c_start != -1) {
c_start = c_start + c_name.length + 1;//获取值的起点
c_end = document.cookie.indexOf(";", c_start);//获取结尾处
if(c_end == -1) c_end = document.cookie.length;//如果是最后一个结尾就是cookie字符串的结尾
return decodeURI(document.cookie.substring(c_start, c_end));//截取字符串返回
}
}
return "";
}
function checkCookie(c_name) {
username = getCookie(c_name);
console.log(username);
if (username != null && username != "")
{ return true; }
else
{ return false; }
}
function clearCookie(name) {
setCookie(name, "", -1);
}
/*--------Studio WX Message-------*/
function IsInSlicer()
{
let bMatch=navigator.userAgent.match( RegExp('BBL-Slicer','i') );
return bMatch;
}
function SendWXMessage( strMsg )
{
let bCheck=IsInSlicer();
if(bCheck!=null)
{
window.wx.postMessage(strMsg);
}
}
/*------CSS Link Control----*/
function RemoveCssLink( LinkPath )
{
let pNow=$("head link[href='"+LinkPath+"']");
let nTotal=pNow.length;
for( let n=0;n<nTotal;n++ )
{
pNow[n].remove();
}
}
function AddCssLink( LinkPath )
{
var head = document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.href = LinkPath;
link.rel = 'stylesheet';
link.type = 'text/css';
head.appendChild(link);
}
function CheckCssLinkExist( LinkPath )
{
let pNow=$("head link[href='"+LinkPath+"']");
let nTotal=pNow.length;
return nTotal;
}
/*------Dark Mode------*/
function SwitchDarkMode( DarkCssPath )
{
ExecuteDarkMode( DarkCssPath );
setInterval("ExecuteDarkMode('"+DarkCssPath+"')",1000);
}
function ExecuteDarkMode( DarkCssPath )
{
let nMode=0;
let bDarkMode=navigator.userAgent.match( RegExp('dark','i') );
if( bDarkMode!=null )
nMode=1;
let nNow=CheckCssLinkExist(DarkCssPath);
if( nMode==0 )
{
if(nNow>0)
RemoveCssLink(DarkCssPath);
}
else
{
if(nNow==0)
AddCssLink(DarkCssPath);
}
}
SwitchDarkMode("css/dark.css");

View file

@ -6,12 +6,14 @@ function OnInit()
//-----Test-----
//Set_RecentFile_MouseRightBtn_Event();
//-----Official-----
TranslatePage();
SendMsg_GetLoginInfo();
SendMsg_GetRecentFile();
SendMsg_GetStaffPick();
//InitStaffPick();
}
//------最佳打开文件的右键菜单功能----------
@ -19,10 +21,11 @@ var RightBtnFilePath='';
var MousePosX=0;
var MousePosY=0;
var sImages = {};
function Set_RecentFile_MouseRightBtn_Event()
{
$("#FileList .FileItem").mousedown(
$(".FileItem").mousedown(
function(e)
{
//FilePath
@ -80,7 +83,6 @@ function Set_RecentFile_MouseRightBtn_Event()
function HandleStudio( pVal )
{
let strCmd = pVal['command'];
//alert(strCmd);
if(strCmd=='get_recent_projects')
{
@ -118,6 +120,11 @@ function HandleStudio( pVal )
$("#NoPluginTip").hide();
}
}
else if( strCmd=="modelmall_model_advise_get")
{
//alert('hot');
ShowStaffPick( pVal['hits'] );
}
}
function GotoMenu( strMenu )
@ -145,9 +152,16 @@ function SetLoginInfo( strAvatar, strName )
{
$("#Login1").hide();
$("#UserAvatarIcon").prop("src",strAvatar);
$("#UserName").text(strName);
let OriginAvatar=$("#UserAvatarIcon").prop("src");
if(strAvatar!=OriginAvatar)
$("#UserAvatarIcon").prop("src",strAvatar);
else
{
//alert('Avatar is Same');
}
$("#Login2").show();
$("#Login2").css("display","flex");
}
@ -177,10 +191,11 @@ function ShowRecentFileList( pList )
{
let OneFile=pList[n];
let sImg=OneFile["image"];
let sPath=OneFile['path'];
let sImg=OneFile["image"] || sImages[sPath];
let sTime=OneFile['time'];
let sName=OneFile['project_name'];
sImages[sPath] = sImg;
//let index=sPath.lastIndexOf('\\')>0?sPath.lastIndexOf('\\'):sPath.lastIndexOf('\/');
//let sShortName=sPath.substring(index+1,sPath.length);
@ -398,7 +413,99 @@ function OpenWikiUrl( strUrl )
SendWXMessage( JSON.stringify(tSend) );
}
//--------------Staff Pick-------
var StaffPickSwiper=null;
function InitStaffPick()
{
if( StaffPickSwiper!=null )
{
StaffPickSwiper.destroy(true,true);
StaffPickSwiper=null;
}
StaffPickSwiper = new Swiper('#HotModel_Swiper.swiper', {
slidesPerView : 'auto',
spaceBetween: 16,
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
slidesPerView : 'auto',
slidesPerGroup : 3
// autoplay: {
// delay: 3000,
// stopOnLastSlide: false,
// disableOnInteraction: true,
// disableOnInteraction: false
// },
// pagination: {
// el: '.swiper-pagination',
// },
// scrollbar: {
// el: '.swiper-scrollbar',
// draggable: true
// }
});
}
function SendMsg_GetStaffPick()
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="modelmall_model_advise_get";
SendWXMessage( JSON.stringify(tSend) );
setTimeout("SendMsg_GetStaffPick()",3600*1000*1);
}
function ShowStaffPick( ModelList )
{
let PickTotal=ModelList.length;
if(PickTotal==0)
{
$('#HotModelList').html('');
$('#HotModelArea').hide();
return;
}
let strPickHtml='';
for(let a=0;a<PickTotal;a++)
{
let OnePickModel=ModelList[a];
let ModelID=OnePickModel['design']['id'];
let ModelName=OnePickModel['design']['title'];
let ModelCover=OnePickModel['design']['cover'];
let DesignerName=OnePickModel['design']['designCreator']['name'];
let DesignerAvatar=OnePickModel['design']['designCreator']['avatar'];
strPickHtml+='<div class="HotModelPiece swiper-slide" onClick="OpenOneStaffPickModel('+ModelID+')" >'+
'<div class="HotModel_Designer_Info"><img src="'+DesignerAvatar+'" /><span class="TextS2">'+DesignerName+'</span></div>'+
' <div class="HotModel_PrevBlock"><img class="HotModel_PrevImg" src="'+ModelCover+'" /></div>'+
' <div class="HotModel_NameText TextS1">'+ModelName+'</div>'+
'</div>';
}
$('#HotModelList').html(strPickHtml);
InitStaffPick();
$('#HotModelArea').show();
}
function OpenOneStaffPickModel( ModelID )
{
//alert(ModelID);
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="modelmall_model_open";
tSend['data']={};
tSend['data']['id']=ModelID;
SendWXMessage( JSON.stringify(tSend) );
}
//---------------Global-----------------
window.postMessage = HandleStudio;

File diff suppressed because one or more lines are too long

View file

@ -1,185 +0,0 @@
var JSON;
if (!JSON) {
JSON = {};
}
(function () {
'use strict';
function f(n) {
// Format integers to have at least two digits.
return n < 10 ? '0' + n : n;
}
if (typeof Date.prototype.toJSON !== 'function') {
Date.prototype.toJSON = function (key) {
return isFinite(this.valueOf())
? this.getUTCFullYear() + '-' +
f(this.getUTCMonth() + 1) + '-' +
f(this.getUTCDate()) + 'T' +
f(this.getUTCHours()) + ':' +
f(this.getUTCMinutes()) + ':' +
f(this.getUTCSeconds()) + 'Z'
: null;
};
String.prototype.toJSON =
Number.prototype.toJSON =
Boolean.prototype.toJSON = function (key) {
return this.valueOf();
};
}
var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
gap,
indent,
meta = { // table of character substitutions
'\b': '\\b',
'\t': '\\t',
'\n': '\\n',
'\f': '\\f',
'\r': '\\r',
'"' : '\\"',
'\\': '\\\\'
},
rep;
function quote(string) {
escapable.lastIndex = 0;
return escapable.test(string) ? '"' + string.replace(escapable, function (a) {
var c = meta[a];
return typeof c === 'string'
? c
: '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
}) + '"' : '"' + string + '"';
}
function str(key, holder) {
var i, // The loop counter.
k, // The member key.
v, // The member value.
length,
mind = gap,
partial,
value = holder[key];
if (value && typeof value === 'object' &&
typeof value.toJSON === 'function') {
value = value.toJSON(key);
}
if (typeof rep === 'function') {
value = rep.call(holder, key, value);
}
switch (typeof value) {
case 'string':
return quote(value);
case 'number':
return isFinite(value) ? String(value) : 'null';
case 'boolean':
case 'null':
return String(value);
case 'object':
if (!value) {
return 'null';
}
gap += indent;
partial = [];
if (Object.prototype.toString.apply(value) === '[object Array]') {
length = value.length;
for (i = 0; i < length; i += 1) {
partial[i] = str(i, value) || 'null';
}
v = partial.length === 0
? '[]'
: gap
? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']'
: '[' + partial.join(',') + ']';
gap = mind;
return v;
}
if (rep && typeof rep === 'object') {
length = rep.length;
for (i = 0; i < length; i += 1) {
if (typeof rep[i] === 'string') {
k = rep[i];
v = str(k, value);
if (v) {
partial.push(quote(k) + (gap ? ': ' : ':') + v);
}
}
}
} else {
for (k in value) {
if (Object.prototype.hasOwnProperty.call(value, k)) {
v = str(k, value);
if (v) {
partial.push(quote(k) + (gap ? ': ' : ':') + v);
}
}
}
}
v = partial.length === 0
? '{}'
: gap
? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}'
: '{' + partial.join(',') + '}';
gap = mind;
return v;
}
}
if (typeof JSON.stringify !== 'function') {
JSON.stringify = function (value, replacer, space) {
var i;
gap = '';
indent = '';
if (typeof space === 'number') {
for (i = 0; i < space; i += 1) {
indent += ' ';
}
} else if (typeof space === 'string') {
indent = space;
}
rep = replacer;
if (replacer && typeof replacer !== 'function' &&
(typeof replacer !== 'object' ||
typeof replacer.length !== 'number')) {
throw new Error('JSON.stringify');
}
return str('', {'': value});
};
}
if (typeof JSON.parse !== 'function') {
JSON.parse = function (text, reviver) {
var j;
function walk(holder, key) {
var k, v, value = holder[key];
if (value && typeof value === 'object') {
for (k in value) {
if (Object.prototype.hasOwnProperty.call(value, k)) {
v = walk(value, k);
if (v !== undefined) {
value[k] = v;
} else {
delete value[k];
}
}
}
}
return reviver.call(holder, key, value);
}
text = String(text);
cx.lastIndex = 0;
if (cx.test(text)) {
text = text.replace(cx, function (a) {
return '\\u' +
('0000' + a.charCodeAt(0).toString(16)).slice(-4);
});
}
if (/^[\],:{}\s]*$/
.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@')
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')
.replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
j = eval('(' + text + ')');
return typeof reviver === 'function'
? walk({'': j}, '')
: j;
}
throw new SyntaxError('JSON.parse');
};
}
}());

View file

@ -244,6 +244,16 @@ function IsJson( strJson )
return tJson;
}
function DecodeJsonObject( pJson )
{
let tmpJson=JSON.stringify(pJson);
tmpJson=decodeURIComponent(tmpJson);
pJson=JSON.parse(tmpJson);
return pJson;
}
/*-----------------------Ajax Function--------------------*/
/*JQueryAjax
参数说明
@ -344,6 +354,16 @@ function SendWXDebugInfo( strMsg )
SendWXMessage( JSON.stringify(tSend) );
}
function OpenUrlInLocalBrowser( strUrl )
{
var tSend={};
tSend['sequence_id']=Math.round(new Date() / 1000);
tSend['command']="common_openurl";
tSend['url']=strUrl;
SendWXMessage( JSON.stringify(tSend) );
}
/*------CSS Link Control----*/
function RemoveCssLink( LinkPath )

View file

@ -4,6 +4,11 @@ body
color: #B3B3B5;
}
a
{
color: #00AE42;
}
.ZScrol::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
background-color: #939594;
}

View file

@ -338,4 +338,8 @@ body
height: 480px;
}
.viewer-button
{
background-color: rgba(255,0,0,.5)!important;
}

View file

@ -2,7 +2,7 @@ var ModelSwiper=null;
var ProfileSwiper=null;
function OnInit()
{
{
console.log(" 页面加载完成 ");
//翻译页面
TranslatePage();
@ -156,7 +156,6 @@ function HandleStudio(pVal)
}
}
function ShowProjectInfo( p3MF )
{
if(p3MF==null)
@ -285,13 +284,13 @@ function ShowModelInfo( pModel )
}
$('#ModelPreviewList').html(htmlPreview);
$('#ModelPreviewList').viewer({
$('#Model_Preview_Image').viewer({
title: false,
fullsreen: false,
zIndex: 999999,
zIndex: 11,
interval: 3000
});
$('#ModelPreviewList').viewer('update');
$('#Model_Preview_Image').viewer('update');
//Initial Swiper
if(TotalPreview==1)
@ -311,7 +310,7 @@ function ShowModelInfo( pModel )
$('#Model_Preview_Image .swiper-pagination').show();
ModelSwiper = new Swiper('#Model_Preview_Image.swiper', {
loop:true,
loop:false,
spaceBetween: 8,
navigation: {
nextEl: '.swiper-button-next',
@ -320,7 +319,6 @@ function ShowModelInfo( pModel )
autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: true,
disableOnInteraction: false
},
pagination: {
@ -388,7 +386,7 @@ function ShowFileInfo( pFile )
$('.ImageIcon').viewer({
title: false,
fullsreen: false,
zIndex: 999999,
zIndex: 11,
interval: 3000
});
$('.ImageIcon').viewer('update');
@ -503,13 +501,13 @@ function ShowProfilelInfo( pProfile )
}
$('#ProfilePreviewList').html(htmlPreview);
$('#ProfilePreviewList').viewer({
$('#Profile_Preview_Image').viewer({
title: false,
fullsreen: false,
zIndex: 999999,
zIndex: 11,
interval: 3000
});
$('#ProfilePreviewList').viewer("update");
$('#Profile_Preview_Image').viewer("update");
//Init Profile Swiper
if(TotalPreview==1)
@ -529,7 +527,7 @@ function ShowProfilelInfo( pProfile )
$('#Profile_Preview_Image .swiper-pagination').show();
ProfileSwiper = new Swiper('#Profile_Preview_Image.swiper', {
loop:true,
loop:false,
spaceBetween: 8,
navigation: {
nextEl: '.swiper-button-next',
@ -538,7 +536,6 @@ function ShowProfilelInfo( pProfile )
autoplay: {
delay: 3000,
stopOnLastSlide: false,
disableOnInteraction: true,
disableOnInteraction: false
},
pagination: {