Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorremi durand <remi-j.durand@thalesgroup.com>2021-06-26 01:14:36 +0300
committerremi durand <remi-j.durand@thalesgroup.com>2021-06-26 01:14:36 +0300
commit49300aa79f31afed5981abef406055ad094f9e1a (patch)
treed83ecf36c3fdbbebee9dd534ad602ac933cef4e9
parentcf038157946b8a82e3342a9ac9b13d730b385b01 (diff)
parentba04b3e75ff2209737a9ffc014cbe90727e87df0 (diff)
Merge branch 'merill-merge'2.3.56.6
-rw-r--r--resources/localization/fr/Slic3r.po180
-rw-r--r--src/libslic3r/Config.cpp5
-rw-r--r--src/libslic3r/Config.hpp2
-rw-r--r--src/libslic3r/Fill/FillBase.cpp2
-rw-r--r--src/libslic3r/GCode.cpp13
-rw-r--r--src/libslic3r/GCode.hpp2
-rw-r--r--src/libslic3r/Preset.cpp11
-rw-r--r--src/libslic3r/Preset.hpp5
-rw-r--r--src/libslic3r/PrintConfig.cpp1
-rw-r--r--src/libslic3r/PrintObject.cpp7
-rw-r--r--src/slic3r/GUI/GUI_Preview.cpp4
11 files changed, 128 insertions, 104 deletions
diff --git a/resources/localization/fr/Slic3r.po b/resources/localization/fr/Slic3r.po
index bc191ca5f..70f4dfef1 100644
--- a/resources/localization/fr/Slic3r.po
+++ b/resources/localization/fr/Slic3r.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: Slic3r\n"
-"POT-Creation-Date: 2021-06-23 00:00\n"
-"PO-Revision-Date: 2021-06-23 00:00\n"
+"POT-Creation-Date: 2021-06-25 00:00\n"
+"PO-Revision-Date: 2021-06-25 00:00\n"
"Last-Translator: 5axes\n"
"Language-Team:5axes, supermerill\n"
"MIME-Version: 1.0\n"
@@ -576,7 +576,7 @@ msgid "Add Generic Subobject"
msgstr "Ajouter un Sous-objet Générique"
msgid "Add Height Range"
-msgstr "Ajouter une Zone de Hauteur"
+msgstr "Ajouter une Plage de Hauteur"
msgid "Add instance"
msgstr "Ajouter l'instance"
@@ -585,7 +585,7 @@ msgid "Add Instance of the selected object"
msgstr "Ajouter une Instance à l'objet sélectionné"
msgid "Add layer range"
-msgstr "Ajouter une zone de couche"
+msgstr "Ajouter une plage de hauteur"
msgid "Add Layers"
msgstr "Ajouter des couches"
@@ -646,13 +646,13 @@ msgid "Add preset for this printer device"
msgstr "Ajouter un préréglage pour cette imprimante"
msgid "Add seam position"
-msgstr "Ajouter la position de la couture"
+msgstr "Ajouter la position de la jointure"
msgid "Add settings"
msgstr "Ajouter des réglages"
msgid "Add Settings Bundle for Height range"
-msgstr "Ajouter une Combinaison de Réglages pour la plage de hauteur"
+msgstr "Ajouter une Combinaison de Réglages pour la plage de Hauteur"
msgid "Add Settings Bundle for Object"
msgstr "Ajouter une Combinaison de Réglages pour l'Objet"
@@ -779,7 +779,7 @@ msgstr ""
"Algorithme pour la purge avancé. \n"
"Linéaire: volume = buse + volume_mult * (pigmentAvant-pigmentAfter) \n"
"Quadratique: volume = buse + volume_mult * (pigmentAvant-pigmentAfter) + volume_mult * (pigmentAvant-pigmentAfter) ^ 3 \n"
-"Hyperbolique: volume = buse + volume_mult * (0.5 + pigmentAvant) / (0.5 + pigmentAfter) orithme"
+"Hyperbolique: volume = buse + volume_mult * (0.5 + pigmentAvant) / (0.5 + pigmentAfter)"
msgid "Align the model to the given point."
msgstr "Aligner le modèle sur le point défini."
@@ -851,7 +851,9 @@ msgstr ""
msgid ""
"Allow Slic3r to compute the purge volume via smart computations. Use the "
"pigment% of each filament and following parameters"
-msgstr "Permettre à Slic3r de calculer le volume de purge via des calculs intelligents. Utilisez le pigment% de chaque filament et les paramètres suivants"
+msgstr ""
+"Permettre à Slic3r de calculer le volume de purge via des calculs intelligents."
+" Utilisez le pigment% de chaque filament et les paramètres suivants"
msgid ""
"Allow the external perimeter to merge the thin walls in the path. You can "
@@ -866,8 +868,7 @@ msgid ""
"Allow to create a brim over an island when it's inside a hole (or surrounded "
"by an object)."
msgstr ""
-"Permet de créer un bord sur une île lorsqu'elle est à l'intérieur d'un trou (ou entourée "
-"par un objet)."
+"Permet de créer une bordure sur un ilot lorsqu'il est à l'intérieur d'un trou (ou entourée par un objet)."
msgid "Along X axis"
msgstr "Le long de l'axe X"
@@ -1286,13 +1287,13 @@ msgstr ""
"La coque inférieure a une épaisseur de %1% mm pour une hauteur de couche %2% mm."
msgid "Bottom solid layers"
-msgstr "Couches pleines inférieures"
+msgstr "Couches pleines du dessous"
msgid "Bottom View"
msgstr "Vue du Dessous"
msgid "Box"
-msgstr "Boîte"
+msgstr "Cube"
msgid "Bridge"
msgstr "Ponts"
@@ -1458,18 +1459,16 @@ msgid ""
"Cannot insert a new layer range after the current layer range.\n"
"Current layer range overlaps with the next layer range."
msgstr ""
-"Impossible d'insérer une nouvelle zone de couche après la zone de couche "
-"actuelle.\n"
-"La zone de couche actuelle chevauche la prochaine zone de couche."
+"Impossible d'insérer une nouvelle plage après la plage de hauteur actuelle.\n"
+"La plage de hauteur actuelle chevauche la prochaine plage."
msgid ""
"Cannot insert a new layer range after the current layer range.\n"
"The next layer range is too thin to be split to two\n"
"without violating the minimum layer height."
msgstr ""
-"Impossible d'insérer une nouvelle zone de couche après la zone de couche "
-"actuelle.\n"
-"La zone de couche suivante est trop fine pour être séparée en deux sans "
+"Impossible d'insérer une nouvelle plage après la plage de hauteur actuelle.\n"
+"La plage de hauteur suivante est trop fine pour être séparée en deux sans "
"enfreindre la hauteur de couche minimum."
msgid ""
@@ -1478,9 +1477,8 @@ msgid ""
"The gap between the current layer range and the next layer range\n"
"is thinner than the minimum layer height allowed."
msgstr ""
-"Impossible d'insérer une nouvelle zone de couche entre l'actuelle et la "
-"prochaine.\n"
-"L'espace entre la zone de couche actuelle et la prochaine est inférieur à la "
+"Impossible d'insérer une nouvelle plage de hauteur entre l'actuelle et la prochaine.\n"
+"L'espace entre la plage de hauteur actuelle et la prochaine est inférieur à la "
"hauteur de couche minimum autorisée."
msgid "Cannot overwrite a system profile."
@@ -1554,7 +1552,7 @@ msgid "Change Option %s"
msgstr "Modifier l'Option %s"
msgid "Change Part Type"
-msgstr "Changer le Type de Partie"
+msgstr "Changer le Type de Pièce"
msgid "Change point head diameter"
msgstr "Changer le diamètre de la tête de la pointe"
@@ -1843,7 +1841,7 @@ msgid "Connection length"
msgstr "Longueur de la connexion"
msgid "Connection of bottom infill lines"
-msgstr "Raccordement des lignes de remplissage du fond"
+msgstr "Raccordement des lignes de remplissage du dessous"
msgid "Connection of solid infill lines"
msgstr "Raccordement des lignes de remplissage pleines"
@@ -1999,7 +1997,7 @@ msgid ""
"Cost of placing the seam at a bad angle. The worst angle (max penalty) is "
"when it's flat."
msgstr ""
-"Coût du placement de la couture à un mauvais angle. Le pire angle (pénalité maximale) est "
+"Coût du placement de la jointure à un mauvais angle. Le pire angle (pénalité maximale) est "
"quand il est plat."
msgid "Cost-based"
@@ -2317,7 +2315,7 @@ msgid "Delete drainage hole"
msgstr "Supprimer le trou de drainage"
msgid "Delete Height Range"
-msgstr "Supprimer la Plage de Hauteur"
+msgstr "Supprimer la plage de Hauteur"
msgid "Delete Instance"
msgstr "Supprimer l'Instance"
@@ -2791,7 +2789,7 @@ msgstr ""
"pour une surface lisse"
msgid "Enable ironing post-process"
-msgstr "Permettre le lissage en post-processus"
+msgstr "Permettre le lissage en post-traitement"
msgid "Enable rotations (slow)"
msgstr "Activer les rotations (lentes)"
@@ -2939,8 +2937,7 @@ msgid ""
msgstr ""
"Entrez le pourcentage de retrait que le filament aura après refroidissement (94% si vous mesurez 94mm au lieu de 100mm)."
" La pièce sera mise à l'échelle en xy pour conpenser. Seul le filament utilisé pour le périmètre est pris en compte.\n"
-"Veillez à laisser suffisamment d'espace entre les objets, car cette compensation se fait "
-"après les vérifications."
+"Veillez à laisser suffisamment d'espace entre les objets, car cette compensation se fait après les vérifications."
msgid "Enter the temperature needed for extruding your filament."
msgstr "Entrez la température nécessaire pour extruder votre filament."
@@ -4231,7 +4228,7 @@ msgid "Height of the display"
msgstr "Hauteur de l'affichage"
msgid "Height range Modifier"
-msgstr "Modificateur de la Plage de hauteur"
+msgstr "Modificateur de la plage de Hauteur"
msgid "Height ranges"
msgstr "Plages de hauteur"
@@ -4353,7 +4350,8 @@ msgstr "Largeur horizontale de la bordure qui sera imprimée autour de chaque ob
msgid ""
"Horizontal width of the brim that will be printed inside each object on the "
"first layer."
-msgstr "Longueur de la bordure de trou, qui sera imprimée à l'intérieur des trous d'un objet sur la première couche."
+msgstr ""
+"Largeur de la bordure intérieure, qui sera imprimée à l'intérieur des trous d'un objet sur la première couche."
msgid ""
"Horizontal width of the skirt that will be printed around each object. If "
@@ -4467,7 +4465,7 @@ msgid ""
msgstr "Le fichier HTTPS CA est optionnel. Il est uniquement requis si vous utilisez le HTTPS avec un certificat auto-signé."
msgid "Hyperbola"
-msgstr "Hyperbola"
+msgstr "Hyperbolique"
msgid " icon"
msgstr " icon"
@@ -5052,10 +5050,10 @@ msgid "Interface pattern spacing"
msgstr "Espacement du motif d'interface"
msgid "Interface shells"
-msgstr "Coques d'interface"
+msgstr "Création d'interface entre coques"
msgid "Interior Brim width"
-msgstr "Largeur de bordure intérieur"
+msgstr "Largeur de bordure intérieure"
msgid "Internal bridge infill"
msgstr "Remplissage des ponts intérieurs"
@@ -5140,7 +5138,7 @@ msgid "Ironing pattern calibration"
msgstr "Calibration du débit de lissage"
msgid "Ironing post-process (This will go on top of infills and perimeters)"
-msgstr "Lissage post-processus (il sera appliqué sur les remplissages et les périmètres)."
+msgstr "Lissage en Post-traitement"
msgid "Ironing post-process speed"
msgstr "Vitesse du post-traitement de lissage"
@@ -5181,7 +5179,7 @@ msgid "It's a last preset for this physical printer."
msgstr "C'est le dernier préréglage pour cette imprimante physique."
msgid "It's impossible to print multi-part object(s) with SLA technology."
-msgstr "Il est impossible d'imprimer un (des) objet(s) en plusieurs parties avec la technologie SLA."
+msgstr "Il est impossible d'imprimer un (des) objet(s) en plusieurs pièces avec la technologie SLA."
msgid "It's not possible to delete the last related preset for the printer."
msgstr ""
@@ -5285,7 +5283,7 @@ msgid "Layer"
msgstr "Couche"
msgid "Layer height"
-msgstr "Hauteur de couche"
+msgstr "Hauteur couche"
msgid "Layer height can't be greater than nozzle diameter"
msgstr "La hauteur de couche ne peut pas être supérieure au diamètre de la buse"
@@ -5297,7 +5295,7 @@ msgid "Layer previe&w Tab"
msgstr "Onglet prévisualisation des couches"
msgid "Layer range Settings to modify"
-msgstr "Réglages de zone de Couche à modifier"
+msgstr "Réglages de plage de hauteur à modifier"
msgid "Layer Time"
msgstr "Temps de couche"
@@ -5514,7 +5512,7 @@ msgid "Load Files"
msgstr "Charger les Fichiers"
msgid "Load Part"
-msgstr "Charger une Partie"
+msgstr "Charger une Pièce"
msgid "Load presets from a bundle"
msgstr "Charger les préréglages à partir d'un lot"
@@ -6645,7 +6643,7 @@ msgstr ""
" d'exposition initial au temps d'exposition normal"
msgid "Number of tool changes"
-msgstr "Nombre de changements d'outil"
+msgstr "Nombre de changements de filament"
msgid "O&pen %s"
msgstr "O&vrir %s"
@@ -7113,7 +7111,7 @@ msgstr ""
"Erreur : \"%2%\""
msgid "Part"
-msgstr "Partie"
+msgstr "Pièce"
msgid "Part manipulation"
msgstr "Manipulation d'une pièce"
@@ -7217,7 +7215,7 @@ msgid "Perimeter extruder"
msgstr "Extrudeuse pour les périmètres"
msgid "Perimeter loop seam"
-msgstr "Couture en boucle sur le périmètre"
+msgstr "Jointure en boucle sur le périmètre"
msgid "perimeter overlap"
msgstr "chevauchement du périmètre"
@@ -7859,7 +7857,7 @@ msgid "Remove Instance of the selected object"
msgstr "Supprimer l'instance de l'objet sélectionné"
msgid "Remove layer range"
-msgstr "Supprimer la zone de couche"
+msgstr "Supprimer la plage de hauteur"
msgid "Remove one instance of the selected object"
msgstr "Supprime une instance de l'objet sélectionné"
@@ -8249,7 +8247,7 @@ msgid "Seam"
msgstr "Jointures"
msgid "Seam angle cost"
-msgstr "Coût de l'angle de couture"
+msgstr "Coût de l'angle de jointure"
msgid "Seam painting"
msgstr "Peinture de jointure"
@@ -8264,7 +8262,7 @@ msgid "Seam preferred direction jitter"
msgstr "Gigue de la direction préférée de la jointure"
msgid "Seam travel cost"
-msgstr "Coût du déplacement de la couture"
+msgstr "Coût du déplacement de la jointure"
msgid "Searc&h"
msgstr "Recherc&her"
@@ -9080,7 +9078,7 @@ msgid "SLA Technology Printers"
msgstr "Imprimantes Technologie SLA"
msgid "Slab"
-msgstr "Dalle"
+msgstr "Pavé"
msgid ""
"Slic3r can upload G-code files to a printer host. This field must contain "
@@ -9309,7 +9307,7 @@ msgid ""
msgstr ""
"Certaines commandes G/M-code, dont le contrôle de température et autres, ne sont pas universelles."
" Paramétrez cette option avec le firmware de votre imprimante pour obtenir une sortie compatible."
-" La version \"sans extrusion\" empêche Slic3r d'exporter toute valeur d'extrusion."
+" La version \"Aucune extrusion\" empêche Slic3r d'exporter toute valeur d'extrusion."
msgid "Some objects are not visible."
msgstr "Certains objets ne sont pas visibles."
@@ -9526,10 +9524,10 @@ msgid "Split to Objects"
msgstr "Diviser en Objets"
msgid "Split to parts"
-msgstr "Scinder en parties"
+msgstr "Scinder en pièces"
msgid "Split to Parts"
-msgstr "Scinder en Parties"
+msgstr "Scinder en Pièces"
msgid "Spool weight"
msgstr "Poids de la bobine"
@@ -10126,7 +10124,7 @@ msgid ""
"The number of bottom solid layers is increased above bottom_solid_layers if "
"necessary to satisfy minimum thickness of bottom shell."
msgstr ""
-"Le nombre de couches pleine du dessous est augmenté au-dessus de "
+"Le nombre de couches pleines du dessous est augmenté au-dessus de "
"bottom_solid_layers si nécessaire pour satisfaire l'épaisseur minimale de la "
"coque inférieure."
@@ -10388,12 +10386,9 @@ msgid ""
"(both support_material_extruder and support_material_interface_extruder need "
"to be set to 0)."
msgstr ""
-"La tour de purge prend actuellement en charge les supports non solubles "
-"seulement\n"
-"si ils sont imprimés avec l'extrudeuse actuel sans déclencher un changement "
-"d'outil.\n"
-"(support_material_extruder et support_material_interface_extruder doivent "
-"être réglés sur 0)."
+"La tour de purge prend actuellement en charge les supports non solubles seulement\n"
+"si ils sont imprimés avec l'extrudeur actuel sans déclencher un changement de filament/extrudeuse.\n"
+"(support_material_extruder et support_material_interface_extruder doivent être réglés sur 0)."
msgid ""
"The Wipe Tower is currently not supported for multimaterial sequential "
@@ -10499,7 +10494,7 @@ msgstr ""
"Ces paramètres permettent au logiciel de lisser les angles de chaque couche."
" La nouvelle précision sera celle de ce paramètre. Désactivez-le en mettant la valeur 0.\n"
"Remarque: comme il utilise les arêtes du polygone et ne fonctionne que dans les plans 2D, vous devez disposer d'un modèle 3D très net ou créé à la main.\n"
-"Il n'est utile que pour adoucir des modèles fonctionnels ou des angles très plats."
+"Il n'est utile que pour lisser des modèles fonctionnels ou des angles très plats."
msgid "Thin extrusions speed"
msgstr "Vitesse des extrusions minces"
@@ -10554,7 +10549,14 @@ msgid ""
"and [next_extruder], so e.g. the standard toolchange command can be scripted "
"as T[next_extruder].!! Warning !!: if any character is written here, Slic3r "
"won't output any toochange command by itself."
-msgstr "Ce code personnalisé est inséré à chaque changement d'extrudeuse. Si vous ne laissez pas ce champ vide, vous devrez vous occuper de l'outil. Changez vous-même. Slic3r ne fournira aucun autre code G pour changer le filament. Vous pouvez utiliser des variables de substitution pour tous les paramètres Slic3r, ainsi que pour [previous_extruder] et [next_extruder], par exemple. La commande standard toolchange peut être écrite sous la forme T [next_extruder]. !! Attention !! Si un quelconque caractère est écrit ici, Slic3r n'écrira aucun G-code de changment de buse par lui-même."
+msgstr ""
+"Ce code personnalisé est inséré à chaque changement d'extrudeuse."
+" Si vous ne laissez pas ce champ vide, vous devrez vous occuper du code de changement de la buse vous-même."
+" Slic3r ne fournira aucun autre code G pour changer le filament."
+" Vous pouvez utiliser des variables de substitution pour tous les paramètres Slic3r,"
+" ainsi que pour [previous_extruder] et [next_extruder], par exemple."
+" La commande standard toolchange peut être écrite sous la forme T [next_extruder]."
+" !! Attention !! Si un quelconque caractère est écrit ici, Slic3r n'écrira aucun G-code de changment de buse par lui-même."
msgid ""
"This custom code is inserted at every extrusion type change.Note that you "
@@ -10569,7 +10571,8 @@ msgstr ""
"Ce code personnalisé est inséré à chaque changement de type d'extrusion."
" Notez que vous pouvez utiliser des variables de substitution pour tous les paramètres Slic3r,"
" ainsi que pour [layer_num], [layer_z] et [extrusion_role] pouvant prendre ces valeurs de chaîne:"
-" { Perimeter, ExternalPerimeter, OverhangPerimeter, InternalInfill, SolidInfill, TopSolidInfill, BridgeInfill, GapFill, Skirt, SupportMaterial, SupportMaterialInterface, WipeTower, Mixed }. Mixed n'est utilisé que lorsque le rôle de l'extrusion n'est pas unique, pas uniquement dans une catégorie ou n'est pas connu."
+" { Perimeter, ExternalPerimeter, OverhangPerimeter, InternalInfill, SolidInfill, TopSolidInfill, BridgeInfill, GapFill, Skirt, SupportMaterial, SupportMaterialInterface, WipeTower, Mixed }."
+" Mixed n'est utilisé que lorsque le rôle de l'extrusion n'est pas unique, pas uniquement dans une catégorie ou n'est pas connu."
msgid ""
"This custom code is inserted at every layer change, right after the Z move "
@@ -10598,7 +10601,8 @@ msgid ""
msgstr ""
"Cette procédure de fin est insérée à la fin du fichier de sortie,"
" juste avant le G-Code de fin (et avant tout changement d’extrudeuse de ce filament dans le cas d’imprimantes multimatériaux)."
-" Notez que vous pouvez utiliser des variables de substitution pour tous les paramètres Slic3r. Si vous avez plusieurs extrudeuses, le gcode est ajouté dans leur ordre."
+" Notez que vous pouvez utiliser des variables de substitution pour tous les paramètres Slic3r. Si vous avez plusieurs extrudeuses,"
+" le gcode est ajouté dans leur ordre."
msgid ""
"This end procedure is inserted at the end of the output file. Note that you "
@@ -10689,8 +10693,8 @@ msgid ""
"Set to -1 to disable this override.\n"
"Can only be overriden by disable_fan_first_layers."
msgstr ""
-"Cette vitesse de ventilation est appliquée pendant tous les ponts et les surplombs. Elle ne ralentira pas "
-"le ventilateur s'il fonctionne déjà à une vitesse plus élevée.\n"
+"Cette vitesse de ventilation est appliquée pendant tous les ponts et les surplombs."
+" Elle ne ralentira pas le ventilateur s'il fonctionne déjà à une vitesse plus élevée.\n"
"Mettez la valeur 1 pour désactiver le ventilateur.\n"
"Mettez la valeur -1 pour désactiver cette commande prioritaire.\n"
"Ne peut être remplacée que par disable_fan_first_layers."
@@ -10751,10 +10755,9 @@ msgid ""
"Instead of considering them as multiple objects, should I consider\n"
"this file as a single object having multiple parts?"
msgstr ""
-"Ce fichier contient plusieurs objets positionnés à différentes hauteurs. Au "
-"lieu de les considérer comme des objets distincts, voulez-vous que je "
-"considère\n"
-"ce fichier comme un seul objet en plusieurs parties?"
+"Ce fichier contient plusieurs objets positionnés à différentes hauteurs."
+" Au lieu de les considérer comme des objets distincts, voulez-vous que je considère\n"
+"ce fichier comme un seul objet en plusieurs pièces ?"
msgid ""
"This firmware hex file does not match the printer model.\n"
@@ -10846,7 +10849,10 @@ msgid ""
"Set zero to disable acceleration control for bridges.\n"
"Note that it won't be applied to overhangs, they still use the perimeter "
"acceleration."
-msgstr "C'est l'accélération que votre imprimante utilisera pour les ponts.Peut être un % de l'accélération par défaut\nMettez zéro pour désactiver le contrôle de l'accélération pour les ponts.\nNotez que cela ne sear pas appliqué aux surplombs, ils continueront d'utiliser l'acceleration des périmètres."
+msgstr ""
+"C'est l'accélération que votre imprimante utilisera pour les ponts.Peut être un % de l'accélération par défaut\n"
+"Mettez zéro pour désactiver le contrôle de l'accélération pour les ponts.\n"
+"Notez que cela ne sera pas appliqué aux surplombs, ils continueront d'utiliser l'acceleration des périmètres."
msgid ""
"This is the acceleration your printer will use for first layer.\n"
@@ -11007,12 +11013,14 @@ msgid ""
"ceilings (it will act as internal support material). If enabled, this slows "
"down the G-code generation due to the multiple checks involved."
msgstr ""
-"Cette option limitera le remplissage aux zones nécessaires pour soutenir les couches du dessus (cela agira comme un support interne). Si activé, la génération du G-Code prendra plus de temps à cause des calculs supplémentaires requis."
+"Cette option limitera le remplissage aux zones nécessaires pour soutenir les couches du dessus (cela agira comme un support interne)."
+" Si activé, la génération du G-Code prendra plus de temps à cause des calculs supplémentaires requis."
msgid ""
"This option will switch the print order of perimeters and infill, making the "
"latter first."
-msgstr "Cette option inverse l'ordre d'impression des périmètres et du remplissage, ce dernier étant alors imprimé en premier."
+msgstr ""
+"Cette option inverse l'ordre d'impression des périmètres et du remplissage, ce dernier étant alors imprimé en premier."
msgid ""
"This parameter grows the bridged solid infill layers by the specified mm to "
@@ -11057,10 +11065,10 @@ msgid ""
"their normal speed at this length down to small perimeter speed.\n"
"Can be a mm or a % of the nozzle diameter."
msgstr ""
-"Cela fixe la fin du seuil de la petite longueur périmétrique. Chaque "
-"boucle de périmètre inférieure à cela verra sa vitesse réduite un peu, de "
+"Cela fixe la fin du seuil de la petite longueur périmétrique."
+" Chaque boucle de périmètre inférieure à cela verra sa vitesse réduite un peu, de "
"leur vitesse normale à cette longueur jusqu'à la vitesse du petit périmètre.\n"
-"Peut être un mm ou un % du diamètre de la buse."
+"Peut être exprimé en mm ou un % du diamètre de la buse."
msgid ""
"This sets the threshold for small perimeter length. Every loop with a length "
@@ -11068,14 +11076,16 @@ msgid ""
"Can be a mm value or a % of the nozzle diameter."
msgstr ""
"Cela fixe le seuil de la petite longueur périmétrique. Chaque boucle dont la longueur "
-"inférieure à cela sera imprimée à une vitesse de petit périmètre"
-"Peut être un mm ou un % du diamètre de la buse."
+"inférieure à cela sera imprimée à une vitesse de petit périmètre.\n"
+"Peut être exprimé en mm ou un % du diamètre de la buse."
msgid ""
"This setting allows you to modify the time estimation by a % amount. As "
"Slic3r only uses the Marlin algorithm, it's not precise enough if another "
"firmware is used."
-msgstr "Ce paramètre vous permet de modifier l'estimation du temps par un % pourcentage. Comme Slic3r n'utilise que l'algorithme marlin, il n'est pas assez précis si un autre firmware est utilisé."
+msgstr ""
+"Ce paramètre vous permet de modifier l'estimation du temps par un % pourcentage."
+" Comme Slic3r n'utilise que l'algorithme marlin, il n'est pas assez précis si un autre firmware est utilisé."
msgid ""
"This setting allows you to reduce the overlap between the perimeters and the "
@@ -11088,7 +11098,7 @@ msgstr ""
"Ce paramètre vous permet de réduire le chevauchement entre les périmètres et le "
"externe, afin de réduire l'impact des artefacts des périmètres. 100% signifie "
"qu'aucun vide n'est laissé, et 0% signifie que le périmètre externe ne contribue pas "
-"ne contribue pas au chevauchement avec le périmètre interne."
+"ne contribue pas au chevauchement avec le périmètre interne.\n"
"C'est très expérimental, veuillez faire un rapport sur l'utilité. Il peut être "
"supprimé s'il n'y a pas d'utilité."
@@ -11219,7 +11229,7 @@ msgid ""
"avoid milling the bed. It can be a mm or a % of the first layer height (so "
"it can depend on the object)."
msgstr ""
-"Ce paramètre limite le fraisage post-processus à une certaine hauteur, pour éviter "
+"Ce paramètre limite le fraisage de post-traitement à une certaine hauteur, pour éviter "
"de fraiser le plateau. Cela peut être un mm ou un % de la hauteur de la première couche (cela peut donc "
"dépend de l'objet)."
@@ -11413,7 +11423,7 @@ msgid "To objects"
msgstr "Vers les objets"
msgid "To parts"
-msgstr "Vers les parties"
+msgstr "Vers les pièces"
msgid ""
"To specify the system certificate store manually, please set the %1% "
@@ -11830,10 +11840,10 @@ msgid "Used Filament (g)"
msgstr "Filament Utilisé (g)"
msgid "Used Filament (in)"
-msgstr "Filament utilisé (in)"
+msgstr "Filament Utilisé (in)"
msgid "Used Filament (in³)"
-msgstr "Filament utilisé (in³)"
+msgstr "Filament Utilisé (in³)"
msgid "Used Filament (m)"
msgstr "Filament Utilisé (m)"
@@ -12079,8 +12089,8 @@ msgid ""
"the 1st, 3rd part will be clipped by the 1st and 2nd etc)."
msgstr ""
"Lorsque vous imprimez des objets multi-matériaux, ce réglage fera en sorte que Slic3r "
-"rattache ensemble les parties de l'objet qui se superposent "
-"(la 2e partie sera rattachée à la 1ere, la 3e partie sera rattachée à la 1ere et la 2e, etc...)."
+"rattache ensemble les pièces de l'objet qui se superposent "
+"(la 2e pièce sera rattachée à la 1ere, la 3e pièce sera rattachée à la 1ere et la 2e, etc...)."
msgid ""
"When printing multiple objects or copies on after another, this will help "
@@ -12233,7 +12243,7 @@ msgid "width"
msgstr "largeur"
msgid "Width & Flow"
-msgstr "Largeur & débit"
+msgstr "Largeur et Débit"
msgid "Width (mm)"
msgstr "Largeur (mm)"
@@ -12462,16 +12472,16 @@ msgstr "Vous ne pouvez pas changer un type de la dernière partie pleine de l'ob
msgid ""
"You can't to add the object(s) from %s because of one or some of them "
"is(are) multi-part"
-msgstr "Vous ne pouvez pas ajouter l'objet (les objets) depuis %s car l'un d'entre eux est en plusieurs parties"
+msgstr "Vous ne pouvez pas ajouter l'objet (les objets) depuis %s car l'un d'entre eux est en plusieurs pièces "
msgid "You cannot load SLA project with a multi-part object on the bed"
msgstr ""
-"Vous ne pouvez pas charger un projet SLA avec un objet en plusieurs parties "
+"Vous ne pouvez pas charger un projet SLA avec un objet en plusieurs pièces "
"sur le plateau"
msgid ""
"You cannot use non-uniform scaling mode for multiple objects/parts selection"
-msgstr "Vous ne pouvez pas utiliser un mode d'échelle non-uniforme pour une sélection d'objets/de parties multiples"
+msgstr "Vous ne pouvez pas utiliser un mode d'échelle non-uniforme pour une sélection d'objets/de pièces multiples"
msgid ""
"You have just added a G-code for color change, but its value is empty.\n"
diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp
index 343197948..d40ea5fb6 100644
--- a/src/libslic3r/Config.cpp
+++ b/src/libslic3r/Config.cpp
@@ -469,14 +469,15 @@ void ConfigBase::apply_only(const ConfigBase &other, const t_config_option_keys
}
// this will *ignore* options not present in both configs
-t_config_option_keys ConfigBase::diff(const ConfigBase &other) const
+t_config_option_keys ConfigBase::diff(const ConfigBase &other, bool even_phony /*=true*/) const
{
t_config_option_keys diff;
for (const t_config_option_key &opt_key : this->keys()) {
const ConfigOption *this_opt = this->option(opt_key);
const ConfigOption *other_opt = other.option(opt_key);
//dirty if both exist, they aren't both phony and value is different
- if (this_opt != nullptr && other_opt != nullptr && !(this_opt->is_phony() && other_opt->is_phony())
+ if (this_opt != nullptr && other_opt != nullptr
+ && (even_phony || !(this_opt->is_phony() && other_opt->is_phony()))
&& ((*this_opt != *other_opt) || (this_opt->is_phony() != other_opt->is_phony())))
diff.emplace_back(opt_key);
}
diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp
index 058bebeb6..f7cb5536c 100644
--- a/src/libslic3r/Config.hpp
+++ b/src/libslic3r/Config.hpp
@@ -1886,7 +1886,7 @@ public:
// or this ConfigBase is of a StaticConfig type and it does not support some of the keys, and ignore_nonexistent is not set.
void apply_only(const ConfigBase &other, const t_config_option_keys &keys, bool ignore_nonexistent = false);
bool equals(const ConfigBase &other) const { return this->keys().size() == other.keys().size() && this->diff(other).empty(); }
- t_config_option_keys diff(const ConfigBase &other) const;
+ t_config_option_keys diff(const ConfigBase &other, bool even_phony = true) const;
t_config_option_keys equal(const ConfigBase &other) const;
std::string opt_serialize(const t_config_option_key &opt_key) const;
diff --git a/src/libslic3r/Fill/FillBase.cpp b/src/libslic3r/Fill/FillBase.cpp
index 226e7f610..d028e4510 100644
--- a/src/libslic3r/Fill/FillBase.cpp
+++ b/src/libslic3r/Fill/FillBase.cpp
@@ -225,7 +225,7 @@ void Fill::fill_surface_extrusion(const Surface *surface, const FillParams &para
coord_t Fill::_line_spacing_for_density(float density) const
{
- return coord_t(scale_(this->get_spacing()) / density);
+ return scale_(this->get_spacing() / density);
}
//FIXME: add recent improvmeent from perimetergenerator: avoid thick gapfill
diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp
index 5d019fdb1..ae7c73542 100644
--- a/src/libslic3r/GCode.cpp
+++ b/src/libslic3r/GCode.cpp
@@ -1451,7 +1451,7 @@ void GCode::_do_export(Print& print, FILE* file, ThumbnailsGeneratorCallback thu
for (LayerToPrint &ltp : layers_to_print) {
std::vector<LayerToPrint> lrs;
lrs.emplace_back(std::move(ltp));
- this->process_layer(file, print, print.m_print_statistics, lrs, tool_ordering.tools_for_layer(ltp.print_z() + print.config().z_offset), nullptr, *print_object_instance_sequential_active - object.instances().data());
+ this->process_layer(file, print, print.m_print_statistics, lrs, tool_ordering.tools_for_layer(ltp.print_z()), nullptr, *print_object_instance_sequential_active - object.instances().data());
print.throw_if_canceled();
}
#ifdef HAS_PRESSURE_EQUALIZER
@@ -1905,6 +1905,7 @@ std::vector<GCode::InstanceToPrint> GCode::sort_print_object_instances(
}
std::string GCode::emit_custom_gcode_per_print_z(
+ GCode &gcodegen,
const CustomGCode::Item *custom_gcode,
// ID of the first extruder printing this layer.
uint16_t first_extruder_id,
@@ -1966,6 +1967,10 @@ std::string GCode::emit_custom_gcode_per_print_z(
} else {
gcode += print.config().color_change_gcode;//ColorChangeCode;
gcode += "\n";
+ //FIXME Tell G-code writer that M600 filled the extruder, thus the G-code writer shall reset the extruder to unretracted state after
+ // return from M600. Thus the G-code generated by the following line is ignored.
+ // see GH issue #6362
+ gcodegen.writer().unretract();
}
} else {
if (gcode_type == CustomGCode::PausePrint) // Pause print
@@ -2186,7 +2191,7 @@ void GCode::process_layer(
if (single_object_instance_idx == size_t(-1)) {
// Normal (non-sequential) print.
- gcode += this->emit_custom_gcode_per_print_z(layer_tools.custom_gcode, first_extruder_id, print, print_stat);
+ gcode += this->emit_custom_gcode_per_print_z(*this, layer_tools.custom_gcode, first_extruder_id, print, print_stat);
}
// Extrude skirt at the print_z of the raft layers and normal object layers
// not at the print_z of the interlaced support material layers.
@@ -4059,7 +4064,7 @@ std::string GCode::set_extruder(uint16_t extruder_id, double print_z, bool no_to
}
if (!no_toolchange) {
gcode+=toolchange(extruder_id, print_z);
- }
+ }else m_writer.toolchange(extruder_id);
return gcode;
}
@@ -4094,7 +4099,7 @@ std::string GCode::set_extruder(uint16_t extruder_id, double print_z, bool no_to
if (!no_toolchange) {
gcode += toolchange(extruder_id, print_z);
- }
+ }else m_writer.toolchange(extruder_id);
// Set the temperature if the wipe tower didn't (not needed for non-single extruder MM)
// supermerill change: try to set the good temp, because the wipe tower don't use the gcode writer and so can write wrong stuff.
diff --git a/src/libslic3r/GCode.hpp b/src/libslic3r/GCode.hpp
index 7562f5306..9559a8a6b 100644
--- a/src/libslic3r/GCode.hpp
+++ b/src/libslic3r/GCode.hpp
@@ -183,7 +183,7 @@ public:
static void append_full_config(const Print& print, std::string& str);
// called by porcess_layer, do the color change / custom gcode
- std::string emit_custom_gcode_per_print_z(const CustomGCode::Item* custom_gcode, uint16_t first_extruder_id, const Print& print, PrintStatistics& stats);
+ std::string emit_custom_gcode_per_print_z(GCode& gcodegen, const CustomGCode::Item* custom_gcode, uint16_t first_extruder_id, const Print& print, PrintStatistics& stats);
// Object and support extrusions of the same PrintObject at the same print_z.
// public, so that it could be accessed by free helper functions from GCode.cpp
diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp
index 83a34835f..00d48462f 100644
--- a/src/libslic3r/Preset.cpp
+++ b/src/libslic3r/Preset.cpp
@@ -1391,14 +1391,15 @@ void add_correct_opts_to_diff(const std::string &opt_key, t_config_option_keys&
}
// Use deep_diff to correct return of changed options, considering individual options for each extruder.
-inline t_config_option_keys deep_diff(const ConfigBase &config_this, const ConfigBase &config_other)
+inline t_config_option_keys deep_diff(const ConfigBase &config_this, const ConfigBase &config_other, bool ignore_phony)
{
t_config_option_keys diff;
for (const t_config_option_key &opt_key : config_this.keys()) {
const ConfigOption *this_opt = config_this.option(opt_key);
const ConfigOption *other_opt = config_other.option(opt_key);
//dirty if both exist, they aren't both phony and value is different
- if (this_opt != nullptr && other_opt != nullptr && !(this_opt->is_phony() && other_opt->is_phony())
+ if (this_opt != nullptr && other_opt != nullptr
+ && (ignore_phony || !(this_opt->is_phony() && other_opt->is_phony()))
&& ((*this_opt != *other_opt) || (this_opt->is_phony() != other_opt->is_phony())))
{
if (opt_key == "bed_shape" || opt_key == "compatible_prints" || opt_key == "compatible_printers") {
@@ -1425,13 +1426,13 @@ inline t_config_option_keys deep_diff(const ConfigBase &config_this, const Confi
return diff;
}
-std::vector<std::string> PresetCollection::dirty_options(const Preset *edited, const Preset *reference, const bool deep_compare /*= false*/)
+std::vector<std::string> PresetCollection::dirty_options(const Preset *edited, const Preset *reference, const bool deep_compare /*= false*/, const bool ignore_phony)
{
std::vector<std::string> changed;
if (edited != nullptr && reference != nullptr) {
changed = deep_compare ?
- deep_diff(edited->config, reference->config) :
- reference->config.diff(edited->config);
+ deep_diff(edited->config, reference->config, ignore_phony) :
+ reference->config.diff(edited->config, ignore_phony);
// The "compatible_printers" option key is handled differently from the others:
// It is not mandatory. If the key is missing, it means it is compatible with any printer.
// If the key exists and it is empty, it means it is compatible with no printer.
diff --git a/src/libslic3r/Preset.hpp b/src/libslic3r/Preset.hpp
index ec57f45c2..415831a5a 100644
--- a/src/libslic3r/Preset.hpp
+++ b/src/libslic3r/Preset.hpp
@@ -444,8 +444,9 @@ public:
// Compare the content of get_selected_preset() with get_edited_preset() configs, return true if they differ.
bool current_is_dirty() const { return ! this->current_dirty_options().empty(); }
// Compare the content of get_selected_preset() with get_edited_preset() configs, return the list of keys where they differ.
+ // Note that it won't take into account phony settings. Because current_dirty_options() is only used to see if the preset need to be saved.
std::vector<std::string> current_dirty_options(const bool deep_compare = false) const
- { return dirty_options(&this->get_edited_preset(), &this->get_selected_preset(), deep_compare); }
+ { return dirty_options(&this->get_edited_preset(), &this->get_selected_preset(), deep_compare, false); }
// Compare the content of get_selected_preset() with get_edited_preset() configs, return the list of keys where they differ.
std::vector<std::string> current_different_from_parent_options(const bool deep_compare = false) const
{ return dirty_options(&this->get_edited_preset(), this->get_selected_preset_parent(), deep_compare); }
@@ -518,7 +519,7 @@ private:
size_t update_compatible_internal(const PresetWithVendorProfile &active_printer, const PresetWithVendorProfile *active_print, PresetSelectCompatibleType unselect_if_incompatible);
- static std::vector<std::string> dirty_options(const Preset *edited, const Preset *reference, const bool is_printer_type = false);
+ static std::vector<std::string> dirty_options(const Preset *edited, const Preset *reference, const bool deep_compare = false, const bool ignore_phony = true);
// Type of this PresetCollection: TYPE_PRINT, TYPE_FILAMENT or TYPE_PRINTER.
Preset::Type m_type;
diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp
index 3a7d48b78..0bc430fa2 100644
--- a/src/libslic3r/PrintConfig.cpp
+++ b/src/libslic3r/PrintConfig.cpp
@@ -5382,7 +5382,6 @@ void PrintConfigDef::to_prusa(t_config_option_key& opt_key, std::string& value,
"chamber_temperature",
"complete_objects_one_skirt",
"complete_objects_sort",
-"top_fill_pattern",
"solid_fill_pattern",
"enforce_full_fill_volume",
"external_infill_margin",
diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp
index 6acaf5e86..fafb3347a 100644
--- a/src/libslic3r/PrintObject.cpp
+++ b/src/libslic3r/PrintObject.cpp
@@ -685,6 +685,7 @@ namespace Slic3r {
|| opt_key == "overhangs_width"
|| opt_key == "overhangs_reverse"
|| opt_key == "overhangs_reverse_threshold"
+ || opt_key == "perimeter_extrusion_spacing"
|| opt_key == "perimeter_extrusion_width"
|| opt_key == "infill_overlap"
|| opt_key == "thin_perimeters"
@@ -695,6 +696,8 @@ namespace Slic3r {
|| opt_key == "external_perimeters_first"
|| opt_key == "external_perimeters_hole"
|| opt_key == "external_perimeters_nothole"
+ || opt_key == "external_perimeter_extrusion_spacing"
+ || opt_key == "external_perimeter_extrusion_width"
|| opt_key == "external_perimeters_vase"
|| opt_key == "perimeter_loop"
|| opt_key == "perimeter_loop_seam") {
@@ -763,6 +766,7 @@ namespace Slic3r {
|| opt_key == "fill_density"
|| opt_key == "interface_shells"
|| opt_key == "infill_extruder"
+ || opt_key == "infill_extrusion_spacing"
|| opt_key == "infill_extrusion_width"
|| opt_key == "infill_every_layers"
|| opt_key == "infill_dense"
@@ -793,6 +797,7 @@ namespace Slic3r {
|| opt_key == "infill_connection_solid"
|| opt_key == "infill_connection_top"
|| opt_key == "infill_connection_bottom"
+ || opt_key == "top_infill_extrusion_spacing"
|| opt_key == "top_infill_extrusion_width") {
steps.emplace_back(posInfill);
} else if (
@@ -804,6 +809,7 @@ namespace Slic3r {
|| opt_key == "no_perimeter_unsupported_algo"
|| opt_key == "perimeters"
|| opt_key == "perimeter_overlap"
+ || opt_key == "solid_infill_extrusion_spacing"
|| opt_key == "solid_infill_extrusion_width") {
steps.emplace_back(posPerimeters);
steps.emplace_back(posPrepareInfill);
@@ -813,6 +819,7 @@ namespace Slic3r {
steps.emplace_back(posPerimeters);
steps.emplace_back(posSupportMaterial);
} else if (opt_key == "bridge_flow_ratio"
+ || opt_key == "first_layer_extrusion_spacing"
|| opt_key == "first_layer_extrusion_width") {
//if (m_config.support_material_contact_distance > 0.) {
// Only invalidate due to bridging if bridging is enabled.
diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp
index 498b2ff34..d6e8cc242 100644
--- a/src/slic3r/GUI/GUI_Preview.cpp
+++ b/src/slic3r/GUI/GUI_Preview.cpp
@@ -663,7 +663,7 @@ wxBoxSizer* Preview::create_layers_slider_sizer()
Info custom_gcode_per_print_z = m_layers_slider->GetTicksValues();
//remove z-shift from gcode output
const float z_shift = wxGetApp().preset_bundle->printers.get_edited_preset().config.opt_float("z_offset");
- if (can_display_gcode() && z_shift != 0) {
+ if (can_display_gcode() && z_shift != 0 && ForceState::ForceExtrusions != current_force_state) {
for (CustomGCode::Item& tick : custom_gcode_per_print_z.gcodes) {
tick.print_z -= z_shift;
}
@@ -751,7 +751,7 @@ void Preview::update_layers_slider(const std::vector<double>& layers_z, bool kee
{
//add z-shift from gcode output
const float z_shift = wxGetApp().preset_bundle->printers.get_edited_preset().config.opt_float("z_offset");
- if (can_display_gcode() && z_shift != 0) {
+ if (can_display_gcode() && z_shift != 0 && ForceState::ForceExtrusions != current_force_state) {
for (CustomGCode::Item& tick : ticks_info_from_model.gcodes) {
tick.print_z += z_shift;
}