FBR39120 Posté(e) Septembre 6, 2022 Posté(e) Septembre 6, 2022 (modifié) Bonjour, Je galère avec les macros dans klipper, je possède une ender 3 pro avec carte 4.2.7. Actuellement j'utilise le gcode de début par défaut de prusa slicer et une macro END_PRINT que j'ai réussi à faire et qui marche plutôt bien. Par contre j'aimerais uniformiser une fois pour toute avec une START_PRINT et un END_PRINT issu des macros Klipper. Mon souci c'est que ma macro START_PRINT ne fonctionne pas j'ai ce message d'erreur dans la console 20:09:21 File opened:xyzCalibration_cube_39m_0.20mm_205C_PLA_ENDER3.gcode Size:365841 20:09:21 File selected 20:09:47 // Unknown command:"START_PRINT" 20:10:59 !! Must home axis first: 0.000 210.000 0.230 [1423.833] ma macro Start_print [gcode_macro START_PRINT] default_parameter_BED_TEMP: 60 default_parameter_EXTRUDER_TEMP: 195 gcode: G28 ;Home G29 ;Load Mesh Bed Level # Start bed heating M117 Heating bed M140 S{BED_TEMP} # Use absolute coordinates G90 # Reset the G-Code Z offset (adjust Z offset if needed) SET_GCODE_OFFSET Z=0.0 # Home the printer G28 # Move the nozzle near the bed G1 Z5 F3000 # Move the nozzle very close to the bed G1 Z0.15 F300 # Wait for bed to reach temperature M190 S{BED_TEMP} # Start nozzle heating M117 Heating nozzle M104 S{EXTRUDER_TEMP} # Set and wait for nozzle to reach temperature M109 S{EXTRUDER_TEMP} # Prime line PRIME_EXTRUDER M117 Printing Si quelqu'un a une idée. j'ai tenté la commande G28 avant de lancer l'impression ça coince aussi. Je suis à l'ouest complet et pourtant j'ai pas bougé du jura Modifié (le) Septembre 6, 2022 par FBR39120
fran6p Posté(e) Septembre 7, 2022 Posté(e) Septembre 7, 2022 Les variables «default_parameter_» sont «dépréciées», il est préférable d'utiliser la syntaxe «{% set … %}». Par exemple mon START_PRINT (fonctionnel) : Citation [gcode_macro START_PRINT] #variable_T_BED: 60 #variable_T_EXTRUDER: 200 #variable_STANDBY_T_EXTRUDER: 170 gcode: {% set T_BED = params.T_BED|default(60)|float %} {% set T_EXTRUDER = params.T_EXTRUDER|default(200)|float %} {% set STANDBY_T_EXTRUDER = params.STANDBY_T_EXTRUDER|default(170)|float %} M117 Homing # Use absolute coordinates G90 # Reset Pressure Advance to 0, will be adjusted later in gcode based on material settings from cura #M900 K0 # Reset the G-Code Z offset (adjust Z offset if needed) SET_GCODE_OFFSET Z=0.0 # Home the printer G28 # Use the bed mesh #G29 BED_MESH_PROFILE LOAD=cr10v2 # Move the nozzle near the bed G1 X15 Y20 Z5 F6000 # Move the nozzle very close to the bed G1 Z0.15 F300 M117 Waiting for temperature # Start bed and extruder heating and continue M104 S{STANDBY_T_EXTRUDER} M140 S{T_BED} {% if printer.heater_bed.temperature < params.T_BED|float*0.85 %} M190 S{params.T_BED|float*0.85} # wait till 0.85 of bed temp is reached, then continue {% endif %} M140 S{T_BED} M104 S170 M190 S{T_BED} M109 S{T_EXTRUDER} # Prime line PURGE M117 Printing...
FBR39120 Posté(e) Septembre 7, 2022 Auteur Posté(e) Septembre 7, 2022 Merci, alors question car je suis un vrai noob et ça ne veut pas rentrer; du moins pas aussi vite que je voudrais. Si je réécris comme ça est ce que ça fonctionnera ? [gcode_macro START_PRINT] #variable_T_BED: 60 #variable_T_EXTRUDER: 200 #variable_STANDBY_T_EXTRUDER: 170 gcode: {% set T_BED = params.T_BED|default(60)|float %} {% set T_EXTRUDER = params.T_EXTRUDER|default(200)|float %} {% set STANDBY_T_EXTRUDER = params.STANDBY_T_EXTRUDER|default(170)|float %} G28 ;Home G29 ;Load Mesh Bed Level # Start bed heating M117 Heating bed M140 S{BED_TEMP} # Use absolute coordinates G90 # Reset the G-Code Z offset (adjust Z offset if needed) SET_GCODE_OFFSET Z=0.0 # Home the printer G28 # Move the nozzle near the bed G1 Z5 F3000 # Move the nozzle very close to the bed G1 Z0.15 F300 # Wait for bed to reach temperature M190 S{BED_TEMP} # Start nozzle heating M117 Heating nozzle M104 S{EXTRUDER_TEMP} # Set and wait for nozzle to reach temperature M109 S{EXTRUDER_TEMP} # Prime line PRIME_EXTRUDER M117 Printing
fran6p Posté(e) Septembre 7, 2022 Posté(e) Septembre 7, 2022 Normalement oui. Tu as juste supprimé la ligne concernant mon Bltouch (récupération du maillage enregistré) et modifié l'appel pour faire la ligne de purge que je nomme simplement PURGE et toi PRIME_EXTRUDER Dans ma macro, la buse préchauffe à 170°C et ne monte en température d'extrusion que quand le plateau chauffant est à température. Quelle ligne de commande utilises-tu dans le Gcode de démarrage de ton trancheur ?
FBR39120 Posté(e) Septembre 7, 2022 Auteur Posté(e) Septembre 7, 2022 (modifié) Alors j'utilise le Gcode par défaut de prusa, G90 ; use absolute coordinates M83 ; extruder relative mode M140 S{first_layer_bed_temperature[0]} ; set final bed temp M104 S150 ; set temporary nozzle temp to prevent oozing during homing G4 S10 ; allow partial nozzle warmup G28 ; home all axis G1 Z50 F240 G1 X2 Y10 F3000 M104 S{first_layer_temperature[0]} ; set final nozzle temp M190 S{first_layer_bed_temperature[0]} ; wait for bed temp to stabilize M109 S{first_layer_temperature[0]} ; wait for nozzle temp to stabilize G1 Z0.28 F240 G92 E0 G1 Y140 E10 F1500 ; prime the nozzle G1 X2.3 F5000 G92 E0 G1 Y10 E10 F1200 ; prime the nozzle G92 E0 Modifié (le) Septembre 7, 2022 par FBR39120
fran6p Posté(e) Septembre 7, 2022 Posté(e) Septembre 7, 2022 Tu n'appelles pas la macro Mon Gcode de démarrage avec Cura se résume à : Citation ; gcode macro Klipper START_PRINT T_BED={material_bed_temperature_layer_0} T_EXTRUDER={material_print_temperature_layer_0} STANDBY_T_EXTRUDER={material_standby_temperature} Celui de fin (nécessite la présence d'une macro nommée END_PRINT évidemment) : Citation ; gcode macro Klipper END_PRINT
FBR39120 Posté(e) Septembre 7, 2022 Auteur Posté(e) Septembre 7, 2022 Ah oui pardon, actuellement c'est comme ça pour le début car fluidd plante sinon. Quand j'utilise les macros klipper c'est comme ça START_PRINT pour le gcode de début et END_PRINT pour le gcode de fin. D'ailleurs j'ai une macro pour le END_PRINT qui fonctionne bien c'est le début qui coince
FBR39120 Posté(e) Septembre 11, 2022 Auteur Posté(e) Septembre 11, 2022 (modifié) Le 07/09/2022 at 18:59, fran6p a dit : ; gcode macro Klipper START_PRINT T_BED={material_bed_temperature_layer_0} T_EXTRUDER={material_print_temperature_layer_0} STANDBY_T_EXTRUDER={material_standby_temperature} J'ai mis ce gcode dans prusa slicer et lors du tranchage, il m'indique une erreur G-code export to C:\Users\FRANCOIS\AppData\Local\Temp\.18408.gcode failed due to invalid custom G-code sections: start_gcode Parsing error at line 2: Not a variable name START_PRINT T_BED={material_bed_temperature_layer_0} T_EXTRUDER={material_print_temperature_layer_0} STANDBY_T_EXTRUDER={material_standby_temperature} ^ Please inspect the file C:\Users\FRANCOIS\AppData\Local\Temp\.18408.gcode.tmp for error messages enclosed between !!!!! Failed to process the custom G-code template ... and !!!!! End of an error report for the custom G-code template ... for all macro processing errors. Si je ne veux plus avoir de message d'erreur il faut que j'écrive seulement : START_PRINT Et donc lorsque j'écris la macro, et que je fais un save and restart voilà ce que j'ai comme message : Option '{% set t_bed' is not valid in section 'gcode_macro start_print' Once the underlying issue is corrected, use the "RESTART" command to reload the config and restart the host software. Printer is halted VOICI LA MACRO [gcode_macro START_PRINT] #variable_T_BED: 60 #variable_T_EXTRUDER: 200 #variable_STANDBY_T_EXTRUDER: 170 gcode: {% set T_BED = params.T_BED|default(60)|float %} {% set T_EXTRUDER = params.T_EXTRUDER|default(200)|float %} {% set STANDBY_T_EXTRUDER = params.STANDBY_T_EXTRUDER|default(170)|float %} G28 ;Home G29 ;Load Mesh Bed Level # Start bed heating M117 Heating bed M140 S{BED_TEMP} # Use absolute coordinates G90 # Reset the G-Code Z offset (adjust Z offset if needed) SET_GCODE_OFFSET Z=0.0 # Home the printer G28 # Move the nozzle near the bed G1 Z5 F3000 # Move the nozzle very close to the bed G1 Z0.15 F300 # Wait for bed to reach temperature M190 S{BED_TEMP} # Start nozzle heating M117 Heating nozzle M104 S{EXTRUDER_TEMP} # Set and wait for nozzle to reach temperature M109 S{EXTRUDER_TEMP} # Prime line PRIME_EXTRUDER M117 Printing Modifié (le) Septembre 11, 2022 par FBR39120 entre temps il s'en est passé des choses
PPAC Posté(e) Septembre 11, 2022 Posté(e) Septembre 11, 2022 Salutation il faut noter que la syntaxe et mots clé de remplacement ne sont pas les même pour Prusa Slicer ( https://help.prusa3d.com/article/macros_1775#variables-placeholders ) . Il y a 7 heures, FBR39120 a dit : Le 07/09/2022 at 18:59, fran6p a dit : ; gcode macro Klipper START_PRINT T_BED={material_bed_temperature_layer_0} T_EXTRUDER={material_print_temperature_layer_0} STANDBY_T_EXTRUDER={material_standby_temperature} J'ai mis ce gcode dans prusa slicer et lors du tranchage, il m'indique une erreur là cela ressemble a la syntaxe et mots clé de remplacement a utiliser sous Ultimaker Cura ( http://files.fieldofview.com/cura/Replacement_Patterns.html ) . Donc tu cherche a remplacer dans le g-code de démarrage sous Prusa Slicer {material_bed_temperature_layer_0} par sont équivalent pour Prusa Slicer qui il me semble est {first_layer_bed_temperature[0]} ou [first_layer_bed_temperature] {material_print_temperature_layer_0} par {first_layer_temperature[0]} ou [first_layer_temperature] {material_standby_temperature} par ? Pour le reste, comme je n'ai pas encore joué avec Klipper, je ne sais pas. 1
FBR39120 Posté(e) Septembre 11, 2022 Auteur Posté(e) Septembre 11, 2022 ça ne fonctionne pas non plus il y a une heure, PPAC a dit : Salutation il faut noter que la syntaxe et mots clé de remplacement ne sont pas les même pour Prusa Slicer ( https://help.prusa3d.com/article/macros_1775#variables-placeholders ) . là cela ressemble a la syntaxe et mots cl Donc tu cherche a remplacer dans le g-code de démarrage sous Prusa Slicer {material_bed_temperature_layer_0} par sont équivalent pour Prusa Slicer qui il me semble est {first_layer_bed_temperature[0]} ou [first_layer_bed_temperature] {material_print_temperature_layer_0} par {first_layer_temperature[0]} ou [first_layer_temperature] {material_standby_temperature} par ? Pour le reste, comme je n'ai pas encore joué avec Klipper, je ne sais pas. ça ne fonctionne pas non plus, mais il y a du mieux. J'ai mis ceci dans prusa. puis j'ai utilisé ma macro dans klipper, je n'ai plus de messages d'erreur mais je me suis confronté à un autre problème qui vient de la ligne de commande de variable, le problème c'est que pour imprimer l'abs mon bed est à 100°C et ma buse à 245°C, tout monte convenablement pour ensuite voir le bed redescendre à 60°C {% set T_BED = params.T_BED|default(60)|float %} {% set T_EXTRUDER = params.T_EXTRUDER|default(200)|float %}
fran6p Posté(e) Septembre 11, 2022 Posté(e) Septembre 11, 2022 il y a 42 minutes, FBR39120 a dit : J'ai mis ceci dans prusa. Qu'est-ce que tu as mis ? ? ? C'est normal que les températures redescendent si tu n'utilises que START_PRINT sans indiquer les températures cibles, ce sont celles par défaut qui seront utilisées (default(60), defautl(200)). Le G-code de début que j'utilise pour la CR10V2 avec Klipper (celui de fin est identique à celui de Cura) : Citation ; gcode macro Klipper START_PRINT T_BED=[first_layer_bed_temperature] T_EXTRUDER=[first_layer_temperature]
FBR39120 Posté(e) Septembre 11, 2022 Auteur Posté(e) Septembre 11, 2022 il y a 4 minutes, fran6p a dit : Qu'est-ce que tu as mis ? ? ? oups ça n'a pas collé la bonne image, donc j'ai mis ça : START_PRINT T_BED=[first_layer_bed_temperature] T_EXTRUDER=[first_layer_temperature] il y a du mieux, je n'ai plus d'erreur en chargeant le fichier depuis prusaslicer vers l'imprimante et plus d'erreur non plus lorsque je veux démarrer l'impression. En premier il chauffe le bed puis en second la buse ensuite ça coince. On verra bien à force de lire en long en large et en travers je ne sais plus trop où j'en suis. Ah oui et la macro que j'utilise est la suivante (elle n'a pas changé mais j'ai tellement tenter des trucs qu'au final j'ai dû tourner en rond) [gcode_macro START_PRINT] #variable_T_BED: 60 #variable_T_EXTRUDER: 200 #variable_STANDBY_T_EXTRUDER: 170 gcode: {% set T_BED = params.T_BED|default(60)|float %} {% set T_EXTRUDER = params.T_EXTRUDER|default(200)|float %} {% set STANDBY_T_EXTRUDER = params.STANDBY_T_EXTRUDER|default(170)|float %} M117 Homing # Use absolute coordinates G90 # Reset Pressure Advance to 0, will be adjusted later in gcode based on material settings from cura #M900 K0 # Reset the G-Code Z offset (adjust Z offset if needed) SET_GCODE_OFFSET Z=0.0 # Home the printer G28 # Move the nozzle near the bed G1 X15 Y20 Z5 F6000 # Move the nozzle very close to the bed G1 Z0.15 F300 M117 Waiting for temperature # Start bed and extruder heating and continue M104 S{STANDBY_T_EXTRUDER} M140 S{T_BED} {% if printer.heater_bed.temperature < params.T_BED|float*0.85 %} M190 S{params.T_BED|float*0.85} # wait till 0.85 of bed temp is reached, then continue {% endif %} M140 S{T_BED} M104 S170 M190 S{T_BED} M109 S{T_EXTRUDER} # Prime line PURGE M117 Printing... Donc en même que je rédige ces lignes, j'ai lancé une impression. Et oh miracle ça fonctionne. 1
fran6p Posté(e) Septembre 13, 2022 Posté(e) Septembre 13, 2022 Le 11/09/2022 at 19:57, FBR39120 a dit : Et oh miracle ça fonctionne. Il n'y a pas de «miracles» Quand on utilise les bons «placeholders» et leur syntaxe (sainte Axe ) ( {} pour Cura et [] pour Prusa/super-slicer), normalement ça fonctionne. Tu as bien renommé ta macro «PRIME_EXTRUDER” en «PURGE» ? Sinon la ligne de purge ne se réalisera pas et Klipper devrait d'ailleurs te le signaler. 1
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant