Maker des bois Posté(e) Janvier 21, 2023 Posté(e) Janvier 21, 2023 Bonjour a tous, J'aimerai savoir ou est t'il possible de modifier la position de la buse en cas d'annulation d'impression? Ou ce situe cette macro?
PierreG Posté(e) Janvier 22, 2023 Posté(e) Janvier 22, 2023 @Maker des bois Si tu parles de Klipper, la macro, c'est toi qui la créé, dans ton fichier printer.cfg. Voici un exemple de ma macro : [gcode_macro CANCEL_PRINTING] gcode: G91 # Position relative G10 # Retract un peu G0 Z20 F600 # Monte le Z de 20mm G90 # Position Absolu G0 X0 Y290 F2000 # Place la tete et avance le plateau M104 S0 # Désactive la chauffe M140 S0 M106 S0 # Désactive le fan 1
Maker des bois Posté(e) Janvier 22, 2023 Auteur Posté(e) Janvier 22, 2023 Salut, oui désolé j'aurai pu préciser... Le mien ressemble a ca: gcode_macro CANCEL_PRINT] description: Cancel the actual running print rename_existing: CANCEL_PRINT_BASE variable_park: True gcode: ## Move head and retract only if not already in the pause state and park set to true {% if printer.pause_resume.is_paused|lower == 'false' and park|lower == 'true'%} _TOOLHEAD_PARK_PAUSE_CANCEL {% endif %} TURN_OFF_HEATERS CANCEL_PRINT_BASE Effectivement si il est ecrit comme le tiens, il est tres facile de le modifier comme bon me semble. Je debute avec Python et Klipper J'ai fait pas mal de copié coller pour mon printer.cfg, je comprend le langage quand il est simple, comme ce que tu m'a envoyé mais je ne comprend pas quand c'est ecrit comme la partie que je t'ai envoyé Je pense que je vais le refaire comme tu me la dit. Comme il est ecrit dans mon printer.cfg je me demande ou sont écrit les déplacement de la buse. Voici aussi mon macro_resume, ecrit de la meme facon [gcode_macro RESUME] description: Resume the actual running print rename_existing: RESUME_BASE gcode: ##### read extrude from _TOOLHEAD_PARK_PAUSE_CANCEL macro ##### {% set extrude = printer['gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL'].extrude %} #### get VELOCITY parameter if specified #### {% if 'VELOCITY' in params|upper %} {% set get_params = ('VELOCITY=' + params.VELOCITY) %} {%else %} {% set get_params = "" %} {% endif %} ##### end of definitions ##### {% if printer.extruder.can_extrude|lower == 'true' %} M83 G1 E{extrude} F2100 {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %} {% else %} {action_respond_info("Extruder not hot enough")} {% endif %} RESUME_BASE {get_params} Et voici ma macro _TOOLHEAD_PARK_PAUSE_CANCEL: [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL] description:outil pour le menu pause variable_extrude: 1.0 gcode: ##### définir la position du parc pour x et y ##### # La valeur par défaut est la position maximale de votre printer.cfg {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} {% set z_park_delta = 2.0 %} ##### calculer la position de l'ascenseur de sauvegarde ???? ##### {% set max_z = printer.toolhead.axis_maximum.z|float %} {% set act_z = printer.toolhead.position.z|float %} {% if act_z < (max_z - z_park_delta) %} {% set z_safe = z_park_delta %} {% else %} {% set z_safe = max_z - act_z %} {% endif %} ##### end of definitions ##### {% if printer.extruder.can_extrude|lower == 'true' %} M83 G1 E-{extrude} F2100 {% if printer.gcode_move.absolute_extrude |lower == 'true' %} M82 {% endif %} {% else %} {action_respond_info("Extruder not hot enough")} {% endif %} {% if "xyz" in printer.toolhead.homed_axes %} G91 G1 Z{z_safe} F900 G90 G1 X{x_park} Y{y_park} F6000 {% if printer.gcode_move.absolute_coordinates|lower == 'false' %} G91 {% endif %} {% else %} {action_respond_info("Printer not homed")} {% endif %} Et tous ca je n'y comprend rien
PierreG Posté(e) Janvier 22, 2023 Posté(e) Janvier 22, 2023 il y a 10 minutes, Maker des bois a dit : ##### définir la position du parc pour x et y ##### # La valeur par défaut est la position maximale de votre printer.cfg {% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %} {% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %} {% set z_park_delta = 2.0 %} Ce que je comprends de ce code, c'est qu'il positionne la tete à X190 Y190 ( 200 - 5%) et que le Z monte de 4mm Mais je ne comprends pas trop le principe de l'ascenseur de sauvegarde ! Peut-être pour ne pas aller taper dans le Maximum en Z sur des grosses pieces ?? 1
Maker des bois Posté(e) Janvier 22, 2023 Auteur Posté(e) Janvier 22, 2023 (modifié) En faite mon code vient claquer en max_X et max_Y Pourquoi aller en X_max alors qu'il pourrai utiliser le end_stop X, que la buse aille a droite ou a gauche cela ne change rien. Pour le Y forcement il faut avancer le plateau pour présenter la pièce, mais je préférerai que le plateau aille en Y=230 plutôt qu'a son max (235 ENDER 3 PRO) Pour le Z je préfère lui demander de monter de 20mm avec une condition limitante si il est a moins de 20 mm du max. Et je n'ai encore jamais été au max du Z. Au max je suis monter a 15 cm (que des pieces mecanique jamais de figurine) j'ai tendance a utiliser la surface plutôtque la hauteur. De plus je peu enlever dans le slicer 20mm sur le Z ce qui me garanti que je ne monterai pas plus haut que possible. Je préfère ton code, il est plus simple et je le comprend. Je vais changer le mien, peux tu m'envoyer tes 3 macro en question, pour que j'en prenne exemple. Au moins je comprendrai enfin mon code printer.cfg en entier. Modifié (le) Janvier 22, 2023 par Maker des bois
PierreG Posté(e) Janvier 22, 2023 Posté(e) Janvier 22, 2023 Je peut t'envoyer mes macros, tu piocheras ce que tu as besoin... Mais les macros Pause et Resume ne sont pas définis encore !!! ###################################################################### # Macros ###################################################################### [gcode_macro START_PRINT] gcode: G90 # Use absolute coordinates # Reset Pressure Advance to 0, will be adjusted later in gcode based on material settings from cura #M900 K0 BED_MESH_PROFILE LOAD=default # Use the bed mesh G1 X2 Y30 Z5 F6000 # Move the nozzle near the purge beginning M117 Waiting for temperature PURGE # Prime line M117 Impression... [gcode_macro END_PRINT] gcode: M117 Impression terminee :) G91 # Move nozzle away from print while retracting G1 X-2 Y-2 E-3 F300 G1 Z10 F3000 # Raise nozzle by 10mm G90 # absolute xy G1 X5 Y295 F2000 M104 S0 # Turn off hotend, heated bed and fan M140 S0 M106 S0 M84 # disable steppers BED_MESH_CLEAR [gcode_macro PURGE] gcode: M117 Prime Line G92 E0 ;Reset Extruder # move z axis G1 Z2.0 F3000 ;Move Z Axis up # move to prime position G1 X2 Y30 Z0.20 F5000.0 ;Move to start position G1 X2 Y200.0 Z0.20 F1500.0 E15 ;Draw the first line G1 X2.4 Y200.0 Z0.20 F5000.0 ;Move to side a little G1 X2.4 Y50 Z0.20 F1500.0 E30 ;Draw the second line G92 E0 ;Reset Extruder G1 Z2.0 F3000 ;Move Z Axis up G1 X5 Y20 Z0.2 F5000 ; Move over to prevent blob squish # G29 => (1) home all (2) get bed mesh (3) move nozzle to corner so it doesnt ooze on the bed while heating up. [gcode_macro G29] gcode: G28 M190 S60 BED_MESH_CALIBRATE METHOD=automatic M125 #BED_MESH_PROFILE SAVE=default SAVE_CONFIG # Park toolhead [gcode_macro M125] gcode: SAVE_GCODE_STATE NAME=parking M117 Parking toolhead G91 G1 Z10 F600 # move up 10 mm G90 G1 X150 Y300 F4000 # move to park position RESTORE_GCODE_STATE NAME=parking # LOW_TEMP_CHECK checks if there is a setpoint for the extruder. # - If this setpoint is reached, continue. # - If not, heat to setpoint. # - If no setpoint, heat to parameter T (default@200) [gcode_macro LOW_TEMP_CHECK] #variable_T: 200 gcode: {% set T = params.T|default(200)|float %} {% if printer.extruder.target != 0 %} # if there is a setpoint for extruder {% if printer.extruder.temperature < printer.extruder.target %} # if not reached, heat M118 Heating from {printer.extruder.temperature} to {printer.extruder.target}. M109 S{printer.extruder.target|float} {% endif %} {% else %} # if no setpoint for extruder {% if printer.extruder.target < param.T %} # heat to T. M118 No setpoint, heating to {param.T}. M109 S{param.T} {% endif %} {% endif %} # load filament [gcode_macro M701] gcode: SAVE_GCODE_STATE NAME=loading_filament M117 Loading Filament M83 G92 E0.0 LOW_TEMP_CHECK G1 E80 F2100 # Premier 80mm rapide G1 E20 F600 # purge --> lentement G92 E0.0 RESTORE_GCODE_STATE NAME=loading_filament # unload filament [gcode_macro M702] gcode: SAVE_GCODE_STATE NAME=unloading_filament M125 # park M117 Unloading Filament LOW_TEMP_CHECK G91 # set relative G1 E3 F100 # preparation retrait en extrudant un peu de filament G92 E0.0 # Tete CR10V2 G1 E-15 F1500 # retraction primaire G1 E-85 F1800 # retrait hors tete G92 E0.0 RESTORE_GCODE_STATE NAME=unloading_filament # M600: Filament Change. This macro will pause the printer, move the # tool to the change position, and retract the filament 50mm. Adjust # the retraction settings for your own extruder. After filament has # been changed, the print can be resumed from its previous position # with the "RESUME" gcode. [gcode_macro M600] gcode: {% set X = params.X|default(30)|float %} {% set Y = params.Y|default(30)|float %} {% set Z = params.Z|default(10)|float %} SAVE_GCODE_STATE NAME=M600_state PAUSE G91 G1 E-.8 F2700 G1 Z{Z} G90 G1 X{X} Y{Y} F3000 G91 G1 E-50 F1000 RESUME RESTORE_GCODE_STATE NAME=M600_state MOVE=1 [gcode_macro CANCEL_PRINTING] gcode: G91 # Relative position G10 G0 Z20 F600 # Move Z up 20mm G90 # Absolute position G0 X0 Y290 F2000 # Park the nozzle and present print M104 S0 # Disable all heaters M140 S0 M106 S0 # Disable fan 1
Maker des bois Posté(e) Janvier 22, 2023 Auteur Posté(e) Janvier 22, 2023 (modifié) il y a 19 minutes, PierreG a dit : {% set X = params.X|default(30)|float %} peut tu m'expliquer cette ligne vite fait sinon je ferai des recherches. { } ?? % %?? | ?? Et bien merci pour toutes tes macros, ca va mettre utile pour avoir un printer.cfg qui me conviens. Modifié (le) Janvier 22, 2023 par Maker des bois
fran6p Posté(e) Janvier 22, 2023 Posté(e) Janvier 22, 2023 (modifié) La syntaxe est du jinja2: {% … %} Les … correspondent à la variable utilisée (set) . Donc X = le paramètre X passé lors de l'appel de la macro, si ce paramètre est absent, la valeur par défaut sera de 30, cette valeur est numérique de type flottant (float). Donc en résumé: Ce qui se trouve entre {% et %} correspond à une variable à laquelle on peut attribuer une valeur par défaut ( |default(30) et dont on précise le type ( |float ). Bine mettre un espace après le % et avant le % Modifié (le) Janvier 22, 2023 par fran6p
Maker des bois Posté(e) Janvier 22, 2023 Auteur Posté(e) Janvier 22, 2023 il y a 6 minutes, fran6p a dit : Ce qui se trouve entre {% et %} correspond à une variable Salut fran6p Je l'avais déja lu mais j'ai oublié, merci. Je vous ai posé la question par facilité et gain de temps mais il va falloir que je regarde qq tutos pour me mettre au niveau. il y a 8 minutes, fran6p a dit : on peut attribuer une valeur par défaut ( |default(30) et dont on précise le type ( |float ). Bine mettre un espace après le % et avant le % Ok c'est la facon d'ecrire en python la définition d'une variable, son type et sa valeur par défaut. Basique... Ce sont des bribes de bases que j'ai ^^
fran6p Posté(e) Janvier 22, 2023 Posté(e) Janvier 22, 2023 (modifié) Les briques sont essentielles à une bonne fondation Dans ton «ancienne» macro, les positions de déplacement lors d'une pause utilisent les paramètres ( position_max: ) définis dans les sections [stepper_x] et [stepper_y] via les variables « printer.toolhead.axis_maximum.x|float - 5.0 », de type flottant moins 5%, tu pourrais mettre des valeurs «fixes», par exemple: set x_park = 220|float (si tu veux déplacer la tête en X à 220 et que l'imprimante en est physiquement capable ) Je pense que le terme «ascenseur» fait plutôt référence au décalage (offset) à appliquer pour l'axe Z. La documentation de Klipper n'est pas encore totalement disponible en français ( @Savateet moi y contribuons ), en attendant tu peux tout de même consulter une «pré-version», par exemple ici. Modifié (le) Janvier 22, 2023 par fran6p
Maker des bois Posté(e) Janvier 22, 2023 Auteur Posté(e) Janvier 22, 2023 il y a 11 minutes, fran6p a dit : Dans ton «ancienne» macro, les positions de déplacement lors d'une pause utilisent les paramètres ( position_max: ) définis dans les sections [stepper_x] et [stepper_y] via les variables « printer.toolhead.axis_maximum.x|float - 5.0 », de type flottant moins 5%, tu pourrais mettre des valeurs «fixes», par exemple: set x_park = 220|float (si tu veux déplacer la tête en X à 220 et que l'imprimante en est physiquement capable ) La documentation de Klipper n'est pas encore totalement disponible en français ( @Savateet moi y contribuons ), en attendant tu peux tout de même consulter une «pré-version», par exemple ici. OH MERCI il y a 12 minutes, fran6p a dit : Les briques sont essentielles à une bonne fondation Oui je sais bien, mais très peu de temps et tellement de choses intéressantes... Je bidouille dans le solaire et la mécanique avec un peu d’électronique aussi. L'impression 3D ce n'est que par période, quand il ne fait pas trop froid dans l'atelier, quand il y a l'elec pour l'alimenter, et avant c'etait aussi quand il y a une connexion internet... Je fait ce que je peux ... Une autre question vite fait: comment puis je modifier le homing? (vitesse et distance du deuxieme homing)
willy2406 Posté(e) Janvier 23, 2023 Posté(e) Janvier 23, 2023 Il y a 22 heures, Maker des bois a dit : Une autre question vite fait: comment puis je modifier le homing? (vitesse et distance du deuxieme homing) Par exemple, pour l'axe Z, j'ai ça, c'est le même principe pour les 3 axes. [stepper_z] step_pin: PL3 #ar46 dir_pin: !PL1 #!ar48 enable_pin: !PK0 #!ar62 microsteps: 16 rotation_distance: 8 full_steps_per_rotation: 200 position_max: 350 #ParMAtt position_min: -4 # ParMAtt For the TouchMi endstop_pin: probe:z_virtual_endstop homing_speed: 8 homing_retract_dist: 10.0 homing_retract_speed: 10 second_homing_speed: 4 #position_endstop: 0.0 #Do not define because of the TouchMi 1
fran6p Posté(e) Janvier 23, 2023 Posté(e) Janvier 23, 2023 L'explication (en français) des paramètres liés à la vitesse de mise à l'origine, des sections [stepper???] : https://github.com/Klipper3d/klipper-translations/blob/translations/docs/locales/fr/Config_Reference.md#stepper 1
Maker des bois Posté(e) Janvier 24, 2023 Auteur Posté(e) Janvier 24, 2023 (modifié) Le 23/01/2023 at 14:32, willy2406 a dit : homing_speed: 8 homing_retract_dist: 10.0 homing_retract_speed: 10 second_homing_speed: 4 Salut @willy2406, parfait c'est exactement ce que je cherchais. Merci Je me doutais bien qu'il y avait un truc dans le genre, mais je ne connaissais pas le nom des variables permettant de le faire. (Y'a des gros bugs sur le site aujd) (Y'a des gros bugs sur le site aujd) (Y'a des gros bugs sur le site aujd) (Y'a des gros bugs sur le site aujd) (Y'a des gros bugs sur le site aujd) Modifié (le) Janvier 24, 2023 par Maker des bois
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