From 0cce6619ce12aa8540f6dfca6d9ee79ffba65c19 Mon Sep 17 00:00:00 2001 From: Mack Date: Fri, 8 Nov 2024 21:06:57 +0800 Subject: [PATCH] ENH:Add 'Don't show again' to the step mesh jira: STUDIO-8606 Change-Id: I2382b9052e2c994a458ad36ca61eb94c517927c6 --- bbl/i18n/BambuStudio.pot | 23 +++++--- bbl/i18n/cs/BambuStudio_cs.po | 39 +++++++----- bbl/i18n/de/BambuStudio_de.po | 35 ++++++----- bbl/i18n/en/BambuStudio_en.po | 31 ++++++---- bbl/i18n/es/BambuStudio_es.po | 33 +++++++---- bbl/i18n/fr/BambuStudio_fr.po | 37 +++++++----- bbl/i18n/hu/BambuStudio_hu.po | 27 +++++---- bbl/i18n/it/BambuStudio_it.po | 44 ++++++++------ bbl/i18n/ja/BambuStudio_ja.po | 27 +++++---- bbl/i18n/ko/BambuStudio_ko.po | 27 +++++---- bbl/i18n/nl/BambuStudio_nl.po | 34 +++++++---- bbl/i18n/pl/BambuStudio_pl.po | 35 ++++++----- bbl/i18n/pt-BR/BambuStudio_pt-BR.po | 23 +++++--- bbl/i18n/ru/BambuStudio_ru.po | 31 ++++++---- bbl/i18n/sv/BambuStudio_sv.po | 37 +++++++----- bbl/i18n/tr/BambuStudio_tr.po | 27 +++++---- bbl/i18n/uk/BambuStudio_uk.po | 27 +++++---- bbl/i18n/zh_cn/BambuStudio_zh_CN.po | 43 +++++++++----- resources/i18n/zh_cn/BambuStudio.mo | Bin 355438 -> 355694 bytes src/BambuStudio.cpp | 2 +- src/libslic3r/AppConfig.cpp | 8 +++ src/libslic3r/GCode/CoolingBuffer.hpp | 1 + src/libslic3r/Model.cpp | 82 ++++++++++++++++++-------- src/libslic3r/Model.hpp | 14 +++-- src/slic3r/GUI/Plater.cpp | 73 +++++++++++++---------- src/slic3r/GUI/Preferences.cpp | 2 + src/slic3r/GUI/StepMeshDialog.cpp | 12 +++- src/slic3r/GUI/StepMeshDialog.hpp | 16 +++-- src/slic3r/Utils/CalibUtils.cpp | 2 +- 29 files changed, 503 insertions(+), 289 deletions(-) diff --git a/bbl/i18n/BambuStudio.pot b/bbl/i18n/BambuStudio.pot index ecb1b4abc..d7a91eedb 100644 --- a/bbl/i18n/BambuStudio.pot +++ b/bbl/i18n/BambuStudio.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4750,6 +4750,9 @@ msgstr "" msgid "0" msgstr "" +msgid "Don't show again" +msgstr "" + msgid "Calculating, please wait..." msgstr "" @@ -4759,9 +4762,6 @@ msgstr "" msgid "Update" msgstr "" -msgid "Don't show again" -msgstr "" - #, possible-c-format, possible-boost-format msgid "%s error" msgstr "" @@ -5735,6 +5735,13 @@ msgid "" "same time and manage multiple devices." msgstr "" +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -6646,8 +6653,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" msgid "" @@ -11370,8 +11377,8 @@ msgid "" msgstr "" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" diff --git a/bbl/i18n/cs/BambuStudio_cs.po b/bbl/i18n/cs/BambuStudio_cs.po index 66041f417..eb94aab9c 100644 --- a/bbl/i18n/cs/BambuStudio_cs.po +++ b/bbl/i18n/cs/BambuStudio_cs.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: 2023-10-18 10:45+0800\n" "Last-Translator: René Mošner \n" "Language-Team: \n" @@ -4934,6 +4934,9 @@ msgstr "" msgid "0" msgstr "0" +msgid "Don't show again" +msgstr "Znovu Nezobrazovat" + msgid "Calculating, please wait..." msgstr "" @@ -4943,9 +4946,6 @@ msgstr "Stav" msgid "Update" msgstr "Aktualizovat" -msgid "Don't show again" -msgstr "Znovu Nezobrazovat" - #, c-format, boost-format msgid "%s error" msgstr "%s chyba" @@ -5966,6 +5966,13 @@ msgid "" "same time and manage multiple devices." msgstr "" +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -6922,8 +6929,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Při nahrávání časosběru bez nástrojové hlavy se doporučuje přidat " "\"Timelapse Wipe Tower\" \n" @@ -12097,8 +12104,8 @@ msgid "" msgstr "" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" @@ -13042,8 +13049,8 @@ msgid "" msgstr "" "Plochou na podložku\n" "Věděli jste, že můžete rychle nastavit orientaci modelu tak, aby jedna z " -"jeho stěn spočívala na tiskovém podloží? Vyberte funkci \"Plochou na podložku" -"\" nebo stiskněte klávesu F." +"jeho stěn spočívala na tiskovém podloží? Vyberte funkci \"Plochou na " +"podložku\" nebo stiskněte klávesu F." #: resources/data/hints.ini: [hint:Object List] msgid "" @@ -13426,12 +13433,12 @@ msgstr "" #~ "Najdete podrobnosti o kalibraci průtoku dynamiky v naší wiki.\n" #~ "\n" #~ "Obvykle kalibrace není potřebná. Při spuštění tisku s jednobarevným/" -#~ "materiálovým filamentem a zaškrtnutou volbou \"kalibrace průtoku dynamiky" -#~ "\" v menu spuštění tisku, tiskárna bude postupovat podle staré metody a " -#~ "zkalibruje filament před tiskem. Při spuštění tisku s vícebarevným/" -#~ "materiálovým filamentem bude tiskárna při každé změně filamentu používat " -#~ "výchozí kompenzační parametr pro filament, což má většinou dobrý " -#~ "výsledek.\n" +#~ "materiálovým filamentem a zaškrtnutou volbou \"kalibrace průtoku " +#~ "dynamiky\" v menu spuštění tisku, tiskárna bude postupovat podle staré " +#~ "metody a zkalibruje filament před tiskem. Při spuštění tisku s " +#~ "vícebarevným/materiálovým filamentem bude tiskárna při každé změně " +#~ "filamentu používat výchozí kompenzační parametr pro filament, což má " +#~ "většinou dobrý výsledek.\n" #~ "\n" #~ "Všimněte si, že existují některé případy, které mohou způsobit, že " #~ "výsledek kalibrace nebude spolehlivý: použití texturované podložky pro " diff --git a/bbl/i18n/de/BambuStudio_de.po b/bbl/i18n/de/BambuStudio_de.po index 2a9896bf4..0d458f3c1 100644 --- a/bbl/i18n/de/BambuStudio_de.po +++ b/bbl/i18n/de/BambuStudio_de.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -5122,6 +5122,9 @@ msgstr "" msgid "0" msgstr "0" +msgid "Don't show again" +msgstr "Nicht erneut anzeigen" + msgid "Calculating, please wait..." msgstr "" @@ -5131,9 +5134,6 @@ msgstr "Status" msgid "Update" msgstr "Update" -msgid "Don't show again" -msgstr "Nicht erneut anzeigen" - #, c-format, boost-format msgid "%s error" msgstr "%s Fehler" @@ -6209,6 +6209,13 @@ msgstr "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -7238,13 +7245,13 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Wenn Sie einen Zeitraffer ohne Werkzeugkopf aufnehmen, wird empfohlen, einen " "\"Timelapse Wischturm\" hinzuzufügen, indem Sie mit der rechten Maustaste " -"auf die leere Position der Bauplatte klicken und \"Primitiv hinzufügen\"->" -"\"Timelapse Wischturm\" wählen." +"auf die leere Position der Bauplatte klicken und \"Primitiv hinzufügen\"-" +">\"Timelapse Wischturm\" wählen." msgid "" "The notes are too large, and may not be synchronized to the cloud. Please " @@ -12777,12 +12784,12 @@ msgstr "" "Möchten Sie es umschreiben?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more printers; please go to printer selection" msgid "Create Printer/Nozzle" @@ -14772,8 +14779,8 @@ msgstr "" #~ "Choose an AMS slot then press \"Load\" or \"Unload\" button to " #~ "automatically load or unload filiament." #~ msgstr "" -#~ "Wählen Sie einen AMS-Slot und drücken Sie dann \"Laden\" oder \"Entladen" -#~ "\", um automatisch Filament zu laden oder zu entladen." +#~ "Wählen Sie einen AMS-Slot und drücken Sie dann \"Laden\" oder " +#~ "\"Entladen\", um automatisch Filament zu laden oder zu entladen." #~ msgid "Choose one or more files (3mf/step/stl/obj/amf):" #~ msgstr "Wählen Sie eine oder mehrere Dateien aus (3mf/step/stl/obj/amf):" diff --git a/bbl/i18n/en/BambuStudio_en.po b/bbl/i18n/en/BambuStudio_en.po index bda640654..45654822b 100644 --- a/bbl/i18n/en/BambuStudio_en.po +++ b/bbl/i18n/en/BambuStudio_en.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -5016,6 +5016,9 @@ msgstr "" msgid "0" msgstr "0" +msgid "Don't show again" +msgstr "Don't show again" + msgid "Calculating, please wait..." msgstr "" @@ -5025,9 +5028,6 @@ msgstr "Status" msgid "Update" msgstr "Update" -msgid "Don't show again" -msgstr "Don't show again" - #, c-format, boost-format msgid "%s error" msgstr "%s error" @@ -6074,6 +6074,13 @@ msgstr "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -7069,13 +7076,13 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgid "" "The notes are too large, and may not be synchronized to the cloud. Please " @@ -12419,12 +12426,12 @@ msgstr "" "Do you want to rewrite it?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more printers; please go to printer selection" msgid "Create Printer/Nozzle" diff --git a/bbl/i18n/es/BambuStudio_es.po b/bbl/i18n/es/BambuStudio_es.po index 22bf0e583..fe8fb3f16 100644 --- a/bbl/i18n/es/BambuStudio_es.po +++ b/bbl/i18n/es/BambuStudio_es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -5096,6 +5096,9 @@ msgstr "" msgid "0" msgstr "0" +msgid "Don't show again" +msgstr "No mostrar de nuevo" + msgid "Calculating, please wait..." msgstr "" @@ -5105,9 +5108,6 @@ msgstr "Estado" msgid "Update" msgstr "Actualizar" -msgid "Don't show again" -msgstr "No mostrar de nuevo" - #, c-format, boost-format msgid "%s error" msgstr "%s error" @@ -6183,6 +6183,13 @@ msgstr "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -7207,8 +7214,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Al grabar timelapse sin el cabezal de la herramienta, se recomienda añadir " "una «Torre de purga para el timelapse» \n" @@ -12733,12 +12740,12 @@ msgstr "" "¿Quieres reescribirlo?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more printers; please go to printer selection" msgid "Create Printer/Nozzle" @@ -16420,9 +16427,9 @@ msgstr "" #~ "Gracias por comprar un dispositivo Bambu Lab. Antes de usar tu " #~ "dispositivo Bambu Lab, lee los términos y condiciones. Al hacer clic para " #~ "aceptar el uso de tu dispositivo Bambu Lab, aceptas cumplir con la " -#~ "Política de privacidad y los Términos de uso (en conjunto, los \"Términos" -#~ "\"). Si no cumple o no está de acuerdo con la Política de privacidad de " -#~ "Bambu Lab, no utilice los equipos y servicios de Bambu Lab." +#~ "Política de privacidad y los Términos de uso (en conjunto, los " +#~ "\"Términos\"). Si no cumple o no está de acuerdo con la Política de " +#~ "privacidad de Bambu Lab, no utilice los equipos y servicios de Bambu Lab." #~ msgid "The %s filament is too soft to be used with the AMS" #~ msgstr "El filamento %s es demasiado blando para usarlo con el AMS" diff --git a/bbl/i18n/fr/BambuStudio_fr.po b/bbl/i18n/fr/BambuStudio_fr.po index eeadbb958..4662d3ceb 100644 --- a/bbl/i18n/fr/BambuStudio_fr.po +++ b/bbl/i18n/fr/BambuStudio_fr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -5102,6 +5102,9 @@ msgstr "" msgid "0" msgstr "0" +msgid "Don't show again" +msgstr "Ne plus afficher" + msgid "Calculating, please wait..." msgstr "" @@ -5111,9 +5114,6 @@ msgstr "État" msgid "Update" msgstr "Mise à jour" -msgid "Don't show again" -msgstr "Ne plus afficher" - #, c-format, boost-format msgid "%s error" msgstr "Erreur %s" @@ -6189,6 +6189,13 @@ msgstr "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -7229,8 +7236,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Lorsque vous enregistrez un timelapse sans tête d’outil, il est recommandé " "d’ajouter une \"Tour de nettoyage timelapse\".\n" @@ -7382,9 +7389,9 @@ msgid "" "Bed temperature when cool plate is installed. Value 0 means the filament " "does not support to print on the Cool Plate" msgstr "" -"Il s'agit de la température du plateau lorsque le plateau froid (\"Cool plate" -"\") est installé. Une valeur à 0 signifie que ce filament ne peut pas être " -"imprimé sur le plateau froid." +"Il s'agit de la température du plateau lorsque le plateau froid (\"Cool " +"plate\") est installé. Une valeur à 0 signifie que ce filament ne peut pas " +"être imprimé sur le plateau froid." msgid "Engineering Plate" msgstr "Engineering Plate" @@ -9386,8 +9393,8 @@ msgid "" "thickness (top+bottom solid layers)" msgstr "" "Ajoutez du remplissage solide à proximité des surfaces inclinées pour " -"garantir l'épaisseur verticale de la coque (couches solides supérieure" -"+inférieure)." +"garantir l'épaisseur verticale de la coque (couches solides " +"supérieure+inférieure)." msgid "Internal bridge support thickness" msgstr "Épaisseur du support interne du pont" @@ -12781,12 +12788,12 @@ msgstr "" "Voulez-vous le réécrire ?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more printers; please go to printer selection" msgid "Create Printer/Nozzle" diff --git a/bbl/i18n/hu/BambuStudio_hu.po b/bbl/i18n/hu/BambuStudio_hu.po index 8805c2ff1..5eaec7fc7 100644 --- a/bbl/i18n/hu/BambuStudio_hu.po +++ b/bbl/i18n/hu/BambuStudio_hu.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -5065,6 +5065,9 @@ msgstr "" msgid "0" msgstr "0" +msgid "Don't show again" +msgstr "Ne mutasd újra" + msgid "Calculating, please wait..." msgstr "" @@ -5074,9 +5077,6 @@ msgstr "Állapot" msgid "Update" msgstr "Frissítés" -msgid "Don't show again" -msgstr "Ne mutasd újra" - #, c-format, boost-format msgid "%s error" msgstr "%s hiba" @@ -6135,6 +6135,13 @@ msgstr "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -7146,8 +7153,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Ha a nyomtatófej nélküli timelapse engedélyezve van, javasoljuk, hogy " "helyezz el a tálcán egy „Timelapse törlőtornyot“. Ehhez kattints jobb " @@ -12607,12 +12614,12 @@ msgstr "" "Szeretnéd felülírni?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more printers; please go to printer selection" msgid "Create Printer/Nozzle" diff --git a/bbl/i18n/it/BambuStudio_it.po b/bbl/i18n/it/BambuStudio_it.po index bdc1c6e05..89a9b6a1b 100644 --- a/bbl/i18n/it/BambuStudio_it.po +++ b/bbl/i18n/it/BambuStudio_it.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -5076,6 +5076,9 @@ msgstr "" msgid "0" msgstr "0" +msgid "Don't show again" +msgstr "Non mostrare più" + msgid "Calculating, please wait..." msgstr "" @@ -5085,9 +5088,6 @@ msgstr "Stato" msgid "Update" msgstr "Aggiorna" -msgid "Don't show again" -msgstr "Non mostrare più" - #, c-format, boost-format msgid "%s error" msgstr "errore %s" @@ -6150,6 +6150,13 @@ msgstr "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -7163,8 +7170,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Quando si registra un timelapse senza testa di satmpa, si consiglia di " "aggiungere un \"Timelapse Torre di pulizia\"\n" @@ -8263,8 +8270,8 @@ msgid "" msgstr "" "È stato rilevato un aggiornamento importante che deve essere eseguito prima " "che la stampa possa continuare. Vuoi effettuare l'aggiornamento adesso? Puoi " -"effettuare l'aggiornamento anche in un secondo momento da \"Aggiorna firmware" -"\"." +"effettuare l'aggiornamento anche in un secondo momento da \"Aggiorna " +"firmware\"." msgid "" "The firmware version is abnormal. Repairing and updating are required before " @@ -12670,8 +12677,8 @@ msgstr "" "Vuoi riscriverlo?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" "Rinomineremo i preset come \"Vendor Type Serial @printer selezionato\". \n" @@ -14244,12 +14251,13 @@ msgstr "" #~ "wiki.\n" #~ "\n" #~ "Di solito la calibrazione non è necessaria. Quando si avvia una stampa a " -#~ "singolo colore/materiale, con l'opzione \"calibrazione dinamica del flusso" -#~ "\" selezionata nel menu di avvio della stampa, la stampante eseguirà la " -#~ "vecchia procedura, calibrando il filamento prima della stampa; Quando si " -#~ "avvia una stampa multicolore/materiale, la stampante utilizzerà il " -#~ "parametro di compensazione predefinito del filamento durante ogni cambio, " -#~ "che nella maggior parte dei casi avrà un buon risultato.\n" +#~ "singolo colore/materiale, con l'opzione \"calibrazione dinamica del " +#~ "flusso\" selezionata nel menu di avvio della stampa, la stampante " +#~ "eseguirà la vecchia procedura, calibrando il filamento prima della " +#~ "stampa; Quando si avvia una stampa multicolore/materiale, la stampante " +#~ "utilizzerà il parametro di compensazione predefinito del filamento " +#~ "durante ogni cambio, che nella maggior parte dei casi avrà un buon " +#~ "risultato.\n" #~ "\n" #~ "Tieni presente che ci sono alcuni casi che renderanno il risultato della " #~ "calibrazione non affidabile: utilizzo di un piatto texture; il piatto non " @@ -16774,8 +16782,8 @@ msgstr "" #~ "Quando si registra un timelapse senza testa di satmpa, si consiglia di " #~ "aggiungere un \"Timelapse Torre di pulizia\"\n" #~ "facendo clic con il pulsante destro del mouse sulla posizione vuota del " -#~ "piatto e scegli \"Aggiungi primitiva\" ->\"Timelapse Torre di pulizia" -#~ "\"».\n" +#~ "piatto e scegli \"Aggiungi primitiva\" ->\"Timelapse Torre di " +#~ "pulizia\"».\n" #~ msgid "" #~ "When sparse infill density is low, the internal solid infill or internal " diff --git a/bbl/i18n/ja/BambuStudio_ja.po b/bbl/i18n/ja/BambuStudio_ja.po index 06a7df4c3..c06fc0fd0 100644 --- a/bbl/i18n/ja/BambuStudio_ja.po +++ b/bbl/i18n/ja/BambuStudio_ja.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -4951,6 +4951,9 @@ msgstr "" msgid "0" msgstr "0" +msgid "Don't show again" +msgstr "次回から表示しない" + msgid "Calculating, please wait..." msgstr "" @@ -4960,9 +4963,6 @@ msgstr "デバイス状態" msgid "Update" msgstr "更新" -msgid "Don't show again" -msgstr "次回から表示しない" - #, c-format, boost-format msgid "%s error" msgstr "%s エラー" @@ -5998,6 +5998,13 @@ msgstr "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -6975,8 +6982,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "ヘッド無しのタイムラプスビデオを録画する時に、「タイムラプスプライムタワー」" "を追加してください。プレートで右クリックして、「プリミティブを追加」→「タイム" @@ -12208,12 +12215,12 @@ msgstr "" "リライトしますか?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more printers; please go to printer selection" msgid "Create Printer/Nozzle" diff --git a/bbl/i18n/ko/BambuStudio_ko.po b/bbl/i18n/ko/BambuStudio_ko.po index b582af665..770b0434e 100644 --- a/bbl/i18n/ko/BambuStudio_ko.po +++ b/bbl/i18n/ko/BambuStudio_ko.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -4966,6 +4966,9 @@ msgstr "" msgid "0" msgstr "" +msgid "Don't show again" +msgstr "다시 표시하지 않음" + msgid "Calculating, please wait..." msgstr "" @@ -4975,9 +4978,6 @@ msgstr "출력상황" msgid "Update" msgstr "업데이트" -msgid "Don't show again" -msgstr "다시 표시하지 않음" - #, c-format, boost-format msgid "%s error" msgstr "%s 오류" @@ -6019,6 +6019,13 @@ msgstr "" "이 옵션을 활성화하면 동시에 여러 장치에 작업을 보내고 여러 장치를 관리할 수 " "있습니다." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -6998,8 +7005,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "툴헤드 없이 타임랩스를 녹화할 때는 “타임랩스 와이프 타워”를 추가하는 것이 좋" "습니다. \n" @@ -12277,12 +12284,12 @@ msgstr "" "다시 작성하시겠습니까?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more printers; please go to printer selection" msgid "Create Printer/Nozzle" diff --git a/bbl/i18n/nl/BambuStudio_nl.po b/bbl/i18n/nl/BambuStudio_nl.po index ff58c0231..1aa850409 100644 --- a/bbl/i18n/nl/BambuStudio_nl.po +++ b/bbl/i18n/nl/BambuStudio_nl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -5096,6 +5096,9 @@ msgstr "" msgid "0" msgstr "0" +msgid "Don't show again" +msgstr "Niet nogmaals tonen" + msgid "Calculating, please wait..." msgstr "" @@ -5105,9 +5108,6 @@ msgstr "Status" msgid "Update" msgstr "Updaten" -msgid "Don't show again" -msgstr "Niet nogmaals tonen" - #, c-format, boost-format msgid "%s error" msgstr "%s fout" @@ -6187,6 +6187,13 @@ msgstr "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -7043,9 +7050,10 @@ msgstr "" "Bedankt voor uw aankoop van een Bambu Lab-apparaat. Lees de algemene " "voorwaarden voordat u uw Bambu Lab apparaat gebruikt. Door te klikken om " "akkoord te gaan met het gebruik van uw Bambu Lab apparaat, gaat u akkoord " -"met het Privacybeleid en de Gebruiksvoorwaarden (gezamenlijk de \"Voorwaarden" -"\"). Als u niet voldoet aan of akkoord gaat met het Privacybeleid van Bambu " -"Lab, maak dan geen gebruik van Bambu Lab apparatuur en diensten." +"met het Privacybeleid en de Gebruiksvoorwaarden (gezamenlijk de " +"\"Voorwaarden\"). Als u niet voldoet aan of akkoord gaat met het " +"Privacybeleid van Bambu Lab, maak dan geen gebruik van Bambu Lab apparatuur " +"en diensten." msgid "and" msgstr "en" @@ -7210,8 +7218,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Bij het opnemen van timelapse zonder toolhead is het aan te raden om een " "„Timelapse Wipe Tower” toe te voegen \n" @@ -12698,12 +12706,12 @@ msgstr "" "Wil je het herschrijven?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more printers; please go to printer selection" msgid "Create Printer/Nozzle" diff --git a/bbl/i18n/pl/BambuStudio_pl.po b/bbl/i18n/pl/BambuStudio_pl.po index 9c51f4334..dd0473d05 100644 --- a/bbl/i18n/pl/BambuStudio_pl.po +++ b/bbl/i18n/pl/BambuStudio_pl.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -10,8 +10,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : ((n%10>=2 && n%10<=4) && ((n" -"%100<12 || n%100>14))) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : ((n%10>=2 && n%10<=4) && " +"((n%100<12 || n%100>14))) ? 1 : 2;\n" "X-Generator: Poedit 3.4.2\n" msgid "Supports Painting" @@ -5084,6 +5084,9 @@ msgstr "" msgid "0" msgstr "0" +msgid "Don't show again" +msgstr "Nie pokazuj ponownie" + msgid "Calculating, please wait..." msgstr "" @@ -5093,9 +5096,6 @@ msgstr "Status" msgid "Update" msgstr "Aktualizuj" -msgid "Don't show again" -msgstr "Nie pokazuj ponownie" - #, c-format, boost-format msgid "%s error" msgstr "%s błąd" @@ -6166,6 +6166,13 @@ msgstr "" "Dzięki tej opcji możesz wysyłać zadania do wielu urządzeń jednocześnie i " "zarządzać nimi." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -7170,8 +7177,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Podczas nagrywania timelapse'a bez głowicy zaleca się dodanie \"Timelaps - " "Wieża Czyszcząca\" \n" @@ -10893,10 +10900,10 @@ msgid "" "triangle mesh slicing. The gap closing operation may reduce the final print " "resolution, therefore it is advisable to keep the value reasonably low." msgstr "" -"Szpary mniejsze niż dwukrotność wartości parametru \"promień zamykania szpar" -"\" zostaną zamknięte przy cięciu. Operacja zamykania szpar może zmniejszyć " -"finalną rozdzielczość wydruku, więc zalecane jest ustawienie tej wartości na " -"rozsądnie niskim poziomie." +"Szpary mniejsze niż dwukrotność wartości parametru \"promień zamykania " +"szpar\" zostaną zamknięte przy cięciu. Operacja zamykania szpar może " +"zmniejszyć finalną rozdzielczość wydruku, więc zalecane jest ustawienie tej " +"wartości na rozsądnie niskim poziomie." msgid "Slicing Mode" msgstr "Tryb cięcia" @@ -12647,8 +12654,8 @@ msgstr "" "Czy chcesz go zastąpić?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" "Nazwa profilu zostanie zmieniona na \"Dostawca Typ Seria @nazwa drukarki, " diff --git a/bbl/i18n/pt-BR/BambuStudio_pt-BR.po b/bbl/i18n/pt-BR/BambuStudio_pt-BR.po index 45f20c8b4..7b05083b3 100644 --- a/bbl/i18n/pt-BR/BambuStudio_pt-BR.po +++ b/bbl/i18n/pt-BR/BambuStudio_pt-BR.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -5062,6 +5062,9 @@ msgstr "" msgid "0" msgstr "0" +msgid "Don't show again" +msgstr "Não mostrar novamente" + msgid "Calculating, please wait..." msgstr "" @@ -5071,9 +5074,6 @@ msgstr "Estado" msgid "Update" msgstr "Atualização" -msgid "Don't show again" -msgstr "Não mostrar novamente" - #, c-format, boost-format msgid "%s error" msgstr "%s erro" @@ -6134,6 +6134,13 @@ msgstr "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -7151,8 +7158,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Ao gravar o timelapse sem o cabeçote de ferramenta, é recomendável adicionar " "uma “Timelapse Wipe Tower” \n" @@ -12627,8 +12634,8 @@ msgstr "" "Você quer reescrevê-lo?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" "Nós renomearíamos as predefinições como “Tipo de fornecedor Serial @printer " diff --git a/bbl/i18n/ru/BambuStudio_ru.po b/bbl/i18n/ru/BambuStudio_ru.po index 65dcd3c20..1458b9aa9 100644 --- a/bbl/i18n/ru/BambuStudio_ru.po +++ b/bbl/i18n/ru/BambuStudio_ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 1.9.7.52 Public Official\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: 2024-09-27 23:58+0700\n" "Last-Translator: \n" "Language-Team: Andylg \n" @@ -15,8 +15,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" "X-Generator: Poedit 3.4.2\n" msgid "Supports Painting" @@ -5182,6 +5182,9 @@ msgstr "" msgid "0" msgstr "" +msgid "Don't show again" +msgstr "Больше не показывать" + msgid "Calculating, please wait..." msgstr "" @@ -5191,9 +5194,6 @@ msgstr "Статус" msgid "Update" msgstr "Обновление" -msgid "Don't show again" -msgstr "Больше не показывать" - #, c-format, boost-format msgid "%s error" msgstr "Ошибка %s" @@ -6281,6 +6281,13 @@ msgstr "" "Если включено, вы сможете управлять несколькими устройствами и отправлять " "задания на печать на несколько устройств одновременно." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -7315,8 +7322,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "При записи таймлапса без видимости головы рекомендуется добавить «Черновая " "башня таймлапса». \n" @@ -10345,8 +10352,8 @@ msgstr "" "две ближайшие линии заполнения с коротким отрезком периметра. Если не " "найдено такого отрезка периметра короче этого параметра, линия заполнения " "соединяется с отрезком периметра только с одной стороны, а длина отрезка " -"периметра ограничена значением «Длина привязок разреженного " -"заполнения» (infill_anchor), но не больше этого параметра.\n" +"периметра ограничена значением «Длина привязок разреженного заполнения» " +"(infill_anchor), но не больше этого параметра.\n" "Установите 0 для отключения привязок." msgid "0 (not anchored)" @@ -12954,8 +12961,8 @@ msgstr "" "Хотите перезаписать его?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" "Мы переименуем профиль в \"Производитель Тип Серия @выбранный принтер\".\n" diff --git a/bbl/i18n/sv/BambuStudio_sv.po b/bbl/i18n/sv/BambuStudio_sv.po index bcc758899..068bd6ef5 100644 --- a/bbl/i18n/sv/BambuStudio_sv.po +++ b/bbl/i18n/sv/BambuStudio_sv.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -5032,6 +5032,9 @@ msgstr "" msgid "0" msgstr "0" +msgid "Don't show again" +msgstr "Visa inte igen" + msgid "Calculating, please wait..." msgstr "" @@ -5041,9 +5044,6 @@ msgstr "Status" msgid "Update" msgstr "Uppdatera" -msgid "Don't show again" -msgstr "Visa inte igen" - #, c-format, boost-format msgid "%s error" msgstr "%s fel" @@ -6093,6 +6093,13 @@ msgstr "" "With this option enabled, you can send a task to multiple devices at the " "same time and manage multiple devices." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -6735,8 +6742,8 @@ msgstr "" msgid "" "Timelapse is not supported because Print sequence is set to \"By object\"." msgstr "" -"Timelapse stöds inte eftersom utskrifts sekvensen är inställd på \"Per objekt" -"\"." +"Timelapse stöds inte eftersom utskrifts sekvensen är inställd på \"Per " +"objekt\"." msgid "Errors" msgstr "Fel" @@ -7101,8 +7108,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "När du spelar in timelapse utan verktygshuvud rekommenderas att du lägger " "till ett \"Timelapse Wipe Tower\".\n" @@ -12503,12 +12510,12 @@ msgstr "" "Vill du skriva om det?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more printers; please go to printer selection" msgid "Create Printer/Nozzle" @@ -16093,9 +16100,9 @@ msgstr "" #~ "Tack för att du har köpt en Bambu Lab enhet. Innan du använder din Bambu " #~ "Lab enhet ska du läsa villkoren. Genom att klicka för att godkänna " #~ "användningen av din Bambu Lab enhet godkänner du att följa " -#~ "sekretesspolicyn och användningsvillkoren (gemensamt kallade \"Villkor" -#~ "\"). Om du inte följer eller samtycker till Bambu Labs integritetspolicy " -#~ "ska du inte använda Bambu Labs utrustning och tjänster." +#~ "sekretesspolicyn och användningsvillkoren (gemensamt kallade " +#~ "\"Villkor\"). Om du inte följer eller samtycker till Bambu Labs " +#~ "integritetspolicy ska du inte använda Bambu Labs utrustning och tjänster." #~ msgid "The %s filament is too soft to be used with the AMS" #~ msgstr "Filament %s är för mjukt för att kunna användas med AMS" diff --git a/bbl/i18n/tr/BambuStudio_tr.po b/bbl/i18n/tr/BambuStudio_tr.po index 8ff9f16b9..dbdd7114c 100644 --- a/bbl/i18n/tr/BambuStudio_tr.po +++ b/bbl/i18n/tr/BambuStudio_tr.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: 2024-09-29 02:13+0300\n" "Last-Translator: Fatih AYDIN \n" "Language-Team: \n" @@ -5053,6 +5053,9 @@ msgstr "" msgid "0" msgstr "" +msgid "Don't show again" +msgstr "Bir daha gösterme" + msgid "Calculating, please wait..." msgstr "" @@ -5062,9 +5065,6 @@ msgstr "Durum" msgid "Update" msgstr "Güncelle" -msgid "Don't show again" -msgstr "Bir daha gösterme" - #, c-format, boost-format msgid "%s error" msgstr "%s hata" @@ -6135,6 +6135,13 @@ msgstr "" "Bu seçenek etkinleştirildiğinde, aynı anda birden fazla cihaza görev " "gönderebilir ve birden fazla cihazı yönetebilirsiniz." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "" @@ -7144,8 +7151,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "Araç başlığı olmadan timelapse kaydederken, bir \"Timelapse Wipe Tower\" " "eklenmesi önerilir.\n" @@ -8540,8 +8547,8 @@ msgid "" "Please select \"By object\" print sequence to print multiple objects in " "spiral vase mode." msgstr "" -"Birden fazla nesneyi spiral vazo modunda yazdırmak için lütfen \"Nesneye göre" -"\" yazdırma sırasını seçin." +"Birden fazla nesneyi spiral vazo modunda yazdırmak için lütfen \"Nesneye " +"göre\" yazdırma sırasını seçin." msgid "" "The spiral vase mode does not work when an object contains more than one " @@ -12570,8 +12577,8 @@ msgstr "" "Yeniden yazmak ister misin?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" "Ön ayarları \"Satıcı Tipi Seri @seçtiğiniz yazıcı\" olarak yeniden " diff --git a/bbl/i18n/uk/BambuStudio_uk.po b/bbl/i18n/uk/BambuStudio_uk.po index da2ef1843..36e107467 100644 --- a/bbl/i18n/uk/BambuStudio_uk.po +++ b/bbl/i18n/uk/BambuStudio_uk.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Bambu Studio\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: BambuLab Україна\n" @@ -2652,8 +2652,8 @@ msgstr "Будь ласка, введіть допустиме значення #, c-format, boost-format msgid "Please input a valid value (K in %.1f~%.1f, N in %.1f~%.1f)" msgstr "" -"Будь ласка, введіть допустиме значення (K у межах %.1f~%.1f, N у межах %.1f~" -"%.1f)" +"Будь ласка, введіть допустиме значення (K у межах %.1f~%.1f, N у межах " +"%.1f~%.1f)" msgid "Other Color" msgstr "Інший колір" @@ -5092,6 +5092,9 @@ msgstr "Кількість трикутних граней" msgid "0" msgstr "0" +msgid "Don't show again" +msgstr "Більше не показувати" + msgid "Calculating, please wait..." msgstr "Розрахунок, будь ласка, зачекайте…" @@ -5101,9 +5104,6 @@ msgstr "Статус" msgid "Update" msgstr "Оновлення" -msgid "Don't show again" -msgstr "Більше не показувати" - #, c-format, boost-format msgid "%s error" msgstr "%s помилка" @@ -6187,6 +6187,13 @@ msgstr "" "З цією опцією ввімкненою, ви можете відправляти завдання на кілька пристроїв " "одночасно та керувати декількома пристроями." +msgid "Show the step mesh parameter setting dialog." +msgstr "" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "" + msgid "Support beta version update." msgstr "Оновлення бета-версії підтримки." @@ -7212,8 +7219,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "При записі таймлапсу без інструментальної головки рекомендується додати " "“Timelapse Wipe Tower” \n" @@ -12726,8 +12733,8 @@ msgstr "" "Чи бажаєте ви їх перезаписати?" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" "Ми перейменовуємо налаштування на “Виробник Тип Серійний номер @принтер, " diff --git a/bbl/i18n/zh_cn/BambuStudio_zh_CN.po b/bbl/i18n/zh_cn/BambuStudio_zh_CN.po index f490d4256..6ead21068 100644 --- a/bbl/i18n/zh_cn/BambuStudio_zh_CN.po +++ b/bbl/i18n/zh_cn/BambuStudio_zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Slic3rPE\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-07 20:10+0800\n" +"POT-Creation-Date: 2024-11-08 21:03+0800\n" "PO-Revision-Date: 2024-03-21 10:39+0800\n" "Last-Translator: Jiang Yue \n" "Language-Team: \n" @@ -4869,6 +4869,9 @@ msgstr "三角面数量" msgid "0" msgstr "" +msgid "Don't show again" +msgstr "不再显示" + msgid "Calculating, please wait..." msgstr "计算中,请等待..." @@ -4878,9 +4881,6 @@ msgstr "设备状态" msgid "Update" msgstr "固件更新" -msgid "Don't show again" -msgstr "不再显示" - #, c-format, boost-format msgid "%s error" msgstr "%s 错误" @@ -5886,6 +5886,13 @@ msgid "" "same time and manage multiple devices." msgstr "启用此选项后,您可以同时向多个设备发送任务并管理多个设备。" +msgid "Show the step mesh parameter setting dialog." +msgstr "显示step参数设置对话框。" + +msgid "" +"If enabled,a parameter settings dialog will appear during STEP file import." +msgstr "如果启用,导入step文件时将出现设置参数对话框。" + msgid "Support beta version update." msgstr "支持beta版本更新" @@ -6840,8 +6847,8 @@ msgstr "" msgid "" "When recording timelapse without toolhead, it is recommended to add a " "\"Timelapse Wipe Tower\" \n" -"by right-click the empty position of build plate and choose \"Add Primitive" -"\"->\"Timelapse Wipe Tower\"." +"by right-click the empty position of build plate and choose \"Add " +"Primitive\"->\"Timelapse Wipe Tower\"." msgstr "" "在录制无工具头延时摄影视频时,建议添加“延时摄影擦料塔”\n" "右键单击打印板的空白位置,选择“添加标准模型”->“延时摄影擦料塔”。" @@ -11381,14 +11388,18 @@ msgid "" "Tip: Using a %.1fmm nozzle for auto dynamic flow calibration may have a high " "probability of failure.\n" "If it fails, it is recommended to use manual calibration." -msgstr "提示:使用%.1fmm喷嘴进行自动流量校准可能会有较高的失败概率,如果失败,建议使用手动校准。" +msgstr "" +"提示:使用%.1fmm喷嘴进行自动流量校准可能会有较高的失败概率,如果失败,建议使" +"用手动校准。" #, c-format, boost-format msgid "" "Tip: Using a %.1fmm nozzle for auto dynamic flow calibration may not get " "accurate calibration results.\n" "It is recommended to use manual calibration." -msgstr "提示:使用%.1fmm喷嘴进行自动动态流量校准很可能无法获得准确的校准结果,建议使用手动校准。" +msgstr "" +"提示:使用%.1fmm喷嘴进行自动动态流量校准很可能无法获得准确的校准结果,建议使" +"用手动校准。" #, c-format, boost-format msgid "%s is not compatible with %s" @@ -11404,14 +11415,18 @@ msgid "" "because their dynamic response is much different from that of ordinary " "filaments, and there is a high risk of oozing when printing calibration " "lines." -msgstr "提示:X系列设备校准发泡材料(%s)可能无法得到一个准确的校准值,\n因为它的动态响应和普通材料差距较大,且在打印校准线的时候有较大的漏料风险。" +msgstr "" +"提示:X系列设备校准发泡材料(%s)可能无法得到一个准确的校准值,\n" +"因为它的动态响应和普通材料差距较大,且在打印校准线的时候有较大的漏料风险。" #, c-format, boost-format msgid "" "Tip: When using the A1/A1 mini machine, we do not recommend calibrating foam " "filaments(%s),\n" "as the results may be unstable and affect print quality." -msgstr "提示:在使用A1/A1 mini机器时,不建议对发泡类材料(%s)进行校准,\n以免因效果不佳(校准结果不稳定)而影响打印质量。" +msgstr "" +"提示:在使用A1/A1 mini机器时,不建议对发泡类材料(%s)进行校准,\n" +"以免因效果不佳(校准结果不稳定)而影响打印质量。" msgid "Connecting to printer" msgstr "正在连接打印机" @@ -11873,8 +11888,8 @@ msgstr "" "你想重写预设吗" msgid "" -"We would rename the presets as \"Vendor Type Serial @printer you selected" -"\". \n" +"We would rename the presets as \"Vendor Type Serial @printer you " +"selected\". \n" "To add preset for more prinetrs, Please go to printer selection" msgstr "" "我们会将预设重命名为“供应商 类型 系列 @您选择的打印机”。\n" @@ -18902,8 +18917,8 @@ msgstr "" #~ msgstr "正在准备设置页" #~ msgid "" -#~ "You have the following presets with saved options for \"Print Host upload" -#~ "\"" +#~ "You have the following presets with saved options for \"Print Host " +#~ "upload\"" #~ msgstr "您的以下预设中包含未保存的选项“打印主机上传”" #~ msgid "" diff --git a/resources/i18n/zh_cn/BambuStudio.mo b/resources/i18n/zh_cn/BambuStudio.mo index ebb39ac20b754d868ea191a0a30ca7bc2b56cea4..69b192dcc0cbc0c1b411338e10e9379caaf093e8 100644 GIT binary patch delta 74431 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®d6}6*v*MqI25v?oi$p-Cnn$uiugA^=Ywu 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 diff --git a/src/BambuStudio.cpp b/src/BambuStudio.cpp index 2e2882c43..918eedfe7 100644 --- a/src/BambuStudio.cpp +++ b/src/BambuStudio.cpp @@ -1573,7 +1573,7 @@ int CLI::run(int argc, char **argv) // BBS: adjust whebackup //LoadStrategy strategy = LoadStrategy::LoadModel | LoadStrategy::LoadConfig|LoadStrategy::AddDefaultInstances; //if (load_aux) strategy = strategy | LoadStrategy::LoadAuxiliary; - model = Model::read_from_file(file, &config, &config_substitutions, strategy, &plate_data_src, &project_presets, &is_bbl_3mf, &file_version, nullptr, nullptr, nullptr, nullptr, nullptr, plate_to_slice); + model = Model::read_from_file(file, &config, &config_substitutions, strategy, &plate_data_src, &project_presets, &is_bbl_3mf, &file_version, nullptr, nullptr, nullptr, plate_to_slice); if (is_bbl_3mf) { if (!first_file) diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index 7558c65d8..442b7feb6 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -371,6 +371,14 @@ void AppConfig::set_defaults() set_str("print", "timelapse", "1"); } + if (get("enable_step_mesh_setting").empty()) { + set_bool("enable_step_mesh_setting", true); + } + if (get("linear_defletion", "angle_defletion").empty()) { + set("linear_defletion", "0.003"); + set("angle_defletion", "0.5"); + } + // Remove legacy window positions/sizes erase("app", "main_frame_maximized"); erase("app", "main_frame_pos"); diff --git a/src/libslic3r/GCode/CoolingBuffer.hpp b/src/libslic3r/GCode/CoolingBuffer.hpp index 90c60e5b1..299bcae85 100644 --- a/src/libslic3r/GCode/CoolingBuffer.hpp +++ b/src/libslic3r/GCode/CoolingBuffer.hpp @@ -4,6 +4,7 @@ #include "../libslic3r.h" #include #include +#include namespace Slic3r { diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index 09f98d2ff..4f8cffd54 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -184,18 +184,67 @@ Model::~Model() Slic3r::remove_backup(*this, true); } +Model Model::read_from_step(const std::string& input_file, + LoadStrategy options, + ImportStepProgressFn stepFn, + StepIsUtf8Fn stepIsUtf8Fn, + std::function step_mesh_fn, + double linear_defletion, + double angle_defletion) +{ + Model model; + bool result = false; + bool is_cb_cancel = false; + std::string message; + Step step_file(input_file); + step_file.load(); + if (step_mesh_fn) { + if (step_mesh_fn(step_file, linear_defletion, angle_defletion) == -1) { + Model empty_model; + return empty_model; + } + } + result = load_step(input_file.c_str(), &model, is_cb_cancel, linear_defletion, angle_defletion, stepFn, stepIsUtf8Fn); + if (is_cb_cancel) { + Model empty_model; + return empty_model; + } + + if (!result) { + if (message.empty()) + throw Slic3r::RuntimeError(_L("Loading of a model file failed.")); + else + throw Slic3r::RuntimeError(message); + } + + if (model.objects.empty()) + throw Slic3r::RuntimeError(_L("The supplied file couldn't be read because it's empty")); + + for (ModelObject *o : model.objects) + o->input_file = input_file; + + if (options & LoadStrategy::AddDefaultInstances) + model.add_default_instances(); + + return model; +} + // BBS: add part plate related logic // BBS: backup & restore // Loading model from a file, it may be a simple geometry file as STL or OBJ, however it may be a project file as well. -Model Model::read_from_file(const std::string& input_file, DynamicPrintConfig* config, ConfigSubstitutionContext* config_substitutions, - LoadStrategy options, PlateDataPtrs* plate_data, std::vector* project_presets, bool *is_xxx, Semver* file_version, Import3mfProgressFn proFn, - ImportstlProgressFn stlFn, - ImportStepProgressFn stepFn, - StepIsUtf8Fn stepIsUtf8Fn, - BBLProject * project, - int plate_id, - ObjImportColorFn objFn, - std::function step_mesh_fn) +Model Model::read_from_file(const std::string& input_file, + DynamicPrintConfig* config, + ConfigSubstitutionContext* config_substitutions, + LoadStrategy options, + PlateDataPtrs* plate_data, + std::vector* project_presets, + bool *is_xxx, + Semver* file_version, + Import3mfProgressFn proFn, + ImportstlProgressFn stlFn, + BBLProject * project, + int plate_id, + ObjImportColorFn objFn) { Model model; @@ -219,20 +268,7 @@ Model Model::read_from_file(const std::string& input_file, DynamicPrintConfig* c bool result = false; bool is_cb_cancel = false; std::string message; - if (boost::algorithm::iends_with(input_file, ".stp") || - boost::algorithm::iends_with(input_file, ".step")) { - double linear_defletion = 0.003; - double angle_defletion = 0.5; - Step step_file(input_file); - step_file.load(); - if (step_mesh_fn) { - if (step_mesh_fn(step_file, linear_defletion, angle_defletion) == -1) { - Model empty_model; - return empty_model; - } - } - result = load_step(input_file.c_str(), &model, is_cb_cancel, linear_defletion, angle_defletion, stepFn, stepIsUtf8Fn); - } else if (boost::algorithm::iends_with(input_file, ".stl")) + if (boost::algorithm::iends_with(input_file, ".stl")) result = load_stl(input_file.c_str(), &model, nullptr, stlFn); else if (boost::algorithm::iends_with(input_file, ".oltp")) result = load_stl(input_file.c_str(), &model, nullptr, stlFn,256); diff --git a/src/libslic3r/Model.hpp b/src/libslic3r/Model.hpp index ea156379a..5cc4b4e7d 100644 --- a/src/libslic3r/Model.hpp +++ b/src/libslic3r/Model.hpp @@ -6,6 +6,7 @@ #include "Geometry.hpp" #include "ObjectID.hpp" #include "Point.hpp" +#include "AppConfig.hpp" #include "PrintConfig.hpp" #include "Slicing.hpp" #include "SLA/SupportPoint.hpp" @@ -1585,6 +1586,14 @@ public: OBJECTBASE_DERIVED_COPY_MOVE_CLONE(Model) + static Model read_from_step(const std::string& input_file, + LoadStrategy options, + ImportStepProgressFn stepFn, + StepIsUtf8Fn stepIsUtf8Fn, + std::function step_mesh_fn, + double linear_defletion, + double angle_defletion); + //BBS: add part plate related logic // BBS: backup //BBS: is_xxx is used for is_bbs_3mf when loading 3mf, is used for is_inches when loading amf @@ -1594,12 +1603,9 @@ public: LoadStrategy options = LoadStrategy::AddDefaultInstances, PlateDataPtrs* plate_data = nullptr, std::vector* project_presets = nullptr, bool* is_xxx = nullptr, Semver* file_version = nullptr, Import3mfProgressFn proFn = nullptr, ImportstlProgressFn stlFn = nullptr, - ImportStepProgressFn stepFn = nullptr, - StepIsUtf8Fn stepIsUtf8Fn = nullptr, BBLProject * project = nullptr, int plate_id = 0, - ObjImportColorFn objFn = nullptr, - std::function step_mesh_fn = nullptr + ObjImportColorFn objFn = nullptr ); // BBS static bool obj_import_vertex_color_deal(const std::vector &vertex_filament_ids, const unsigned char &first_extruder_id, Model *model); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 2805e720b..5eb70f075 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -4021,20 +4021,44 @@ std::vector Plater::priv::load_files(const std::vector& input_ filament_ids.clear(); } }; - auto step_mesh = [this, &path, &is_user_cancel](Slic3r::Step& file, double& linear_value, double& angle_value)-> int { - if (boost::iends_with(path.string(), ".step") || - boost::iends_with(path.string(), ".stp")){ - StepMeshDialog mesh_dlg(nullptr, file); - if (mesh_dlg.ShowModal() == wxID_OK) { - linear_value = mesh_dlg.get_linear_defletion(); - angle_value = mesh_dlg.get_angle_defletion(); - return 1; - } - } - is_user_cancel = true; - return -1; - }; - model = Slic3r::Model:: read_from_file( + if (boost::algorithm::iends_with(path.string(), ".stp") || + boost::algorithm::iends_with(path.string(), ".step")) { + double linear = std::stod(wxGetApp().app_config->get("linear_defletion")); + double angle = std::stod(wxGetApp().app_config->get("angle_defletion")); + model = Slic3r::Model:: read_from_step(path.string(), strategy, + [this, &dlg, real_filename, &progress_percent, &file_percent, step_percent, INPUT_FILES_RATIO, total_files, i](int load_stage, int current, int total, bool &cancel) + { + bool cont = true; + float percent_float = (100.0f * (float)i / (float)total_files) + INPUT_FILES_RATIO * ((float)step_percent[load_stage] + (float)current * (float)(step_percent[load_stage + 1] - step_percent[load_stage]) / (float)total) / (float)total_files; + BOOST_LOG_TRIVIAL(trace) << "load_step_file: percent(float)=" << percent_float << ", stage = " << load_stage << ", curr = " << current << ", total = " << total; + progress_percent = (int)percent_float; + wxString msg = wxString::Format(_L("Loading file: %s"), from_path(real_filename)); + cont = dlg.Update(progress_percent, msg); + cancel = !cont; + }, + [](int isUtf8StepFile) { + if (!isUtf8StepFile) + Slic3r::GUI::show_info(nullptr, _L("Name of components inside step file is not UTF8 format!") + "\n\n" + _L("The name may show garbage characters!"), + _L("Attention!")); + }, + [this, &path, &is_user_cancel, &linear, &angle](Slic3r::Step& file, double& linear_value, double& angle_value)-> int { + if (wxGetApp().app_config->get_bool("enable_step_mesh_setting")) { + StepMeshDialog mesh_dlg(nullptr, file); + if (mesh_dlg.ShowModal() == wxID_OK) { + linear_value = mesh_dlg.get_linear_defletion(); + angle_value = mesh_dlg.get_angle_defletion(); + return 1; + } + }else { + linear_value = linear; + angle_value = angle; + return 1; + } + is_user_cancel = true; + return -1; + }, linear, angle); + }else { + model = Slic3r::Model:: read_from_file( path.string(), nullptr, nullptr, strategy, &plate_data, &project_presets, &is_xxx, &file_version, nullptr, [this, &dlg, real_filename, &progress_percent, &file_percent, INPUT_FILES_RATIO, total_files, i, &designer_model_id, &designer_country_code, &makerlab_region, &makerlab_name, &makerlab_id](int current, int total, bool &cancel, std::string &mode_id, std::string &code, std::string &ml_region, std::string &ml_name, std::string &ml_id) @@ -4052,24 +4076,9 @@ std::vector Plater::priv::load_files(const std::vector& input_ wxString msg = wxString::Format(_L("Loading file: %s"), from_path(real_filename)); cont = dlg.Update(progress_percent, msg); cancel = !cont; - }, - [this, &dlg, real_filename, &progress_percent, &file_percent, step_percent, INPUT_FILES_RATIO, total_files, i](int load_stage, int current, int total, bool &cancel) - { - bool cont = true; - float percent_float = (100.0f * (float)i / (float)total_files) + INPUT_FILES_RATIO * ((float)step_percent[load_stage] + (float)current * (float)(step_percent[load_stage + 1] - step_percent[load_stage]) / (float)total) / (float)total_files; - BOOST_LOG_TRIVIAL(trace) << "load_step_file: percent(float)=" << percent_float << ", stage = " << load_stage << ", curr = " << current << ", total = " << total; - progress_percent = (int)percent_float; - wxString msg = wxString::Format(_L("Loading file: %s"), from_path(real_filename)); - cont = dlg.Update(progress_percent, msg); - cancel = !cont; }, - [](int isUtf8StepFile) { - if (!isUtf8StepFile) - Slic3r::GUI::show_info(nullptr, _L("Name of components inside step file is not UTF8 format!") + "\n\n" + _L("The name may show garbage characters!"), - _L("Attention!")); - }, - nullptr, 0, obj_color_fun, step_mesh); - + nullptr, 0, obj_color_fun); + } if (designer_model_id.empty() && boost::algorithm::iends_with(path.string(), ".stl")) { read_binary_stl(path.string(), designer_model_id, designer_country_code, makerlab_name, makerlab_region, makerlab_id); @@ -5838,7 +5847,7 @@ void Plater::priv::reload_from_disk() // BBS: backup new_model = Model::read_from_file(path, nullptr, nullptr, LoadStrategy::AddDefaultInstances | LoadStrategy::LoadModel, &plate_data, &project_presets, nullptr, - nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, 0, obj_color_fun); + nullptr, nullptr, nullptr, nullptr, 0, obj_color_fun); for (ModelObject* model_object : new_model.objects) { model_object->center_around_origin(); diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index 171ab6430..0278e38fe 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -1135,6 +1135,7 @@ wxWindow* PreferencesDialog::create_general_page() auto item_calc_mode = create_item_checkbox(_L("Flushing volumes: Auto-calculate every time when the color is changed."), page, _L("If enabled, auto-calculate every time when the color is changed."), 50, "auto_calculate"); auto item_calc_in_long_retract = create_item_checkbox(_L("Flushing volumes: Auto-calculate every time when the filament is changed."), page, _L("If enabled, auto-calculate every time when filament is changed"), 50, "auto_calculate_when_filament_change"); auto item_multi_machine = create_item_checkbox(_L("Multi-device Management(Take effect after restarting Studio)."), page, _L("With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices."), 50, "enable_multi_machine"); + auto item_step_mesh_setting = create_item_checkbox(_L("Show the step mesh parameter setting dialog."), page, _L("If enabled,a parameter settings dialog will appear during STEP file import."), 50, "enable_step_mesh_setting"); auto item_beta_version_update = create_item_checkbox(_L("Support beta version update."), page, _L("With this option enabled, you can receive beta version updates."), 50, "enable_beta_version_update"); auto _3d_settings = create_item_title(_L("3D Settings"), page, _L("3D Settings")); auto item_mouse_zoom_settings = create_item_checkbox(_L("Zoom to mouse position"), page, @@ -1226,6 +1227,7 @@ wxWindow* PreferencesDialog::create_general_page() sizer_page->Add(item_calc_mode, 0, wxTOP, FromDIP(3)); sizer_page->Add(item_calc_in_long_retract, 0, wxTOP, FromDIP(3)); sizer_page->Add(item_multi_machine, 0, wxTOP, FromDIP(3)); + sizer_page->Add(item_step_mesh_setting, 0, wxTOP, FromDIP(3)); sizer_page->Add(item_beta_version_update, 0, wxTOP, FromDIP(3)); sizer_page->Add(_3d_settings, 0, wxTOP | wxEXPAND, FromDIP(20)); sizer_page->Add(item_mouse_zoom_settings, 0, wxTOP, FromDIP(3)); diff --git a/src/slic3r/GUI/StepMeshDialog.cpp b/src/slic3r/GUI/StepMeshDialog.cpp index 96e71cbd2..4963b7d97 100644 --- a/src/slic3r/GUI/StepMeshDialog.cpp +++ b/src/slic3r/GUI/StepMeshDialog.cpp @@ -229,7 +229,9 @@ StepMeshDialog::StepMeshDialog(wxWindow* parent, Slic3r::Step& file) wxBoxSizer* bSizer_button = new wxBoxSizer(wxHORIZONTAL); bSizer_button->SetMinSize(wxSize(FromDIP(100), -1)); - + m_checkbox = new wxCheckBox(this, wxID_ANY, _L("Don't show again"), wxDefaultPosition, wxDefaultSize, 0); + bSizer_button->Add(m_checkbox, 0, wxALIGN_LEFT); + bSizer_button->AddStretchSpacer(1); StateColor btn_bg_green(std::pair(wxColour(27, 136, 68), StateColor::Pressed), std::pair(wxColour(61, 203, 115), StateColor::Hovered), std::pair(AMS_CONTROL_BRAND_COLOUR, StateColor::Normal)); m_button_ok = new Button(this, _L("OK")); @@ -246,6 +248,12 @@ StepMeshDialog::StepMeshDialog(wxWindow* parent, Slic3r::Step& file) stop_task(); if (validate_number_range(angle_input->GetTextCtrl()->GetValue(), 0.01, 1) && validate_number_range(linear_input->GetTextCtrl()->GetValue(), 0.001, 0.1)) { + if (m_checkbox->IsChecked()) { + wxGetApp().app_config->set_bool("enable_step_mesh_setting", false); + } + wxGetApp().app_config->set("linear_defletion", std::to_string(get_linear_defletion())); + wxGetApp().app_config->set("angle_defletion", std::to_string(get_angle_defletion())); + EndModal(wxID_OK); } SetFocusIgnoringChildren(); @@ -268,7 +276,7 @@ StepMeshDialog::StepMeshDialog(wxWindow* parent, Slic3r::Step& file) EndModal(wxID_CANCEL); }); - bSizer->Add(bSizer_button, 0, wxALIGN_RIGHT | wxRIGHT| wxBOTTOM, LEFT_RIGHT_PADING); + bSizer->Add(bSizer_button, 1, wxEXPAND | wxALL, LEFT_RIGHT_PADING); this->SetSizer(bSizer); update_mesh_number_text(); diff --git a/src/slic3r/GUI/StepMeshDialog.hpp b/src/slic3r/GUI/StepMeshDialog.hpp index df2175d36..ad342a774 100644 --- a/src/slic3r/GUI/StepMeshDialog.hpp +++ b/src/slic3r/GUI/StepMeshDialog.hpp @@ -3,6 +3,7 @@ #include #include +#include "GUI_App.hpp" #include "GUI_Utils.hpp" #include "libslic3r/Format/STEP.hpp" #include "Widgets/Button.hpp" @@ -13,12 +14,18 @@ class StepMeshDialog : public Slic3r::GUI::DPIDialog public: StepMeshDialog(wxWindow* parent, Slic3r::Step& file); void on_dpi_changed(const wxRect& suggested_rect) override; + inline double get_linear_init() { + return std::stod(Slic3r::GUI::wxGetApp().app_config->get("linear_defletion")); + } + inline double get_angle_init() { + return std::stod(Slic3r::GUI::wxGetApp().app_config->get("angle_defletion")); + } inline double get_linear_defletion() { double value; if (m_linear_last.ToDouble(&value)) { return value; }else { - return 0.003; + return get_linear_init(); } } inline double get_angle_defletion() { @@ -26,15 +33,16 @@ public: if (m_angle_last.ToDouble(&value)) { return value; } else { - return 0.5; + return get_angle_init(); } } private: Slic3r::Step& m_file; Button* m_button_ok = nullptr; Button* m_button_cancel = nullptr; - wxString m_linear_last = wxString::Format("%.3f", 0.003); - wxString m_angle_last = wxString::Format("%.2f", 0.5); + wxCheckBox* m_checkbox = nullptr; + wxString m_linear_last = wxString::Format("%.3f", get_linear_init()); + wxString m_angle_last = wxString::Format("%.2f", get_angle_init()); wxStaticText* mesh_face_number_text; double m_last_linear; double m_last_angle; diff --git a/src/slic3r/Utils/CalibUtils.cpp b/src/slic3r/Utils/CalibUtils.cpp index 4a4e17c5e..c002c2e99 100644 --- a/src/slic3r/Utils/CalibUtils.cpp +++ b/src/slic3r/Utils/CalibUtils.cpp @@ -321,7 +321,7 @@ static void read_model_from_file(const std::string& input_file, Model& model) std::vector project_presets; model = Model::read_from_file(input_file, &config, &config_substitutions, strategy, &plate_data_src, &project_presets, - &is_bbl_3mf, &file_version, nullptr, nullptr, nullptr, nullptr, nullptr, plate_to_slice); + &is_bbl_3mf, &file_version, nullptr, nullptr, nullptr, plate_to_slice); model.add_default_instances(); for (auto object : model.objects)