diff --git a/bbl/i18n/BambuStudio.pot b/bbl/i18n/BambuStudio.pot index 16cbd476dc..7d7c2e4b3b 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: 2022-10-19 09:33+0800\n" +"POT-Creation-Date: 2022-11-05 12:18+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2196,9 +2196,6 @@ msgstr "" msgid "Slice" msgstr "" -msgid "Send and Print" -msgstr "" - msgid "Slice all" msgstr "" @@ -2211,9 +2208,6 @@ msgstr "" msgid "Export G-code file" msgstr "" -msgid "Send" -msgstr "" - msgid "Export sliced file" msgstr "" @@ -2627,6 +2621,10 @@ msgstr "" msgid "No files" msgstr "" +#, possible-c-format, possible-boost-format +msgid "File '%s' was lost! Please download it again." +msgstr "" + msgid "Download waiting..." msgstr "" @@ -3671,6 +3669,9 @@ msgstr "" msgid "Bamabu High Temperature Plate" msgstr "" +msgid "Send print job to" +msgstr "" + msgid "Refresh" msgstr "" @@ -3680,7 +3681,7 @@ msgstr "" msgid "Flow Calibration" msgstr "" -msgid "Can't connect to the printer" +msgid "Send" msgstr "" msgid "send completed" @@ -5376,24 +5377,32 @@ msgid "Height to rod" msgstr "" msgid "" -"Distance of the nozzle tip to the lower rod. Used as input of auto-arranging " -"to avoid collision when printing by object" +"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " +"by-object printing." msgstr "" msgid "Height to lid" msgstr "" msgid "" -"Distance of the nozzle tip to the lid. Used as input of auto-arranging to " -"avoid collision when printing by object" +"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Radius" msgstr "" msgid "" -"Clearance radius around extruder. Used as input of auto-arranging to avoid " -"collision when printing by object" +"Clearance radius around extruder. Used for collision avoidance in by-object " +"printing." +msgstr "" + +msgid "Max Radius" +msgstr "" + +msgid "" +"Max clearance radius around extruder. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Extruder Color" diff --git a/bbl/i18n/de/BambuStudio_de.po b/bbl/i18n/de/BambuStudio_de.po index 709c40d8f3..cda86a0ea0 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: 2022-10-19 09:33+0800\n" +"POT-Creation-Date: 2022-11-05 12:18+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -2355,9 +2355,6 @@ msgstr "Projekt" msgid "Slice" msgstr "Slice" -msgid "Send and Print" -msgstr "" - msgid "Slice all" msgstr "Alle Slicen" @@ -2370,9 +2367,6 @@ msgstr "Alle drucken" msgid "Export G-code file" msgstr "" -msgid "Send" -msgstr "Senden" - msgid "Export sliced file" msgstr "Geslicete Datei exportieren" @@ -2786,6 +2780,10 @@ msgstr "Loading file list..." msgid "No files" msgstr "No files" +#, c-format, boost-format +msgid "File '%s' was lost! Please download it again." +msgstr "" + msgid "Download waiting..." msgstr "" @@ -3873,6 +3871,9 @@ msgstr "Bambu technische Druckplatte" msgid "Bamabu High Temperature Plate" msgstr "Bambu Hochtemperaturdruckplatte" +msgid "Send print job to" +msgstr "Druckauftrag senden an" + msgid "Refresh" msgstr "Aktualisieren" @@ -3882,8 +3883,8 @@ msgstr "Druckbettnivellierung" msgid "Flow Calibration" msgstr "Durchfluss-Kalibrierung" -msgid "Can't connect to the printer" -msgstr "" +msgid "Send" +msgstr "Senden" msgid "send completed" msgstr "senden abgeschlossen" @@ -5741,24 +5742,32 @@ msgid "Height to rod" msgstr "Höhe zur Stange" msgid "" -"Distance of the nozzle tip to the lower rod. Used as input of auto-arranging " -"to avoid collision when printing by object" +"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " +"by-object printing." msgstr "" msgid "Height to lid" msgstr "Höhe zum Deckel" msgid "" -"Distance of the nozzle tip to the lid. Used as input of auto-arranging to " -"avoid collision when printing by object" +"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Radius" msgstr "Radius" msgid "" -"Clearance radius around extruder. Used as input of auto-arranging to avoid " -"collision when printing by object" +"Clearance radius around extruder. Used for collision avoidance in by-object " +"printing." +msgstr "" + +msgid "Max Radius" +msgstr "" + +msgid "" +"Max clearance radius around extruder. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Extruder Color" @@ -7425,9 +7434,6 @@ msgstr "" #~ msgid "Open" #~ msgstr "Open" -#~ msgid "Send print job to" -#~ msgstr "Druckauftrag senden an" - #~ msgid "" #~ "%1% is too close to exclusion area, there will be collisions when " #~ "printing." diff --git a/bbl/i18n/en/BambuStudio_en.po b/bbl/i18n/en/BambuStudio_en.po index 1f2a6d7ef9..92851f2ea0 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: 2022-10-19 09:33+0800\n" +"POT-Creation-Date: 2022-11-05 12:18+0800\n" "Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2311,9 +2311,6 @@ msgstr "Project" msgid "Slice" msgstr "Slice" -msgid "Send and Print" -msgstr "" - msgid "Slice all" msgstr "Slice all" @@ -2326,9 +2323,6 @@ msgstr "Print all" msgid "Export G-code file" msgstr "" -msgid "Send" -msgstr "Send" - msgid "Export sliced file" msgstr "Export Sliced File" @@ -2746,6 +2740,10 @@ msgstr "" msgid "No files" msgstr "" +#, c-format, boost-format +msgid "File '%s' was lost! Please download it again." +msgstr "" + msgid "Download waiting..." msgstr "" @@ -3810,6 +3808,9 @@ msgstr "Bambu Engineering Plate" msgid "Bamabu High Temperature Plate" msgstr "Bambu High Temperature Plate" +msgid "Send print job to" +msgstr "Send print job to" + msgid "Refresh" msgstr "Refresh" @@ -3819,8 +3820,8 @@ msgstr "Bed leveling" msgid "Flow Calibration" msgstr "Flow calibration" -msgid "Can't connect to the printer" -msgstr "" +msgid "Send" +msgstr "Send" msgid "send completed" msgstr "Send complete" @@ -5627,24 +5628,32 @@ msgid "Height to rod" msgstr "Height to rod" msgid "" -"Distance of the nozzle tip to the lower rod. Used as input of auto-arranging " -"to avoid collision when printing by object" +"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " +"by-object printing." msgstr "" msgid "Height to lid" msgstr "Height to lid" msgid "" -"Distance of the nozzle tip to the lid. Used as input of auto-arranging to " -"avoid collision when printing by object" +"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Radius" msgstr "Radius" msgid "" -"Clearance radius around extruder. Used as input of auto-arranging to avoid " -"collision when printing by object" +"Clearance radius around extruder. Used for collision avoidance in by-object " +"printing." +msgstr "" + +msgid "Max Radius" +msgstr "" + +msgid "" +"Max clearance radius around extruder. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Extruder Color" @@ -7273,9 +7282,6 @@ msgstr "" #~ msgid "Initialize failed [%d]!" #~ msgstr "Initalization failed [%d]!" -#~ msgid "Send print job to" -#~ msgstr "Send print job to" - #~ msgid "" #~ "%1% is too close to exclusion area, there will be collisions when " #~ "printing." diff --git a/bbl/i18n/es/BambuStudio_es.po b/bbl/i18n/es/BambuStudio_es.po index 411945b272..4c3c66ca0f 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: 2022-10-19 09:33+0800\n" +"POT-Creation-Date: 2022-11-05 12:18+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -2353,9 +2353,6 @@ msgstr "Proyecto" msgid "Slice" msgstr "Laminar" -msgid "Send and Print" -msgstr "" - msgid "Slice all" msgstr "Laminar todo" @@ -2368,9 +2365,6 @@ msgstr "Imprimir todo" msgid "Export G-code file" msgstr "" -msgid "Send" -msgstr "Enviar" - msgid "Export sliced file" msgstr "Exportar archivo rebanado" @@ -2784,6 +2778,10 @@ msgstr "Loading file list..." msgid "No files" msgstr "No files" +#, c-format, boost-format +msgid "File '%s' was lost! Please download it again." +msgstr "" + msgid "Download waiting..." msgstr "" @@ -3870,6 +3868,9 @@ msgstr "Placa de Ingenieria Bambu" msgid "Bamabu High Temperature Plate" msgstr "Placa de alta temperatura Bambu" +msgid "Send print job to" +msgstr "Enviar el trabajo de impresión a" + msgid "Refresh" msgstr "Actualizar" @@ -3879,8 +3880,8 @@ msgstr "Nivelación de la cama" msgid "Flow Calibration" msgstr "Calibración del flujo" -msgid "Can't connect to the printer" -msgstr "" +msgid "Send" +msgstr "Enviar" msgid "send completed" msgstr "envío completo" @@ -5727,24 +5728,32 @@ msgid "Height to rod" msgstr "Altura a la barra" msgid "" -"Distance of the nozzle tip to the lower rod. Used as input of auto-arranging " -"to avoid collision when printing by object" +"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " +"by-object printing." msgstr "" msgid "Height to lid" msgstr "Altura hasta la tapa" msgid "" -"Distance of the nozzle tip to the lid. Used as input of auto-arranging to " -"avoid collision when printing by object" +"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Radius" msgstr "Radio" msgid "" -"Clearance radius around extruder. Used as input of auto-arranging to avoid " -"collision when printing by object" +"Clearance radius around extruder. Used for collision avoidance in by-object " +"printing." +msgstr "" + +msgid "Max Radius" +msgstr "" + +msgid "" +"Max clearance radius around extruder. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Extruder Color" @@ -7409,9 +7418,6 @@ msgstr "" #~ msgid "Open" #~ msgstr "Open" -#~ msgid "Send print job to" -#~ msgstr "Enviar el trabajo de impresión a" - #~ msgid "" #~ "%1% is too close to exclusion area, there will be collisions when " #~ "printing." diff --git a/bbl/i18n/fr/BambuStudio_fr.po b/bbl/i18n/fr/BambuStudio_fr.po index 3046db9ae6..4987c8704c 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: 2022-10-19 09:33+0800\n" +"POT-Creation-Date: 2022-11-05 12:18+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -2327,9 +2327,6 @@ msgstr "Projet" msgid "Slice" msgstr "Tranche" -msgid "Send and Print" -msgstr "" - msgid "Slice all" msgstr "Tout trancher" @@ -2342,9 +2339,6 @@ msgstr "Tout imprimer" msgid "Export G-code file" msgstr "" -msgid "Send" -msgstr "Envoyer" - msgid "Export sliced file" msgstr "Exporter le fichier découpé" @@ -2758,6 +2752,10 @@ msgstr "Loading file list..." msgid "No files" msgstr "No files" +#, c-format, boost-format +msgid "File '%s' was lost! Please download it again." +msgstr "" + msgid "Download waiting..." msgstr "" @@ -3842,6 +3840,9 @@ msgstr "Plaque d'ingénierie Bamabu" msgid "Bamabu High Temperature Plate" msgstr "Plaque Haute Température Bamabu" +msgid "Send print job to" +msgstr "Envoyer le travail d'impression à" + msgid "Refresh" msgstr "Actualiser" @@ -3851,8 +3852,8 @@ msgstr "Mise à niveau du lit" msgid "Flow Calibration" msgstr "Étalonnage du débit" -msgid "Can't connect to the printer" -msgstr "" +msgid "Send" +msgstr "Envoyer" msgid "send completed" msgstr "envoi terminé" @@ -5712,24 +5713,32 @@ msgid "Height to rod" msgstr "Hauteur à la tige" msgid "" -"Distance of the nozzle tip to the lower rod. Used as input of auto-arranging " -"to avoid collision when printing by object" +"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " +"by-object printing." msgstr "" msgid "Height to lid" msgstr "Hauteur au couvercle" msgid "" -"Distance of the nozzle tip to the lid. Used as input of auto-arranging to " -"avoid collision when printing by object" +"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Radius" msgstr "Rayon" msgid "" -"Clearance radius around extruder. Used as input of auto-arranging to avoid " -"collision when printing by object" +"Clearance radius around extruder. Used for collision avoidance in by-object " +"printing." +msgstr "" + +msgid "Max Radius" +msgstr "" + +msgid "" +"Max clearance radius around extruder. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Extruder Color" @@ -7408,9 +7417,6 @@ msgstr "" #~ msgid "Open" #~ msgstr "Open" -#~ msgid "Send print job to" -#~ msgstr "Envoyer le travail d'impression à" - #~ msgid "" #~ "%1% is too close to exclusion area, there will be collisions when " #~ "printing." diff --git a/bbl/i18n/hu/BambuStudio_hu.po b/bbl/i18n/hu/BambuStudio_hu.po index 5122c008ac..d74cee127b 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: 2022-10-19 09:33+0800\n" +"POT-Creation-Date: 2022-11-05 12:18+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -2349,9 +2349,6 @@ msgstr "Projekt" msgid "Slice" msgstr "Szeletelés" -msgid "Send and Print" -msgstr "" - msgid "Slice all" msgstr "Összes szeletelése" @@ -2364,9 +2361,6 @@ msgstr "Összes nyomtatása" msgid "Export G-code file" msgstr "" -msgid "Send" -msgstr "Küldés" - msgid "Export sliced file" msgstr "Szeletelt fájl exportálása" @@ -2785,6 +2779,10 @@ msgstr "Loading file list..." msgid "No files" msgstr "No files" +#, c-format, boost-format +msgid "File '%s' was lost! Please download it again." +msgstr "" + msgid "Download waiting..." msgstr "" @@ -3854,6 +3852,9 @@ msgstr "Bambu Engineering Plate" msgid "Bamabu High Temperature Plate" msgstr "Bambu High Temperature Plate" +msgid "Send print job to" +msgstr "Nyomtatási feladat küldése" + msgid "Refresh" msgstr "Frissítés" @@ -3863,8 +3864,8 @@ msgstr "Asztalszintezés" msgid "Flow Calibration" msgstr "Anyagáramlás kalibráció" -msgid "Can't connect to the printer" -msgstr "" +msgid "Send" +msgstr "Küldés" msgid "send completed" msgstr "küldés befejezve" @@ -5692,24 +5693,32 @@ msgid "Height to rod" msgstr "Height to rod" msgid "" -"Distance of the nozzle tip to the lower rod. Used as input of auto-arranging " -"to avoid collision when printing by object" +"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " +"by-object printing." msgstr "" msgid "Height to lid" msgstr "Height to lid" msgid "" -"Distance of the nozzle tip to the lid. Used as input of auto-arranging to " -"avoid collision when printing by object" +"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Radius" msgstr "Radius" msgid "" -"Clearance radius around extruder. Used as input of auto-arranging to avoid " -"collision when printing by object" +"Clearance radius around extruder. Used for collision avoidance in by-object " +"printing." +msgstr "" + +msgid "Max Radius" +msgstr "" + +msgid "" +"Max clearance radius around extruder. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Extruder Color" @@ -7365,9 +7374,6 @@ msgstr "" #~ msgid "Open" #~ msgstr "Open" -#~ msgid "Send print job to" -#~ msgstr "Nyomtatási feladat küldése" - #~ msgid "" #~ "%1% is too close to exclusion area, there will be collisions when " #~ "printing." diff --git a/bbl/i18n/nl/BambuStudio_nl.po b/bbl/i18n/nl/BambuStudio_nl.po index 3b89d2798f..6d6c0f7f05 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: 2022-10-19 09:33+0800\n" +"POT-Creation-Date: 2022-11-05 12:18+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -2350,9 +2350,6 @@ msgstr "Project" msgid "Slice" msgstr "Slice" -msgid "Send and Print" -msgstr "" - msgid "Slice all" msgstr "Alles slicen" @@ -2365,9 +2362,6 @@ msgstr "Print alles" msgid "Export G-code file" msgstr "" -msgid "Send" -msgstr "Versturen" - msgid "Export sliced file" msgstr "Exporteer het \"sliced\" bestand" @@ -2781,6 +2775,10 @@ msgstr "Bestandslijst laden..." msgid "No files" msgstr "Geen bestanden" +#, c-format, boost-format +msgid "File '%s' was lost! Please download it again." +msgstr "" + msgid "Download waiting..." msgstr "" @@ -3876,6 +3874,9 @@ msgstr "Bambu Engineering (technische) plate" msgid "Bamabu High Temperature Plate" msgstr "Bambu High Temperature (hoge temperatuur) Plate" +msgid "Send print job to" +msgstr "Stuur de printtaak naar" + msgid "Refresh" msgstr "Vernieuwen" @@ -3885,8 +3886,8 @@ msgstr "Bed leveling" msgid "Flow Calibration" msgstr "Flow calibratie" -msgid "Can't connect to the printer" -msgstr "" +msgid "Send" +msgstr "Versturen" msgid "send completed" msgstr "Versturen gelukt" @@ -5732,24 +5733,32 @@ msgid "Height to rod" msgstr "Hoogte tot geleider" msgid "" -"Distance of the nozzle tip to the lower rod. Used as input of auto-arranging " -"to avoid collision when printing by object" +"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " +"by-object printing." msgstr "" msgid "Height to lid" msgstr "Hoogte tot deksel" msgid "" -"Distance of the nozzle tip to the lid. Used as input of auto-arranging to " -"avoid collision when printing by object" +"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Radius" msgstr "Straal" msgid "" -"Clearance radius around extruder. Used as input of auto-arranging to avoid " -"collision when printing by object" +"Clearance radius around extruder. Used for collision avoidance in by-object " +"printing." +msgstr "" + +msgid "Max Radius" +msgstr "" + +msgid "" +"Max clearance radius around extruder. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Extruder Color" @@ -7424,9 +7433,6 @@ msgstr "" #~ msgid "Open" #~ msgstr "Open" -#~ msgid "Send print job to" -#~ msgstr "Stuur de printtaak naar" - #~ msgid "" #~ "%1% is too close to exclusion area, there will be collisions when " #~ "printing." diff --git a/bbl/i18n/sv/BambuStudio_sv.po b/bbl/i18n/sv/BambuStudio_sv.po index c3c57b9dff..e5bc351984 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: 2022-10-19 09:33+0800\n" +"POT-Creation-Date: 2022-11-05 12:18+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -2320,9 +2320,6 @@ msgstr "Projekt" msgid "Slice" msgstr "Bered" -msgid "Send and Print" -msgstr "" - msgid "Slice all" msgstr "Bered allt" @@ -2335,9 +2332,6 @@ msgstr "Skriv ut allt" msgid "Export G-code file" msgstr "" -msgid "Send" -msgstr "Skicka" - msgid "Export sliced file" msgstr "Exportera beredd fil" @@ -2751,6 +2745,10 @@ msgstr "Laddar fil lista..." msgid "No files" msgstr "Inga filer" +#, c-format, boost-format +msgid "File '%s' was lost! Please download it again." +msgstr "" + msgid "Download waiting..." msgstr "" @@ -3811,6 +3809,9 @@ msgstr "Bambu Engineering Plate" msgid "Bamabu High Temperature Plate" msgstr "Bambu High Temperature Plate" +msgid "Send print job to" +msgstr "Skicka utskriftsjobb till" + msgid "Refresh" msgstr "Uppdatera" @@ -3820,8 +3821,8 @@ msgstr "Justering av Byggplattan" msgid "Flow Calibration" msgstr "Flödes Kalibrering" -msgid "Can't connect to the printer" -msgstr "" +msgid "Send" +msgstr "Skicka" msgid "send completed" msgstr "Skicka komplett" @@ -5622,24 +5623,32 @@ msgid "Height to rod" msgstr "Höjd till axel" msgid "" -"Distance of the nozzle tip to the lower rod. Used as input of auto-arranging " -"to avoid collision when printing by object" +"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " +"by-object printing." msgstr "" msgid "Height to lid" msgstr "Höjd till locket" msgid "" -"Distance of the nozzle tip to the lid. Used as input of auto-arranging to " -"avoid collision when printing by object" +"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Radius" msgstr "Radie" msgid "" -"Clearance radius around extruder. Used as input of auto-arranging to avoid " -"collision when printing by object" +"Clearance radius around extruder. Used for collision avoidance in by-object " +"printing." +msgstr "" + +msgid "Max Radius" +msgstr "" + +msgid "" +"Max clearance radius around extruder. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Extruder Color" @@ -6674,8 +6683,8 @@ msgid "" "interface is Concentric" msgstr "" "Linje mönster för support gränssnittsytan .Standardmönstret för olösligt " -"(material) support gränssnittet är Räta medan standardmönstret för lösligt" -"(material) stödgränssnittet är koncentriskt" +"(material) support gränssnittet är Räta medan standardmönstret för " +"lösligt(material) stödgränssnittet är koncentriskt" msgid "Base pattern spacing" msgstr "Basens mönster mellanrum" @@ -7278,9 +7287,6 @@ msgstr "" #~ msgid "Open" #~ msgstr "Öppna" -#~ msgid "Send print job to" -#~ msgstr "Skicka utskriftsjobb till" - #~ msgid "" #~ "%1% is too close to exclusion area, there will be collisions when " #~ "printing." diff --git a/bbl/i18n/zh_cn/BambuStudio_zh_CN.po b/bbl/i18n/zh_cn/BambuStudio_zh_CN.po index dd06811855..015b1f9d76 100644 --- a/bbl/i18n/zh_cn/BambuStudio_zh_CN.po +++ b/bbl/i18n/zh_cn/BambuStudio_zh_CN.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: Slic3rPE\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-10-19 09:33+0800\n" -"PO-Revision-Date: 2022-10-17 22:14+0800\n" +"POT-Creation-Date: 2022-11-05 12:18+0800\n" +"PO-Revision-Date: 2022-11-05 12:10+0800\n" "Last-Translator: Jiang Yue \n" "Language-Team: \n" "Language: zh_CN\n" @@ -15,7 +15,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 3.1\n" +"X-Generator: Poedit 3.2\n" msgid "Supports Painting" msgstr "支撑绘制" @@ -2275,9 +2275,6 @@ msgstr "项目" msgid "Slice" msgstr "切片" -msgid "Send and Print" -msgstr "发送并打印" - msgid "Slice all" msgstr "切片所有盘" @@ -2290,9 +2287,6 @@ msgstr "打印所有盘" msgid "Export G-code file" msgstr "导出G-code文件" -msgid "Send" -msgstr "发送" - msgid "Export sliced file" msgstr "导出切片文件" @@ -2709,6 +2703,10 @@ msgstr "加载文件列表..." msgid "No files" msgstr "文件列表为空" +#, c-format, boost-format +msgid "File '%s' was lost! Please download it again." +msgstr "文件%s丢失,请重新下载。" + msgid "Download waiting..." msgstr "正在下载中..." @@ -3117,11 +3115,11 @@ msgstr "是否保存修改到“%1%”?" msgid "" "Successfully unmounted. The device %s(%s) can now be safely removed from the " "computer." -msgstr "" +msgstr "卸载成功。设备%s(%s)现在可以安全地从电脑移除。" #, c-format, boost-format msgid "Ejecting of device %s(%s) has failed." -msgstr "" +msgstr "弹出设备%s(%s)失败。" msgid "Previous unsaved project detected, do you want to restore it?" msgstr "检测到有未保存的项目,是否恢复此项目?" @@ -3132,23 +3130,23 @@ msgstr "恢复" msgid "" "The bed temperature exceeds filament's vitrification temperature. Please " "open the front door of printer before printing to avoid nozzle clog." -msgstr "" +msgstr "热床温度超过了材料的软化温度。请在打印前打开打印机前门以防堵头。" #, c-format, boost-format msgid "Loading file: %s" msgstr "加载文件:%s" msgid "The 3mf is not from Bambu Lab, load geometry data only." -msgstr "" +msgstr "该3mf文件不是来自Bambu Lab,将只加载几何数据。" msgid "Load 3mf" -msgstr "" +msgstr "加载3mf" msgid "The Config can not be loaded." -msgstr "" +msgstr "配置无法加载。" msgid "The 3mf is generated by old Bambu Studio, load geometry data only." -msgstr "" +msgstr "该3mf文件来自旧版本的Bambu Lab,将只加载几何数据。" #, c-format, boost-format msgid "" @@ -3166,10 +3164,10 @@ msgstr "较新的3mf版本" msgid "" "The 3mf's version %s is newer than %s's version %s, Suggest to upgrade your " "software.\n" -msgstr "" +msgstr "该3mf文件的版本%s 比%s的版本%s更新,建议升级您的软件。\n" msgid "The 3mf is not compatible, load geometry data only!" -msgstr "" +msgstr "该3mf文件与软件不兼容,将只加载几何数据。" msgid "Incompatible 3mf" msgstr "不兼容的3mf" @@ -3245,7 +3243,7 @@ msgid "Another export job is running." msgstr "有其他导出任务正在进行中。" msgid "Another export job is currently running." -msgstr "" +msgstr "有其他导出任务正在进行中。" msgid "Select a new file" msgstr "选择新文件" @@ -3759,6 +3757,9 @@ msgstr "工程打印热床" msgid "Bamabu High Temperature Plate" msgstr "高温打印热床" +msgid "Send print job to" +msgstr "发送打印任务至" + msgid "Refresh" msgstr "刷新" @@ -3768,8 +3769,8 @@ msgstr "热床调平" msgid "Flow Calibration" msgstr "流量校准" -msgid "Can't connect to the printer" -msgstr "无法连接打印机" +msgid "Send" +msgstr "发送" msgid "send completed" msgstr "发送完成" @@ -3902,7 +3903,7 @@ msgid "Delete this preset" msgstr "删除此预设" msgid "Search in preset" -msgstr "" +msgstr "在预设中搜索" msgid "Click to reset all settings to the last saved preset." msgstr "" @@ -3911,11 +3912,15 @@ msgid "" "Prime tower is required by smooth timeplase. If whthout prime tower, there " "will be flaws on the model. Are you sure you want to disable prime tower?" msgstr "" +"平滑模式的延时摄影需要擦料塔。如果没有,模型上就可能会有缺陷。你确定要禁用擦" +"料塔吗?" msgid "" "Prime tower is required by smooth timelapse. If whthout prime tower, there " "will be flaws on the model. Do you want to enable prime tower?" msgstr "" +"平滑模式的延时摄影需要擦料塔。如果没有,模型上就可能会有缺陷。你想要启用擦料" +"塔吗?" msgid "" "When recording timelapse without toolhead, it is recommended to add a " @@ -4633,22 +4638,22 @@ msgid "Don't remind me of this version again" msgstr "此版本不再提示" msgid "Model:" -msgstr "" +msgstr "型号:" msgid "Serial:" -msgstr "" +msgstr "序列号:" msgid "Version:" -msgstr "" +msgstr "版本:" msgid "Upgrade firmware" msgstr "升级固件" msgid "Printing" -msgstr "" +msgstr "打印中" msgid "Idle" -msgstr "" +msgstr "空闲" msgid "Latest version" msgstr "最新版本" @@ -4925,7 +4930,7 @@ msgstr "写入回调失败" #, boost-format msgid "" "%1% is too close to exclusion area, there may be collisions when printing." -msgstr "" +msgstr "%1%离屏蔽区域太近,可能会发生碰撞。" #, boost-format msgid "" @@ -5527,24 +5532,32 @@ msgid "Height to rod" msgstr "到横杆高度" msgid "" -"Distance of the nozzle tip to the lower rod. Used as input of auto-arranging " -"to avoid collision when printing by object" +"Distance of the nozzle tip to the lower rod. Used for collision avoidance in " +"by-object printing." msgstr "" msgid "Height to lid" msgstr "到顶盖高度" msgid "" -"Distance of the nozzle tip to the lid. Used as input of auto-arranging to " -"avoid collision when printing by object" +"Distance of the nozzle tip to the lid. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Radius" msgstr "半径" msgid "" -"Clearance radius around extruder. Used as input of auto-arranging to avoid " -"collision when printing by object" +"Clearance radius around extruder. Used for collision avoidance in by-object " +"printing." +msgstr "" + +msgid "Max Radius" +msgstr "" + +msgid "" +"Max clearance radius around extruder. Used for collision avoidance in by-" +"object printing." msgstr "" msgid "Extruder Color" @@ -6475,12 +6488,12 @@ msgid "Don't create support on model surface, only on build plate" msgstr "不在模型表面上生成支撑,只在热床上生成。" msgid "Support critical regions only" -msgstr "" +msgstr "仅支撑关键区域" msgid "" "Only create support for critical regions including sharp tail, cantilever, " "etc." -msgstr "" +msgstr "仅对关键区域生成支撑,包括尖尾、悬臂等。" msgid "Top Z distance" msgstr "顶部Z距离" @@ -6894,12 +6907,12 @@ msgstr "正在检查支撑必要性" msgid "" "It seems object %s has completely floating regions. Please re-orient the " "object or enable support generation." -msgstr "" +msgstr "似乎对象%s有完全浮空的区域。请调整朝向或打开支撑生成。" #, c-format, boost-format msgid "" "It seems object %s has large overhangs. Please enable support generation." -msgstr "" +msgstr "似乎对象%s有很大面积的悬垂面。请打开支撑生成。" msgid "Optimizing toolpath" msgstr "正在优化走线" @@ -6908,7 +6921,7 @@ msgid "Empty layers around bottom are replaced by nearest normal layers." msgstr "底部出现空层,已被最近的正常层替换。" msgid "The model has too many empty layers." -msgstr "" +msgstr "模型有太多空层。" msgid "Slicing mesh" msgstr "正在切片网格" @@ -7166,6 +7179,25 @@ msgstr "" "为多个对象设置参数\n" "您知道可以同时为所有选定对象设置切片参数吗?" +#~ msgid "Print By Object" +#~ msgstr "逐件打印" + +#~ msgid "Suggest to use auto-arrange to avoid collisions when printing." +#~ msgstr "建议您使用自动摆盘避免打印时发生碰撞。" + +#~ msgid "" +#~ "Print By Object\n" +#~ "Suggest to use auto-arrange to avoid collisions when printing." +#~ msgstr "" +#~ "逐件打印:\n" +#~ "建议使用自动摆盘避免打印时发生碰撞。" + +#~ msgid "Send and Print" +#~ msgstr "发送并打印" + +#~ msgid "Can't connect to the printer" +#~ msgstr "无法连接打印机" + #~ msgid "Show &Wireframe" #~ msgstr "显示线框" @@ -7199,9 +7231,6 @@ msgstr "" #~ msgid "preparing, export 3mf failed!" #~ msgstr "正在准备中,导出 3mf 失败!" -#~ msgid "Send print job to" -#~ msgstr "发送打印任务至" - #~ msgid "" #~ "Prime tower is required by timeplase. Are you sure you want to disable " #~ "both of them?" diff --git a/resources/i18n/de/BambuStudio.mo b/resources/i18n/de/BambuStudio.mo index 283f992714..9a4f0141db 100644 Binary files a/resources/i18n/de/BambuStudio.mo and b/resources/i18n/de/BambuStudio.mo differ diff --git a/resources/i18n/en/BambuStudio.mo b/resources/i18n/en/BambuStudio.mo index 8e33975484..9a48f44dea 100644 Binary files a/resources/i18n/en/BambuStudio.mo and b/resources/i18n/en/BambuStudio.mo differ diff --git a/resources/i18n/es/BambuStudio.mo b/resources/i18n/es/BambuStudio.mo index f4e0db4225..2ef1af0927 100644 Binary files a/resources/i18n/es/BambuStudio.mo and b/resources/i18n/es/BambuStudio.mo differ diff --git a/resources/i18n/fr/BambuStudio.mo b/resources/i18n/fr/BambuStudio.mo index 6d3dd17f35..ca4030b9ea 100644 Binary files a/resources/i18n/fr/BambuStudio.mo and b/resources/i18n/fr/BambuStudio.mo differ diff --git a/resources/i18n/hu/BambuStudio.mo b/resources/i18n/hu/BambuStudio.mo index db9ac3b516..9412ad3ec5 100644 Binary files a/resources/i18n/hu/BambuStudio.mo and b/resources/i18n/hu/BambuStudio.mo differ diff --git a/resources/i18n/nl/BambuStudio.mo b/resources/i18n/nl/BambuStudio.mo index 3903061eaa..bc17718f95 100644 Binary files a/resources/i18n/nl/BambuStudio.mo and b/resources/i18n/nl/BambuStudio.mo differ diff --git a/resources/i18n/sv/BambuStudio.mo b/resources/i18n/sv/BambuStudio.mo index bc53464c79..0afd883cd1 100644 Binary files a/resources/i18n/sv/BambuStudio.mo and b/resources/i18n/sv/BambuStudio.mo differ diff --git a/resources/i18n/zh_cn/BambuStudio.mo b/resources/i18n/zh_cn/BambuStudio.mo index 0b8385bf70..25961d7f7c 100644 Binary files a/resources/i18n/zh_cn/BambuStudio.mo and b/resources/i18n/zh_cn/BambuStudio.mo differ diff --git a/src/libslic3r/GCode/ToolOrdering.cpp b/src/libslic3r/GCode/ToolOrdering.cpp index d2e05ccfc8..f600e172e6 100644 --- a/src/libslic3r/GCode/ToolOrdering.cpp +++ b/src/libslic3r/GCode/ToolOrdering.cpp @@ -13,6 +13,7 @@ #include #include +#include #include @@ -20,45 +21,35 @@ namespace Slic3r { const static bool g_wipe_into_objects = false; -void dfs_get_all_sorted_extruders(const std::vector> & wipe_volumes, - const std::vector & all_extruders, - std::vector & sorted_extruders, - float flush_volume, - std::map> &volumes_to_extruder_order) -{ - if (sorted_extruders.size() == all_extruders.size()) { - volumes_to_extruder_order.insert(std::pair(flush_volume, sorted_extruders)); - return; - } - - for (auto extruder_id : all_extruders) { - if (sorted_extruders.empty()) { - sorted_extruders.push_back(extruder_id); - dfs_get_all_sorted_extruders(wipe_volumes, all_extruders, sorted_extruders, flush_volume, volumes_to_extruder_order); - sorted_extruders.pop_back(); - } else { - auto itor = std::find(sorted_extruders.begin(), sorted_extruders.end(), extruder_id); - if (itor == sorted_extruders.end()) { - float delta_flush_volume = wipe_volumes[sorted_extruders.back()][extruder_id]; - flush_volume += delta_flush_volume; - sorted_extruders.push_back(extruder_id); - dfs_get_all_sorted_extruders(wipe_volumes, all_extruders, sorted_extruders, flush_volume, volumes_to_extruder_order); - flush_volume -= delta_flush_volume; - sorted_extruders.pop_back(); - } - } - } -} - std::vector get_extruders_order(const std::vector> &wipe_volumes, std::vector all_extruders, unsigned int start_extruder_id) { if (all_extruders.size() > 1) { - std::vector sorted_extruders; - auto iter = std::find(all_extruders.begin(), all_extruders.end(), start_extruder_id); - if (iter != all_extruders.end()) { sorted_extruders.push_back(start_extruder_id); } - std::map> volumes_to_extruder_order; - dfs_get_all_sorted_extruders(wipe_volumes, all_extruders, sorted_extruders, 0, volumes_to_extruder_order); - if (volumes_to_extruder_order.size() > 0) return volumes_to_extruder_order.begin()->second; + int begin_index = 0; + auto iter = std::find(all_extruders.begin(), all_extruders.end(), start_extruder_id); + if (iter != all_extruders.end()) { + for (int i = 0; i < all_extruders.size(); ++i) { + if (all_extruders[i] == start_extruder_id) { + std::swap(all_extruders[i], all_extruders[0]); + } + } + begin_index = 1; + } + + std::pair> volumes_to_extruder_order; + volumes_to_extruder_order.first = 10000 * all_extruders.size(); + std::sort(all_extruders.begin() + begin_index, all_extruders.end()); + do { + float flush_volume = 0; + for (int i = 0; i < all_extruders.size() - 1; ++i) { + flush_volume += wipe_volumes[all_extruders[i]][all_extruders[i + 1]]; + } + if (flush_volume < volumes_to_extruder_order.first) { + volumes_to_extruder_order = std::pair(flush_volume, all_extruders); + } + } while (std::next_permutation(all_extruders.begin() + begin_index, all_extruders.end())); + + if (volumes_to_extruder_order.second.size() > 0) + return volumes_to_extruder_order.second; } return all_extruders; } @@ -737,7 +728,10 @@ void ToolOrdering::reorder_extruders_for_minimum_flush_volume() for (LayerTools& lt : m_layer_tools) { if (lt.extruders.empty()) continue; - lt.extruders = get_extruders_order(wipe_volumes, lt.extruders, current_extruder_id); + // todo: The algorithm complexity is too high(o(n2)), currently only 8 colors are supported + if (lt.extruders.size() <= 8) { + lt.extruders = get_extruders_order(wipe_volumes, lt.extruders, current_extruder_id); + } current_extruder_id = lt.extruders.back(); } } diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index bb0df103ec..fb20b3297d 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -248,7 +248,7 @@ PresetsConfigSubstitutions PresetBundle::load_presets(AppConfig &config, Forward dir_user_presets = data_dir() + "/" + PRESET_USER_DIR + "/" + config.get("preset_folder"); } else { - dir_user_presets = data_dir() + "/" + PRESET_USER_DIR + "/default"; + dir_user_presets = data_dir() + "/" + PRESET_USER_DIR + "/" + DEFAULT_USER_FOLDER_NAME; } fs::path user_folder(data_dir() + "/" + PRESET_USER_DIR); if (!fs::exists(user_folder)) @@ -698,8 +698,11 @@ PresetsConfigSubstitutions PresetBundle::import_presets(std::vector //BBS save user preset to user_id preset folder void PresetBundle::save_user_presets(AppConfig& config, std::vector& need_to_delete_list) { + std::string user_sub_folder = DEFAULT_USER_FOLDER_NAME; + if (!config.get("preset_folder").empty()) + user_sub_folder = config.get("preset_folder"); //BBS: change directory by design - const std::string dir_user_presets = data_dir() + "/" + PRESET_USER_DIR + "/"+ config.get("preset_folder"); + const std::string dir_user_presets = data_dir() + "/" + PRESET_USER_DIR + "/"+ user_sub_folder; BOOST_LOG_TRIVIAL(debug) << __FUNCTION__ << boost::format(" enter, save to %1%")%dir_user_presets; diff --git a/src/libslic3r/PresetBundle.hpp b/src/libslic3r/PresetBundle.hpp index edc80e5877..5b5c41d502 100644 --- a/src/libslic3r/PresetBundle.hpp +++ b/src/libslic3r/PresetBundle.hpp @@ -9,6 +9,8 @@ #include #include +#define DEFAULT_USER_FOLDER_NAME "default" + namespace Slic3r { // Bundle of Print + Filament + Printer presets. diff --git a/src/libslic3r/SupportMaterial.cpp b/src/libslic3r/SupportMaterial.cpp index 4afa6098fe..13282b90d4 100644 --- a/src/libslic3r/SupportMaterial.cpp +++ b/src/libslic3r/SupportMaterial.cpp @@ -1513,7 +1513,7 @@ static inline Polygons detect_overhangs( const coordf_t max_bridge_length = scale_(object_config.max_bridge_length.value); const bool bridge_no_support = object_config.bridge_no_support.value; - if (layer_id == 0) + if (layer_id == 0) { // Don't fill in the holes. The user may apply a higher raft_expansion if one wants a better 1st layer adhesion. overhang_polygons = to_polygons(layer.lslices); diff --git a/src/libslic3r/TreeSupport.cpp b/src/libslic3r/TreeSupport.cpp index 5c7fd6e20e..43f76edd1a 100644 --- a/src/libslic3r/TreeSupport.cpp +++ b/src/libslic3r/TreeSupport.cpp @@ -708,7 +708,7 @@ void TreeSupport::detect_object_overhangs() if (m_object->tree_support_layer_count() >= m_object->layer_count()) return; - // Clear and create Tree Support Layers + // Create Tree Support Layers m_object->clear_tree_support_layers(); m_object->clear_tree_support_preview_cache(); @@ -721,11 +721,11 @@ void TreeSupport::detect_object_overhangs() const coordf_t extrusion_width = config.line_width.value; const coordf_t extrusion_width_scaled = scale_(extrusion_width); const coordf_t max_bridge_length = scale_(config.max_bridge_length.value); - const bool bridge_no_support = max_bridge_length > 0; + const bool bridge_no_support = max_bridge_length > 0;// config.bridge_no_support.value; const bool support_critical_regions_only = config.support_critical_regions_only.value; const int enforce_support_layers = config.enforce_support_layers.value; - const double area_thresh_well_supported = SQ(scale_(6)); - const double length_thresh_well_supported = scale_(6); + const double area_thresh_well_supported = SQ(scale_(6)); // min: 6x6=36mm^2 + const double length_thresh_well_supported = scale_(6); // min: 6mm static const double sharp_tail_max_support_height = 8.f; // a region is considered well supported if the number of layers below it exceeds this threshold const int thresh_layers_below = 10 / config.layer_height; @@ -822,19 +822,20 @@ void TreeSupport::detect_object_overhangs() region2clusterInd.emplace(®ion, regionClusters.size() - 1); } }; - // main part of sharptail detections + has_sharp_tail = false; if (std::set{stTreeAuto, stHybridAuto, stTree}.count(stype))// == stTreeAuto || stype == stHybridAuto || stype == stTree) { double threshold_rad = (config.support_threshold_angle.value < EPSILON ? 30 : config.support_threshold_angle.value+1) * M_PI / 180.; - ExPolygons regions_well_supported; - std::map region_layers_below; - ExPolygons lower_overhang_dilated; - - for (size_t layer_nr = 0; layer_nr < m_object->layer_count(); layer_nr++){ + ExPolygons regions_well_supported; // regions on buildplate or well supported + std::map region_layers_below; // regions and the number of layers below + ExPolygons lower_overhang_dilated; // for small overhang + + for (size_t layer_nr = 0; layer_nr < m_object->layer_count(); layer_nr++) + { if (m_object->print()->canceled()) break; - + if (!is_auto && layer_nr > enforce_support_layers) continue; @@ -872,7 +873,7 @@ void TreeSupport::detect_object_overhangs() // normal overhang ExPolygons lower_layer_offseted = offset_ex(lower_polys, support_offset_scaled, SUPPORT_SURFACES_OFFSET_PARAMETERS); ExPolygons overhang_areas = std::move(diff_ex(curr_polys, lower_layer_offseted)); - + // overhang_areas = std::move(offset2_ex(overhang_areas, -0.1 * extrusion_width_scaled, 0.1 * extrusion_width_scaled)); overhang_areas.erase(std::remove_if(overhang_areas.begin(), overhang_areas.end(), [extrusion_width_scaled](ExPolygon &area) { return offset_ex(area, -0.1 * extrusion_width_scaled).empty(); }), overhang_areas.end()); @@ -960,7 +961,7 @@ void TreeSupport::detect_object_overhangs() // 2.4 if the area grows fast than threshold, it get connected to other part or // it has a sharp slop and will be auto supported. - ExPolygons new_overhang_expolys = diff_ex({expoly}, lower_layer_sharptails); + ExPolygons new_overhang_expolys = diff_ex({ expoly }, lower_layer_sharptails); if (!offset_ex(new_overhang_expolys, -5.0 * extrusion_width_scaled).empty()) { is_sharp_tail = false; break; @@ -1132,6 +1133,7 @@ void TreeSupport::detect_object_overhangs() // if (erode1.empty() && !inter_with_others.empty()) // blockers[layer_nr].push_back(p_overhang->contour); } + } } @@ -1154,13 +1156,12 @@ void TreeSupport::detect_object_overhangs() for (auto &area : ts_layer->overhang_areas) { ts_layer->overhang_types.emplace(&area, TreeSupportLayer::Detected); } - // enforcers + if (layer_nr < enforcers.size()) { Polygons& enforcer = enforcers[layer_nr]; // coconut: enforcer can't do offset2_ex, otherwise faces with angle near 90 degrees can't have enforcers, which // is not good. For example: tails of animals needs extra support except the lowest tip. //enforcer = std::move(offset2_ex(enforcer, -0.1 * extrusion_width_scaled, 0.1 * extrusion_width_scaled)); - enforcer = offset(enforcer, 0.1 * extrusion_width_scaled); for (const Polygon& poly : enforcer) { ts_layer->overhang_areas.emplace_back(poly); ts_layer->overhang_types.emplace(&ts_layer->overhang_areas.back(), TreeSupportLayer::Enforced); @@ -1870,30 +1871,30 @@ void TreeSupport::generate_support_areas() if (!tree_support_enable) return; - std::vector> contact_nodes(m_object->layers().size()); + std::vector> contact_nodes(m_object->layers().size()); //Generate empty layers to store the points in. profiler.stage_start(STAGE_total); // Generate overhang areas profiler.stage_start(STAGE_DETECT_OVERHANGS); m_object->print()->set_status(55, _L("Support: detect overhangs")); - detect_object_overhangs(); // Entry of step#1; + detect_object_overhangs(); profiler.stage_finish(STAGE_DETECT_OVERHANGS); // Generate contact points of tree support profiler.stage_start(STAGE_GENERATE_CONTACT_NODES); m_object->print()->set_status(56, _L("Support: generate contact points")); - generate_contact_points(contact_nodes); // Entry of step#2; + generate_contact_points(contact_nodes); profiler.stage_finish(STAGE_GENERATE_CONTACT_NODES); //Drop nodes to lower layers. profiler.stage_start(STAGE_DROP_DOWN_NODES); m_object->print()->set_status(60, _L("Support: propagate branches")); - drop_nodes(contact_nodes); // Entry of step#3; + drop_nodes(contact_nodes); profiler.stage_finish(STAGE_DROP_DOWN_NODES); // Adjust support layer heights - adjust_layer_heights(contact_nodes); // Entry of step#4; + adjust_layer_heights(contact_nodes); //Generate support areas. profiler.stage_start(STAGE_DRAW_CIRCLES); diff --git a/src/libslic3r/TriangleMeshSlicer.cpp b/src/libslic3r/TriangleMeshSlicer.cpp index 6b124d92f9..6182dfe641 100644 --- a/src/libslic3r/TriangleMeshSlicer.cpp +++ b/src/libslic3r/TriangleMeshSlicer.cpp @@ -399,7 +399,7 @@ struct SlabLines { std::vector at_slice; // Projections of triangle set boundary lines into layer below (for projection from the top) // or into layer above (for projection from the bottom). - // In both cases the intersection lines are CCW oriented. + // In both cases the intersection liens are CCW oriented. std::vector between_slices; }; @@ -790,8 +790,7 @@ inline std::pair slice_slabs_make_lines( } slice_facet_with_slabs(vertices, indices, face_idx, neighbors, edge_ids, num_edges, zs, lines_top, lines_mutex_top); } - // BBS: add vertical faces option - if (bottom && (fo == FaceOrientation::Down || fo == FaceOrientation::Vertical || fo == FaceOrientation::Degenerate)) { + if (bottom && (fo == FaceOrientation::Down || fo == FaceOrientation::Degenerate)) { Vec3i neighbors = face_neighbors[face_idx]; // Reset neighborship of this triangle in case the other triangle is oriented backwards from this one. for (int i = 0; i < 3; ++ i) diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index a5753202ec..4bc670b6fe 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -300,7 +300,7 @@ void MachineObject::set_access_code(std::string code) bool MachineObject::is_lan_mode_printer() { bool result = false; - if (connection_type() == "lan") + if (!dev_connection_type.empty() && dev_connection_type == "lan") return true; return result; } diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index c9f4ad8f20..94c6621b46 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -1156,7 +1156,12 @@ void GUI_App::post_init() while (files_vec.size() > LOG_FILES_MAX_NUM) { auto full_path = log_folder / boost::filesystem::path(files_vec[files_vec.size() - 1].second); BOOST_LOG_TRIVIAL(info) << "delete log file over " << LOG_FILES_MAX_NUM << ", filename: "<< files_vec[files_vec.size() - 1].second; - boost::filesystem::remove(full_path); + try { + boost::filesystem::remove(full_path); + } + catch (const std::exception& ex) { + BOOST_LOG_TRIVIAL(error) << "failed to delete log file: "<< files_vec[files_vec.size() - 1].second << ". Error: " << ex.what(); + } files_vec.pop_back(); } } @@ -1213,7 +1218,10 @@ void GUI_App::shutdown() } if (m_agent) { + //BBS avoid a crash on mac platform +#ifdef __WINDOWS__ m_agent->start_discovery(false, false); +#endif delete m_agent; m_agent = nullptr; } @@ -3094,6 +3102,7 @@ void GUI_App::request_user_logout() m_agent->user_logout(); m_agent->set_user_selected_machine(""); + app_config->set("preset_folder", ""); /* delete old user settings */ m_device_manager->clean_user_info(); GUI::wxGetApp().sidebar().load_ams_list({}); @@ -3651,8 +3660,15 @@ void GUI_App::sync_preset(Preset* preset) preset->setting_id.clear(); result = 0; } - else + else { result = m_agent->put_setting(preset->setting_id, preset->name, &values_map, &http_code); + if (http_code >= 400) { + result = 0; + updated_info = "hold"; + BOOST_LOG_TRIVIAL(error) << "[sync_preset] put setting_id = " << preset->setting_id << " failed, http_code = " << http_code; + } + } + } else { BOOST_LOG_TRIVIAL(trace) << "[sync_preset]update: can not generate differed key-values, we need to skip this preset "<< preset->name; @@ -3761,8 +3777,10 @@ void GUI_App::start_sync_user_preset(bool with_progress_dlg) it = delete_cache_presets.erase(it); BOOST_LOG_TRIVIAL(trace) << "sync_preset: sync operation: delete success! setting id = " << del_setting_id; } - else + else { + BOOST_LOG_TRIVIAL(info) << "delete setting = " <is_initialized() && view3d_canvas->is_rendering_enabled() ) { NotificationManager *notify_manager = get_notification_manager(); if (seq_print->value == PrintSequence::ByObject) { - std::string info_text = L("Print By Object: \nSuggest to use auto-arrange to avoid collisions when printing."); + std::string info_text = _u8L("Print By Object: \nSuggest to use auto-arrange to avoid collisions when printing."); notify_manager->bbl_show_seqprintinfo_notification(info_text); //always show label when switch to sequence print if (print_sequence_changed) diff --git a/src/slic3r/GUI/UpgradePanel.cpp b/src/slic3r/GUI/UpgradePanel.cpp index 7dc39ae083..857e202f6c 100644 --- a/src/slic3r/GUI/UpgradePanel.cpp +++ b/src/slic3r/GUI/UpgradePanel.cpp @@ -660,32 +660,30 @@ void MachineInfoPanel::upgrade_firmware_internal() { void MachineInfoPanel::on_upgrade_firmware(wxCommandEvent &event) { - ConfirmHintDialog* confirm_dlg = new ConfirmHintDialog(this->GetParent(), wxID_ANY, _L("Upgrade firmware")); - confirm_dlg->SetHint(_L( + ConfirmHintDialog confirm_dlg(this->GetParent(), wxID_ANY, _L("Upgrade firmware")); + confirm_dlg.SetHint(_L( "Are you sure you want to update? This will take about 10 minutes. Do not turn off the power while the printer is updating." )); - confirm_dlg->Bind(EVT_CONFIRM_HINT, [this](wxCommandEvent &e) { + confirm_dlg.Bind(EVT_CONFIRM_HINT, [this](wxCommandEvent &e) { if (m_obj){ m_obj->command_upgrade_confirm(); } }); - if(confirm_dlg->ShowModal()) - delete confirm_dlg; + confirm_dlg.ShowModal(); } void MachineInfoPanel::on_consisitency_upgrade_firmware(wxCommandEvent &event) { - ConfirmHintDialog* confirm_dlg = new ConfirmHintDialog(this->GetParent(), wxID_ANY, _L("Upgrade firmware")); - confirm_dlg->SetHint(_L( + ConfirmHintDialog confirm_dlg(this->GetParent(), wxID_ANY, _L("Upgrade firmware")); + confirm_dlg.SetHint(_L( "Are you sure you want to update? This will take about 10 minutes. Do not turn off the power while the printer is updating." )); - confirm_dlg->Bind(EVT_CONFIRM_HINT, [this](wxCommandEvent &e) { + confirm_dlg.Bind(EVT_CONFIRM_HINT, [this](wxCommandEvent &e) { if (m_obj){ m_obj->command_consistency_upgrade_confirm(); } }); - if(confirm_dlg->ShowModal()) - delete confirm_dlg; + confirm_dlg.ShowModal(); } void MachineInfoPanel::on_show_release_note(wxMouseEvent &event) @@ -800,13 +798,16 @@ void UpgradePanel::update(MachineObject *obj) if (m_obj && m_show_forced_hint) { if (m_obj->upgrade_force_upgrade) { m_show_forced_hint = false; //lock hint - ConfirmHintDialog* force_dlg = new ConfirmHintDialog(m_scrolledWindow, wxID_ANY, _L("Upgrade firmware")); - force_dlg->SetHint(_L( + ConfirmHintDialog force_dlg(m_scrolledWindow, wxID_ANY, _L("Upgrade firmware"), ConfirmHintDialog::CONFIRM_AND_CANCEL, wxDefaultPosition, wxDefaultSize, wxPD_APP_MODAL); + force_dlg.SetHint(_L( "An important update was detected and needs to be run before printing can continue. Do you want to update now? You can also update later from 'Upgrade firmware'." )); - force_dlg->Bind(EVT_CONFIRM_HINT, &MachineInfoPanel::on_upgrade_firmware, m_push_upgrade_panel); - if (force_dlg->ShowModal()) - delete force_dlg; + force_dlg.Bind(EVT_CONFIRM_HINT, [this](wxCommandEvent& e) { + if (m_obj) { + m_obj->command_upgrade_confirm(); + } + }); + force_dlg.ShowModal(); } } @@ -818,13 +819,16 @@ void UpgradePanel::update(MachineObject *obj) if (m_obj && m_show_consistency_hint) { if (m_obj->upgrade_consistency_request) { m_show_consistency_hint = false; - ConfirmHintDialog* consistency_dlg = new ConfirmHintDialog(m_scrolledWindow, wxID_ANY, _L("Upgrade firmware")); - consistency_dlg->SetHint(_L( + ConfirmHintDialog consistency_dlg(m_scrolledWindow, wxID_ANY, _L("Upgrade firmware"), ConfirmHintDialog::CONFIRM_AND_CANCEL, wxDefaultPosition, wxDefaultSize, wxPD_APP_MODAL); + consistency_dlg.SetHint(_L( "The firmware version is abnormal. Repairing and updating are required before printing. Do you want to update now? You can also update later on printer or update next time starting the studio." )); - consistency_dlg->Bind(EVT_CONFIRM_HINT, &MachineInfoPanel::on_consisitency_upgrade_firmware, m_push_upgrade_panel); - if (consistency_dlg->ShowModal()) - delete consistency_dlg; + consistency_dlg.Bind(EVT_CONFIRM_HINT, [this](wxCommandEvent& e) { + if (m_obj) { + m_obj->command_consistency_upgrade_confirm(); + } + }); + consistency_dlg.ShowModal(); } } @@ -914,4 +918,4 @@ bool UpgradePanel::Show(bool show) } } -} \ No newline at end of file +} diff --git a/version.inc b/version.inc index 6a5ec3c769..356ac0f839 100644 --- a/version.inc +++ b/version.inc @@ -10,5 +10,5 @@ endif() if(NOT DEFINED BBL_INTERNAL_TESTING) set(BBL_INTERNAL_TESTING "1") endif() -set(SLIC3R_VERSION "01.03.00.22") +set(SLIC3R_VERSION "01.03.00.25") set(SoftFever_VERSION "1.3.3 beta3")