Français
Login

Macros

Pertinent pour

MMU family
MINI family
MK3 family
OLD PRODUCTS
SLA family
+
Article est également disponible dans les langues suivantes
English
Čeština
Polski
Deutsch
Français
Español
Italiano
日本語

Les macros vous permettent de créer des conditions et d'évaluer des équations mathématiques dans les champs de G-code personnalisé.

Le langage de macro de PrusaSlicer n'est pas compatible avec les expressions conditionnelles de Slic3r.

Constructs

Évaluation conditionnelle

Évaluation d'expression

Syntaxe d'espace réservé pour la compatibilité

ou

Dans les deux constructs, les variables de configuration PrusaSlicer sont accessibles par leurs noms

et les éléments des variables vectorielles sont accessibles en utilisant des accolades

se réfère à la température du première extrudeur.

Les tableaux multidimensionnels ne sont actuellement accessibles que sous la forme d'une simple variable sous forme de tableau produisant une chaîne de caractères (par exemple, si extruder_variable[1] produit la chaîne de caractères [n, 0] - peut être affiché dans le G-code mais ne peut pas être utilisé dans les opérations arithmétiques).

Les chaînes de caractères sont identifiées par des guillemets doubles et les expressions régulières par des barres obliques . Les chaînes de caractères ne sont pas analysées de manière récursive, c'est-à-dire que des accolades et des crochets à l'intérieur des chaînes de caractères apparaîtront dans la sortie. Cela permet des constructs tels que

Opérateurs

Les opérateurs suivants sont autorisés :

  1. Comparaison
    • Exemple :
  2. Logique booléenne ou équivalent, 
    • Exemple :
  3. Arithmétique
    • Exemple : (Notez que first_layer_temperature est un tableau)
  4. Opérateur ternaire ( Cela doit être placé entre parenthèses pour fonctionner.
    • Exemple : Cette expression règle la température de l'extrudeur à 230 ou 200 selon que la première couche doit être supérieure à 220°.
  5. Correspondance d'expressions régulières (
  6. Les expressions régulières sont placées entre des barres obliques /
    • Exemple :

Fonctions

Minimum

Maximum

Conversion en entier

Arrondir à un entier

Arrondi/remplissage avec des espaces : arrondit la partie fractionnaire à num_decimals chiffres (en ajoutant des zéros à la fin si nécessaire), puis remplit à gauche avec des espaces afin que le nombre ait num_digits caractères au total (y compris un point décimal s'il est présent). Le dernier argument peut être omis, par défaut à zéro.

Arrondi/remplissage avec des zéros : comme ci-dessus, uniquement à gauche rempli de zéros

 

Variables (espaces réservés)

Vous pouvez utiliser des variables dans les scripts personnalisés et dans le modèle de nom de fichier de sortie.

Allez voir la Liste de toutes les variables de PrusaSlicer., regroupées en fonction de leur portée.

 

Variables scalaires

Ces valeurs sont scalaires et peuvent être directement référencées.

  • printer_notes (chaîne)
  • layer_z (uniquement disponible dans le GCode de changement de couche)
  • layer_num (uniquement disponible dans le GCode de changement de couche)
  • toolchange_z (disponible dans le G-Code de changement d'outil personnalisé depuis la version 2.4.0)

Certaines variables sont définies par des formules complexes. Par exemple, si perimeter_extrusion_width est laissée à zéro, elle prend la valeur d'extrusion_width, si non nulle, une valeur par défaut de perimeter_extrusion_width est calculée pour la layer_height courante. Ces substitutions ne sont effectuées que pour les expressions de la nouvelle syntaxe (entre accolades {}), tandis que les expressions écrites à l'aide de l'ancienne syntaxe d'espace réservé (entre accolades []) sont interprétées textuellement.

Vecteurs (variables sous forme de tableau)

Ces variables sont des tableaux et doivent être accédées en tant que telles (par exemple, temperature[0]).

  • temperature
  • first_layer_temperature
  • bed_temperature (notez qu'il s'agit d'un vecteur, même si une seule valeur a du sens : bed_temperature[0])
  • first_layer_bed_temperature (comme ci-dessus !)

Tableaux multidimensionnels

Ces variables ne sont accessibles que sous forme de tableaux simples et ne peuvent pas être utilisées dans les expressions arithmétiques.

  • extruder_offset
  • bed_shape

Exemples

Tour de température

Vous pouvez utiliser le G-code personnalisé "Avant changement de couche" pour diminuer lentement la température de la hotend. Tout d'abord, on peut utiliser l'expression if/elseif/else :

 Le même résultat peut être obtenu par une expression if/else/endif plus courte avec une interpolation linéaire :

Ou on peut utiliser l'opérateur ternaire :

Chauffe plus rapide avec des chauffages de plateau faibles avant l'impression

Si vous avez un plateau qui met beaucoup de temps à atteindre sa température, vous pouvez réduire un peu le temps d'attente en utilisant le "G-code de début" pour chauffer le plateau à la température cible moins 5 degrés, puis en commençant à chauffer la hotend pendant que le plateau continue de chauffer jusqu'à la valeur cible :

 

Cet article vous a-t-il été utile ?
Cette action n'est disponible que pour les utilisateurs enregistrés. Veuillez vous connecter.