lezaii Posté(e) Janvier 19, 2024 Posté(e) Janvier 19, 2024 Bonjour à tous, Je rencontre un problème en ce moment avec ma nouvelle installation de klipper, mainsail et OrcaSlicer. Après quelques souci de compréhension concernant les macro, tout fonctionne bien dorénavant.impression de benchy et cube pour la calibration: on est bon. Je m'attaque maintenant au Pressure advance mais pour une raison qui m'échappe klipper me renvoi une erreur. Tout d'abord: - je suis obligé de chauffer le plateau et la buse manuellement sinon klipper renvoi l'erreur "extruder not hot enough" pourtant dans ma macro start_print je demande bien la chauffe et cela fonctionnait pour les autres fichier avant (benchy cube etc...) -Je rentre donc la température manuellement, l'imprimante fais son G28 mais reste en butée en X et Y et me renvoi l'erreur "Must home axis first: 220.000 220.000 0.163 [-23.000]" J'ai beau tenté de refaire le homing cela me renvoi toujours à cette erreur et je ne trouve pas d'info sur le net. Voilà ma macro start modifié avec les variable de température plutôt que des température fixe que j’utilisais avant (seul modification effectué depuis l’impression des benchy ainsi que le z offset [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 %} gcode: M82 ;absolute extrusion mode BED_MESH_PROFILE LOAD=E5Pklipp # 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} G90 ; Absolute position G92 E0 ;Reset Extruder G1 Z2.0 F3000 ;Move Z Axis up G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line G92 E0 ;Reset Extruder G1 E-2 F1800 ;retract 2mm at 30mm/s G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed G1 E1.8 F1800 ;retract 2mm at 30mm/s G92 E0 G1 F2700 E-5 et voici mon start gcode dans OrcaSlicer. START_PRINT T_BED=[first_layer_bed_temperature] T_EXTRUDER=[first_layer_temperature] Si vous pouviez éclairé ma lanterne ce serait top car je nage en eau trouble ^^ En vous remerciant d'avance
Savate Posté(e) Janvier 19, 2024 Posté(e) Janvier 19, 2024 (modifié) il y a une heure, lezaii a dit : Voilà ma macro start modifié avec les variable de température plutôt que des température fixe que j’utilisais avant vire le deuxième gcode [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 %} gcode: <-- A VIRER M82 ;absolute extrusion mode BED_MESH_PROFILE LOAD=E5Pklipp et là tu veux faire quoi exactement ? M117 Waiting for temperature # Start bed and extruder heating and continue M104 S{STANDBY_T_EXTRUDER} ; chauffer la buse sans attendre à STANDBY_T_EXTRUDER M140 S{T_BED} ; chauffer le lit sans attendre à la t° T_BED ; si plateau congelé, alors lancer la chauffe avec attente à 85% de la t° ... pourquoi pas mais bon ... {% 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} ; et puis maintenant on continue à chauffer le lit ... M104 S170 ; on monte la buse à 170 ... (elle n'aime pas être chauffée ta buse ?) et tu aurais pu remettre la variable ... M190 S{T_BED} ; ah on met le lit à la bonne t° et on attend M109 S{T_EXTRUDER} ; et la buse va enfin atteindre la t° de consigne pour quoi ne pas mettre M104 S{T_EXTRUDER} ; chauffer la buse sans attendre à T_EXTRUDER M140 S{T_BED} ; chauffer le lit sans attendre à la t° T_BED M190 S{T_BED} ; attendre que le lit soit chaud M109 S{T_EXTRUDER} ; attendre que la buse soit chaude Modifié (le) Janvier 19, 2024 par Savate
lezaii Posté(e) Janvier 19, 2024 Auteur Posté(e) Janvier 19, 2024 il y a 15 minutes, Savate a dit : et là tu veux faire quoi exactement ? M117 Waiting for temperature # Start bed and extruder heating and continue M104 S{STANDBY_T_EXTRUDER} ; chauffer la buse sans attendre à STANDBY_T_EXTRUDER M140 S{T_BED} ; chauffer le lit sans attendre à la t° T_BED ; si plateau congelé, alors lancer la chauffe avec attente à 85% de la t° ... pourquoi pas mais bon ... {% 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} ; et puis maintenant on continue à chauffer le lit ... M104 S170 ; on monte la buse à 170 ... (elle n'aime pas être chauffée ta buse ?) et tu aurais pu remettre la variable ... M190 S{T_BED} ; ah on met le lit à la bonne t° et on attend M109 S{T_EXTRUDER} ; et la buse va enfin atteindre la t° de consigne pour quoi ne pas mettre M104 S{T_EXTRUDER} ; chauffer la buse sans attendre à T_EXTRUDER M140 S{T_BED} ; chauffer le lit sans attendre à la t° T_BED M190 S{T_BED} ; attendre que le lit soit chaud M109 S{T_EXTRUDER} ; attendre que la buse soit chaude merci de prendre le temp de repondre. C'est justement ce que j'ai modifié ce matin. Je me suis sans doute embrouillé c'est vrai qu'en relisant à tête reposé ce n'est pas clair haha. Dans l'idée je voulais: 1-préchauffer la buse mais sans que le filament suinte (T_standby =170) 2-commancer à chauffer le bed 3-une fois arrivé à 85% de la temp du bed, reprendre la chauffe de la buse 4-attendre la température final.
Savate Posté(e) Janvier 19, 2024 Posté(e) Janvier 19, 2024 (modifié) il y a une heure, lezaii a dit : Dans l'idée je voulais: laisse tout comme ça alors, mais remplace cette ligne M104 S170 ; on monte la buse à 170 ... (elle n'aime pas être chauffée ta buse ?) et tu aurais pu remettre la variable ... par M104 S{T_EXTRUDER} ; on monte la buse à la bonne t° sans attendre ou par rien si tu ne veux pas monter la buse pendant la chauffe du bed Modifié (le) Janvier 19, 2024 par Savate
lezaii Posté(e) Janvier 19, 2024 Auteur Posté(e) Janvier 19, 2024 @Savate j'ai nettoyer le fichier .cfg pour faire au plus simple le temp de trouver d'où viens mon problème. Maintenant la MACRO start re ssemble à ça. [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 %} M104 S(T_STANDBY_T_EXTRUDER) M140 S{T_BED} ; chauffer le lit sans attendre à la t° T_BED M190 S{T_BED} ; attendre que le lit soit chaud M109 S{T_EXTRUDER} ; attendre que la buse soit chaude M82 ;absolute extrusion mode BED_MESH_PROFILE LOAD=E5Pklipp # Home the printer G28 G90 ; Absolute position G92 E0 ;Reset Extruder G1 Z2.0 F3000 ;Move Z Axis up G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line G92 E0 ;Reset Extruder G1 E-2 F1800 ;retract 2mm at 30mm/s G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed G1 E1.8 F1800 ;retract 2mm at 30mm/s G92 E0 G1 F2700 E-5 LE soucis c'est ce message "extruder not hot enough"quand je lance un print: comme si klipper cherchais à imprimer à froid. et si je lance la chauffe manuellement avant de lancer le print, l'imprimante fais son g28 normalement puis va en butée contre les fin de course (donc en x=220 y=220 dans mon cas) et m'affiche "must home axis first"j'ai tenté de relancé le même print qu'hier mais idem...
Savate Posté(e) Janvier 19, 2024 Posté(e) Janvier 19, 2024 il y a 14 minutes, lezaii a dit : {% set STANDBY_T_EXTRUDER = params.STANDBY_T_EXTRUDER|default(170)|float %} M104 S(T_STANDBY_T_EXTRUDER) Erreur de syntaxe sur la variable dans le set tu as STANDBY_T_EXTRUDER et ailleurs c'est T_STANDBY_T_EXTRUDER il y a 15 minutes, lezaii a dit : M140 S{T_BED} ; chauffer le lit sans attendre à la t° T_BED M190 S{T_BED} ; attendre que le lit soit chaud tu peux virer le M140 S{T_BED} ... il ne sert à rien Si tu lances un START_PRINT T_BED=60 T_EXTRUDER=200 dans la console, ça chauffe ou pas ?
lezaii Posté(e) Janvier 19, 2024 Auteur Posté(e) Janvier 19, 2024 (modifié) ok donc variable corrigé. en lancant START_PRINT T_BED=60 T_EXTRUDER=200 ca me met "extrude below minimum temp EDIT: Je précise qu'elle ne fait même pas son g28 avant Modifié (le) Janvier 19, 2024 par lezaii
Savate Posté(e) Janvier 19, 2024 Posté(e) Janvier 19, 2024 il y a 26 minutes, lezaii a dit : ca me met "extrude below minimum temp tu peux vérifier si tu n'a pas deux START_PRINT dons ton printer.cfg ?
lezaii Posté(e) Janvier 19, 2024 Auteur Posté(e) Janvier 19, 2024 (modifié) Non un seul.. voilà le .cfg si ça peut être utile. # This file contains pin mappings for the stock 2020 Creality Ender 5 # Pro with the 32-bit Creality 4.2.2 board. To use this config, during # "make menuconfig" select the STM32F103 with a "28KiB bootloader" and # with "Use USB for communication" disabled. # If you prefer a direct serial connection, in "make menuconfig" # select "Enable extra low-level configuration options" and select the # USART3 serial port, which is broken out on the 10 pin IDC cable used # for the LCD module as follows: # 3: Tx, 4: Rx, 9: GND, 10: VCC # Flash this firmware by copying "out/klipper.bin" to a SD card and # turning on the printer with the card inserted. The firmware # filename must end in ".bin" and must not match the last filename # that was flashed. # See docs/Config_Reference.md for a description of parameters. [include mainsail.cfg] [stepper_x] step_pin: PB13 dir_pin: !PB12 enable_pin: !PB14 microsteps: 16 rotation_distance: 40 endstop_pin: ^PC0 position_endstop: 220 position_max: 220 homing_speed: 50 [tmc2209 stepper_x] uart_pin: PC11 tx_pin: PC10 uart_address: 0 run_current: 0.620 stealthchop_threshold: 999999 [stepper_y] step_pin: PB10 dir_pin: !PB2 enable_pin: !PB11 microsteps: 16 rotation_distance: 40 endstop_pin: ^PC1 position_endstop: 220 position_max: 220 homing_speed: 50 [tmc2209 stepper_y] uart_pin: PC11 tx_pin: PC10 uart_address: 2 run_current: 0.620 stealthchop_threshold: 999999 [stepper_z] step_pin: PB0 dir_pin: !PC5 enable_pin: !PB1 microsteps: 16 rotation_distance: 4 #endstop_pin: ^PC2 endstop_pin: probe:z_virtual_endstop position_min: -10 position_max: 300 #position_endstop: 0.0 homing_retract_dist: 20 [tmc2209 stepper_z] uart_pin: PC11 tx_pin: PC10 uart_address: 1 run_current: 0.580 stealthchop_threshold: 999999 [safe_z_home] home_xy_position: 100, 100 # Change coordinates to the center of your print bed speed: 50 z_hop: 20 # Move up 20mm z_hop_speed: 50 [bltouch] sensor_pin: ^PC2 control_pin: PA1 pin_move_time: 0.2 x_offset: 42 y_offset: -4 # Increase Z_Offset to lower nozzle closer to bed. PLA 2.6 #z_offset: 1.065 samples:2 samples_tolerance: 0.05 samples_tolerance_retries: 3 speed: 60 sample_retract_dist: 20 pin_up_reports_not_triggered: False pin_up_touch_mode_reports_triggered: False [screws_tilt_adjust] horizontal_move_z: 30 screw1: 0,200 screw1_name: Arrière G screw2: 150,200 screw2_name: Arrière D screw3: 0,30 screw3_name: Avant G screw4: 150,30 screw4_name: Avant D [bed_mesh] speed: 120 horizontal_move_z: 30 mesh_min: 42, 14 mesh_max: 220, 200 probe_count: 5, 5 fade_start: 1 fade_end: 10 [extruder] step_pin: PB3 dir_pin: !PB4 enable_pin: !PD2 microsteps: 16 rotation_distance: 32.56 nozzle_diameter: 0.400 filament_diameter: 1.750 heater_pin: PC8 sensor_type: EPCOS 100K B57560G104F sensor_pin: PA0 control: pid pid_Kp: 22.44 pid_Ki: 1.80 pid_Kd: 70.02 min_temp: 0 max_temp: 260 min_extrude_temp: 180 max_extrude_only_velocity: 150 max_extrude_only_accel: 5000 [tmc2209 extruder] uart_pin: PC11 tx_pin: PC10 uart_address: 3 run_current: 0.650 stealthchop_threshold: 999999 [heater_bed] heater_pin: PC9 sensor_type: EPCOS 100K B57560G104F sensor_pin: PC3 control: pid pid_kp: 28.330 pid_ki: 2.053 pid_kd: 97.739 min_temp: 0 max_temp: 135 [heater_fan heatbreak_cooling_fan] pin: PC7 [fan] pin:PC6 [mcu] serial: /dev/serial/by-id/usb-Klipper_stm32f103xe_30FFD305344E393718540657-if00 [printer] kinematics: cartesian max_velocity: 200 max_accel: 1000 max_z_velocity: 5 max_z_accel: 100 square_corner_velocity: 5 [static_digital_output usb_pullup_enable] pins: !PA14 [board_pins] aliases: EXP1_1=PB5, EXP1_3=PA9, EXP1_5=PA10, EXP1_7=PB8, EXP1_9=<GND>, EXP1_2=PA15, EXP1_4=<RST>, EXP1_6=PB9, EXP1_8=PB15, EXP1_10=<5V>, # See the sample-lcd.cfg file for definitions of common LCD displays. [display] lcd_type: emulated_st7920 en_pin: EXP1_7 spi_software_sclk_pin: EXP1_6 spi_software_mosi_pin: EXP1_8 spi_software_miso_pin: PA3 encoder_pins: ^EXP1_5, ^EXP1_3 click_pin: ^!EXP1_2 [delayed_gcode bed_mesh_init] initial_duration: .01 gcode: BED_MESH_PROFILE LOAD=E5Pklipp [exclude_object] [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 M82 ;absolute extrusion mode BED_MESH_PROFILE LOAD=E5Pklipp M104 S(STANDBY_T_EXTRUDER) M190 S{T_BED} ; attendre que le lit soit chaud M109 S{T_EXTRUDER} ; attendre que la buse soit chaude G90 ; Absolute position G92 E0 ;Reset Extruder G1 Z2.0 F3000 ;Move Z Axis up G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line G92 E0 ;Reset Extruder G1 E-2 F1800 ;retract 2mm at 30mm/s G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed G1 E1.8 F1800 ;retract 2mm at 30mm/s G92 E0; G1 F2700 E-5; [gcode_macro END_PRINT] gcode: G91 ;Relative positioning G1 E-2 F2700 ;Retract a bit G1 E-2 Z0.2 F2400 ;Retract and raise Z G1 X5 Y5 F3000 ;Wipe out G1 Z10 ;Raise Z more G90 ;Absolute positioning G28 X0 Y0 ;Present print M106 S0 ;Turn-off fan M104 S0 ;Turn-off hotend M140 S0 ;Turn-off bed M84 X Y E ;Disable all steppers but Z [gcode_macro G29] gcode: G28 M190 S {50} BED_MESH_CLEAR ; Clear bed mesh data BED_MESH_CALIBRATE PROFILE=E5Pklipp ; Run Bed Mesh G0 X0 Y0 Z10 F6000 BED_MESH_PROFILE SAVE=E5Pklipp ; Save Bed Mesh [gcode_macro M300] gcode: {% set S = params.S|default(1000)|int %} ; S sets the tone frequency {% set P = params.P|default(100)|int %} ; P sets the tone duration {% set L = 0.5 %} ; L varies the PWM on time, close to 0 or 1 the tone gets a bit quieter. 0.5 is a symmetric waveform {% if S <= 0 %} ; dont divide through zero {% set F = 1 %} {% set L = 0 %} {% elif S >= 10000 %} ;max frequency set to 10kHz {% set F = 0 %} {% else %} {% set F = 1/S %} ;convert frequency to seconds {% endif %} SET_PIN PIN=BEEPER_Pin VALUE={L} CYCLE_TIME={F} ;Play tone G4 P{P} ;tone duration SET_PIN PIN=BEEPER_Pin VALUE=0 #*# <---------------------- SAVE_CONFIG ----------------------> #*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated. #*# #*# [bed_mesh E5Pklipp] #*# version = 1 #*# points = #*# -0.066875, 0.062500, 0.241875, 0.393750, 0.475000 #*# -0.201875, -0.059375, 0.085000, 0.245625, 0.280625 #*# -0.314375, -0.180625, -0.036875, 0.070625, 0.090625 #*# -0.390625, -0.275625, -0.160625, -0.058750, -0.060625 #*# -0.492500, -0.376250, -0.279375, -0.225625, -0.237500 #*# x_count = 5 #*# y_count = 5 #*# mesh_x_pps = 2 #*# mesh_y_pps = 2 #*# algo = lagrange #*# tension = 0.2 #*# min_x = 42.0 #*# max_x = 220.0 #*# min_y = 14.0 #*# max_y = 200.0 #*# #*# [bltouch] #*# z_offset = 0.840 #*# #*# [bed_mesh default] #*# version = 1 #*# points = #*# -0.070000, -0.061250, 0.058750, 0.113750, -0.115000 #*# -0.091250, -0.063750, 0.030000, 0.066250, -0.183750 #*# -0.108750, -0.090000, 0.006250, 0.006250, -0.310000 #*# -0.080000, -0.067500, 0.011250, -0.018750, -0.321250 #*# -0.035000, -0.016250, 0.050000, -0.011250, -0.385000 #*# x_count = 5 #*# y_count = 5 #*# mesh_x_pps = 2 #*# mesh_y_pps = 2 #*# algo = lagrange #*# tension = 0.2 #*# min_x = 45.0 #*# max_x = 220.0 #*# min_y = 15.0 #*# max_y = 198.0 et au cas où voilà en plus le début du gcode d'un cube que je viens de slicer. ; HEADER_BLOCK_START ; generated by OrcaSlicer 1.8.1 on 2024-01-19 at 17:04:22 ; total layer number: 69 ; HEADER_BLOCK_END ; THUMBNAIL_BLOCK_START ; ; thumbnail begin 300x300 4400 ; iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAMqUlEQVR4Ae3c3a5dVRkG4AWBEkCk/F ; oKpS0QiQZjYzSKCaSmB2hikAR/gkRTiERQ0SoQlNCAUUExWo3RxCMugUvgEnoJvQQuYcusLNiUtbv3 ; WnvOMcc7xvMk75nBA/Z4M9bH+OZiAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEOL200 ; +8PeTK6649uACo0TVH7jxx9I1XL9z7379vDbnr1RfOX3/igccWADW56duPvLYsqu05fu5P79146uEz ; blvA7K665eZjw01qVVltz+EXfvbu8L9dAMzhhge/cnq3olp121oAlDL8vBuG6uuU1aW3LT8RgcldOl ; jfNMNty0AemMyt33/s3H6L6tIM/0y3LWA0w61qL4P1TTP8s4f/jwXAfgxD8qmKyvMHYBRDcRx67ul3 ; SpTVpQN5zx+APbv2s/eeHG48pctq+21reDKxALicKQbrm8Y+IrDSWM8Vxo59ROBjSg3W9/MT0UAeOj ; cUwDDkrrmstsdAHjq17h5gbbetBdCH/ewB1nTb8hMRGlbrYH0/ty0DeWjQTh/YayH2EaERU+8B1hL7 ; iBCu9ucKY8dAHgLNtQdYSzx/gBBz7wHWdNsykIeK1bQHWEsM5KEyvQzWN42BPFSit8H6prGPCDNK2w ; OsJQbyUFjqHmAt8YFAKKSFPcBa4gOBMJHW9gBriQ8Ewsha3gOsIQbyMALPFcpmGMh7/gAb8FxhnthH ; hDUMP0sM1ueP5w+wC4P1umIfEXZgD7De2EeEDxisZ8Q+It0zWM+K5w90qfcP7KXHQJ5u+MBeG7GPSP ; MM1tuLfUSa47lC27GPSDMM1vuIgTzRfGCvzxjIE8cH9vqOfURi2AOUZYbblp+IVMlgXVbFPiLV8YE9 ; 2S32EZmdPUBZJ/YRmY3nCrJJDOQpyh6gjBHPH5icPUAZM/YRmYw9QJkq9hEZjecKUiLDQH64wS9gUw ; brUjL2EdmIPUCZMwby7Jk9QKkhnj+wK3uAUlvsI/IJButSc4a/TfuIXGQPUBIy/ES0j9gxe4CSmOEn ; on3EzniuIMkxkO/EcJ02WJdW4vlDwwzWpcX4QGCD7AFK6zGQb4DBuvQUHwgMZrAuPcY+Yhgf2BMxkI ; /gA3siH8UHAitmsC6yOj4QWJkjZ1+8kPQHJFI6h888e15pVeKOn/9k6+4/vrJ1z3/+GvVHJFIid519 ; cevWJx7fuuLA1QqrBoeefWpryJ0v/mLrnn/9OeqPSWSq3PPvt7be/w9QF8tKYVVkWVhDhtvW0TfPRv ; 1hiYydI7//7YdFpbAqs72wlrnrld/4iShd5vCvn/tEWSmsiqwqrCHDv7hjb70e9ccmsmmO/e0PW7c/ ; 9cOVZaWwKrJTYS1/IhrIS+u583dndiwqhVWZyxXW9oH88X+8EfVHKLJbhlvVZ5758a5lpbAqspfC2n ; 7bSvqDFNkpy+cKe43CqsReC8vzB2khw3OFnQbrCivAuoW1vG0ZyEtadhusK6wAmxTWMkfOvmQgLxG5 ; 86XnNyoqhVWZ/RTW8vmDgbzUmnUG6worwH4Ly/MHqTXrDtYVVoAxCstAXmrKMFi/4/lnRisrhVWRMQ ; treduyjyhz5ehfXtu67Uc/GLWsFFZFxi6sZewjSunsd7CusAJMVVjLgbznDzJ19vNcQWGFmbKwDORl ; 6ow5WFdYAaYuLAN5mSKXfmBPYXWiVGFtv20lHQypL6s+sKewOlGysD522/ITUTbIJnuACqshcxTW8r ; ZlIC97TYnBusIKMFdhLWMfUXbLXj6wp7A6MXdhDbGPKKsy1h6gwmpIDYW1/IloIC/LlHquoLDC1FJY ; y3j+0Hem2ANUWA2prbCWty37iP1lqj1AhdWQGgtrGfuI/WTKPUCF1ZCaC2vIxX3E94evSYdP9p65ny ; sorDC1F9byJ6J9xPZS22BdYQVIKKxlDOTbSOk9QIXVkKTC2n7bSjqg8lHm2ANUWA1JKquP3bZe/pWf ; iGGZaw9QYTUkqaQ+cdv65U/tIwYkZbCusAIkFdTK0nr/J+KR119226o0NewBKqyGJJXT5TIM5O0j1p ; Oa9gAVVkOSSmkvty0D+fmT9FxBYYVJKqR1blueP5TP8FwhebCusAIkFdG6ty0D+XJpYbCusAIkldAm ; 8YHA6VP7HqDCakhS+WwaHwicJq0N1hVWgKTi2U/sI46bFgfrCitAUumMEQP5/aXWD+wprE4klc2Yty ; 0fCFw/NX9gT2F1Iqloxo4PBO49PQzWFVaApIKZIhc/EOj5w45p/bmCwgqTVC5TxUB+dVrZA1RYDUkq ; lqljIP//HP/nm908V1BYYZIKpUR630dM/cCewupEUpmUzMXbVmc/EVvdA1RYDUkqkdLpZR/RYF1hxU ; gqkLnS8j5i788VFFaYpOKYM63tI/a0B6iwGpJUGnOnlecPve0BKqyGJBVGLUl9/tDrHqDCakhSUdSU ; tH3EnvcAFVZDkkqixiTsIxqsK6xmJJVDral1H9FzBYXVnKRiqDm1DeQN1hVWk5JKISFzD+SHwfqh55 ; 6OKgOFxZ4llUFK5tpHtAeosJqXVARpKbmPaA9QYXUhqQASM/U+osG6wupK0uFPzhT7iD6wp7C6k3To ; 0zPWPqI9QIXVraQD30L2O5D3XEFhdS3psLeUdZ8/2ANUWCwU1pzZ60B++AloD1BhsVBYNeRyA3l7gA ; qLbZIOdsu5dCBvsK6wWCHpULee5UDeYF1hsYOkA91Lkg6ywqKopIPcS5IOssKiqKSD3EuSDrLCoqik ; g9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDrLCoqikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDrLCoq ; ikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDrLCoqikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDrLC ; oqikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDrLCoqikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDr ; LCoqikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuSDrLCoqikg9xLkg6ywqKopIPcS5IOssKiqKSD3EuS ; DrLCoqikg9xLkg6ywqKopIPcS5IOssKiqIOPnHon6TD3kKSD3ENuPPXwuwqrIjd8/avnbn/qyfeSDn ; XLSTrMref6L33x3IL6XHXLzSdue/J7F5IOdqtJOtCt5pbHH33v6ttvO7mgbjd+46G3kw53i0k62C1m ; +Am4IMeBw4dO+ok4X5IOd2txqwo1/ER025onSQe8lQy3qiuvv+7YgmzXfeHzZ9y2yibpoLeQ6x743G ; sL2mEgXzZJhz05BuuNG54/JB381CQd+tR86mtffntB+4bblp+I0ybp4CfGraozVxw4cNBAXmGlxWC9 ; c9ccu/sxty2FlZBr77/vzAKGn4j2ERVWrRluVVfddPDEArYzkFdYtcUeIJfl+YPCqiGeK7AWA3mFNV ; fsAbIRA3mFVTrXHD96egGbMpBXWCVisM6o7CMqrKliD5BJGMgrrDFjsE4RBvIKa7+xB0hR9hEV1qZx ; q2IWPhCosNaJPUCqcO39951221JYl4s9QKoy3LZu+e53zieVisKaPge/eeq85wpUyz6iwlrGHiARPH ; /ou7A8VyBSzwP5pIIZM/YAidbrPmJSyYwVe4A0ocd9xKSiGeNWZbBOc4aBfC+3raTC2U8M1mlaLwP5 ; pNLZJAbrdKX1gXxS+awbg3W6dODwoZOt/kRMKqB14lZF11rdR0wqob3equwBwgda+0BgUhntFh/Ygx ; VaGsgnFdJOGQbrnivALlrYR0wqplXxgT1YQ/oHApPK6dIYrMOGUgfySQW1jOcKMILEfcSkohriA3sw ; orR9xJSisgcIE0oZyCeUlT1AKCDh+UPNRWUPEGZQ80C+1rIyWIcZ1TqQr7GsfGAPKlDjPmJNRWUPEC ; pU0z5iLWVlDxAqVstAfu6iMliHIHM/f5izrOwBQqA59xHnKiu3Kgh2xYEDB+cYyJcuKoN1aEjp5w8l ; y8oeIDSo5D5iqVuVPUBoXImB/NRlZQ8QOjL184epispzBejYVAP5qX4CLoC+TTGQH7us7AECHxp7ID ; /mrcpgHVhpGMiPcdsao6wM1oFdjTGQN1gHitrPQH7Tsvr0Qw++swDYxIHDh05u8hNxk7JyqwL2bZMP ; BK47WLcHCIxqnQ8E7rWs7AECk9nrQH63orrp0W9d8FwBKGK3fcTLlZUP7AHFXe4DgQbrQJVWDeRXDd ; YXADW4dB/xVnuAQM227yPaAwQiDAN5e4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAECS ; /wHplTJyCnxnzgAAAABJRU5ErkJggg== ; thumbnail end ; THUMBNAIL_BLOCK_END ; external perimeters extrusion width = 0.40mm ; perimeters extrusion width = 0.45mm ; infill extrusion width = 0.45mm ; solid infill extrusion width = 0.40mm ; top infill extrusion width = 0.40mm ; first layer extrusion width = 0.50mm ; EXECUTABLE_BLOCK_START EXCLUDE_OBJECT_DEFINE NAME=Cube_id_0_copy_0 CENTER=110,110 POLYGON=[[99,99],[121,99],[121,121],[99,121],[99,99]] M73 P0 R11 ;TYPE:Custom START_PRINT T_BED=60 T_EXTRUDER=210 G90 G21 M83 ; use relative distances for extrusion ; filament start gcode SET_PRESSURE_ADVANCE ADVANCE=0; Override pressure advance value M106 S0 ;LAYER_CHANGE ;Z:0.32 ;HEIGHT:0.32 ;BEFORE_LAYER_CHANGE ;0.32 G92 E0 G1 E-5 F2700 ;AFTER_LAYER_CHANGE ;0.32 ;_SET_FAN_SPEED_CHANGING_LAYER SET_VELOCITY_LIMIT ACCEL=500 ACCEL_TO_DECEL=250 ; printing object Cube id:0 copy 0 EXCLUDE_OBJECT_START NAME=Cube_id_0_copy_0 G1 Z.4 F21000 G1 X120.319 Y120.319 G1 Z.4 G1 Z.32 G1 E5 F1800 ;TYPE:Inner wall ;WIDTH:0.5 G1 F3000 G1 X99.681 Y120.319 E1.16057 G1 X99.681 Y99.681 E1.16057 G1 X120.319 Y99.681 E1.16057 G1 X120.319 Y110 E.58028 G1 X120.319 Y120.279 E.57803 G1 X120.75 Y120.75 F21000 ;TYPE:Outer wall G1 F3000 G1 X99.25 Y120.75 E1.20908 G1 X99.25 Y99.25 E1.20908 G1 X120.75 Y99.25 E1.20908 G1 X120.75 Y110 E.60454 G1 X120.75 Y120.71 E.60229 G1 E-3.5 F2700 ;WIPE_START G1 F3000 G1 X119.75 Y120.712 E-1.5 ;WIPE_END G1 Z.72 F21000 G1 X120.189 Y100.696 Z.72 M73 P1 R10 G1 Z.32 G1 E5 F1800 Modifié (le) Janvier 19, 2024 par lezaii ajout de pièce à conviction
Savate Posté(e) Janvier 19, 2024 Posté(e) Janvier 19, 2024 (modifié) [gcode_macro START_PRINT] gcode: #variable_T_BED: 60 #variable_T_EXTRUDER: 200 #variable_STANDBY_T_EXTRUDER: 170 {% 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 M82 ;absolute extrusion mode BED_MESH_PROFILE LOAD=E5Pklipp M104 S{STANDBY_T_EXTRUDER} M190 S{T_BED} ; attendre que le lit soit chaud M109 S{T_EXTRUDER} ; attendre que la buse soit chaude G90 ; Absolute position G92 E0 ;Reset Extruder G1 Z2.0 F3000 ;Move Z Axis up G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line G92 E0 ;Reset Extruder G1 E-2 F1800 ;retract 2mm at 30mm/s G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed G1 E1.8 F1800 ;retract 2mm at 30mm/s G92 E0; G1 F2700 E-5; il y a 18 minutes, lezaii a dit : voilà le .cfg si ça peut être utile. tu peux remplacer ta macro par la réindentée qui est juste au dessus EDIT : j'ai corrigé la macro : * variable STANDBY_T_EXTRUDEUR * parenthèses au lieu des accolades sur le M104 Modifié (le) Janvier 19, 2024 par Savate
lezaii Posté(e) Janvier 19, 2024 Auteur Posté(e) Janvier 19, 2024 mainsail.cfg m'a l'air "propre" le voici ## Client klipper macro definitions ## ## Copyright (C) 2022 Alex Zellner <alexander.zellner@googlemail.com> ## ## This file may be distributed under the terms of the GNU GPLv3 license ## ## !!! This file is read-only. Maybe the used editor indicates that. !!! ## ## Customization: ## 1) copy the gcode_macro _CLIENT_VARIABLE (see below) to your printer.cfg ## 2) remove the comment mark (#) from all lines ## 3) change any value in there to your needs ## ## Use the PAUSE macro direct in your M600: ## e.g. with a different park position front left and a minimal height of 50 ## [gcode_macro M600] ## description: Filament change ## gcode: PAUSE X=10 Y=10 Z_MIN=50 ## Z_MIN will park the toolhead at a minimum of 50 mm above to bed to make it easier for you to swap filament. ## ## Client variable macro for your printer.cfg #[gcode_macro _CLIENT_VARIABLE] #variable_use_custom_pos : False ; use custom park coordinates for x,y [True/False] #variable_custom_park_x : 0.0 ; custom x position; value must be within your defined min and max of X #variable_custom_park_y : 0.0 ; custom y position; value must be within your defined min and max of Y #variable_custom_park_dz : 2.0 ; custom dz value; the value in mm to lift the nozzle when move to park position #variable_retract : 1.0 ; the value to retract while PAUSE #variable_cancel_retract : 5.0 ; the value to retract while CANCEL_PRINT #variable_speed_retract : 35.0 ; retract speed in mm/s #variable_unretract : 1.0 ; the value to unretract while RESUME #variable_speed_unretract : 35.0 ; unretract speed in mm/s #variable_speed_hop : 15.0 ; z move speed in mm/s #variable_speed_move : 100.0 ; move speed in mm/s #variable_park_at_cancel : False ; allow to move the toolhead to park while execute CANCEL_PRINT [True/False] #variable_park_at_cancel_x : None ; different park position during CANCEL_PRINT [None/Position as Float]; park_at_cancel must be True #variable_park_at_cancel_y : None ; different park position during CANCEL_PRINT [None/Position as Float]; park_at_cancel must be True ## !!! Caution [firmware_retraction] must be defined in the printer.cfg if you set use_fw_retract: True !!! #variable_use_fw_retract : False ; use fw_retraction instead of the manual version [True/False] #variable_idle_timeout : 0 ; time in sec until idle_timeout kicks in. Value 0 means that no value will be set or restored #variable_runout_sensor : "" ; If a sensor is defined, it will be used to cancel the execution of RESUME in case no filament is detected. ## Specify the config name of the runout sensor e.g "filament_switch_sensor runout". Hint use the same as in your printer.cfg ## !!! Custom macros, please use with care and review the section of the corresponding macro. ## These macros are for simple operations like setting a status LED. Please make sure your macro does not interfere with the basic macro functions. ## Only single line commands are supported, please create a macro if you need more than one command. #variable_user_pause_macro : "" ; Everything insight the "" will be executed after the klipper base pause (PAUSE_BASE) function #variable_user_resume_macro: "" ; Everything insight the "" will be executed before the klipper base resume (RESUME_BASE) function #variable_user_cancel_macro: "" ; Everything insight the "" will be executed before the klipper base cancel (CANCEL_PRINT_BASE) function #gcode: [virtual_sdcard] path: ~/printer_data/gcodes on_error_gcode: CANCEL_PRINT [pause_resume] [display_status] [respond] [gcode_macro CANCEL_PRINT] description: Cancel the actual running print rename_existing: CANCEL_PRINT_BASE gcode: ##### get user parameters or use default ##### {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %} {% set allow_park = client.park_at_cancel|default(false)|lower == 'true' %} {% set retract = client.cancel_retract|default(5.0)|abs %} ##### define park position ##### {% set park_x = "" if (client.park_at_cancel_x|default(none) is none) else "X=" ~ client.park_at_cancel_x %} {% set park_y = "" if (client.park_at_cancel_y|default(none) is none) else "Y=" ~ client.park_at_cancel_y %} {% set custom_park = park_x|length > 0 or park_y|length > 0 %} ##### end of definitions ##### # restore idle_timeout time if needed {% if printer['gcode_macro RESUME'].restore_idle_timeout > 0 %} SET_IDLE_TIMEOUT TIMEOUT={printer['gcode_macro RESUME'].restore_idle_timeout} {% endif %} {% if (custom_park or not printer.pause_resume.is_paused) and allow_park %} _TOOLHEAD_PARK_PAUSE_CANCEL {park_x} {park_y} {% endif %} _CLIENT_RETRACT LENGTH={retract} TURN_OFF_HEATERS M106 S0 {client.user_cancel_macro|default("")} SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=idle_state VALUE=False # clear pause_next_layer and pause_at_layer as preparation for next print SET_PAUSE_NEXT_LAYER ENABLE=0 SET_PAUSE_AT_LAYER ENABLE=0 LAYER=0 CANCEL_PRINT_BASE [gcode_macro PAUSE] description: Pause the actual running print rename_existing: PAUSE_BASE gcode: ##### get user parameters or use default ##### {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %} {% set idle_timeout = client.idle_timeout|default(0) %} {% set temp = printer[printer.toolhead.extruder].target if printer.toolhead.extruder != '' else 0 %} {% set restore = False if printer.toolhead.extruder == '' else True if params.RESTORE|default(1)|int == 1 else False %} ##### end of definitions ##### SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=last_extruder_temp VALUE="{{'restore': restore, 'temp': temp}}" # set a new idle_timeout value {% if idle_timeout > 0 %} SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=restore_idle_timeout VALUE={printer.configfile.settings.idle_timeout.timeout} SET_IDLE_TIMEOUT TIMEOUT={idle_timeout} {% endif %} PAUSE_BASE {client.user_pause_macro|default("")} _TOOLHEAD_PARK_PAUSE_CANCEL {rawparams} [gcode_macro RESUME] description: Resume the actual running print rename_existing: RESUME_BASE variable_last_extruder_temp: {'restore': False, 'temp': 0} variable_restore_idle_timeout: 0 variable_idle_state: False gcode: ##### get user parameters or use default ##### {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %} {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %} {% set sp_move = client.speed_move|default(velocity) %} {% set runout_resume = True if client.runout_sensor|default("") == "" # no runout else True if not printer[client.runout_sensor].enabled # sensor is disabled else printer[client.runout_sensor].filament_detected %} # sensor status {% set can_extrude = True if printer.toolhead.extruder == '' # no extruder defined in config else printer[printer.toolhead.extruder].can_extrude %} # status of active extruder {% set do_resume = False %} ##### end of definitions ##### #### Printer comming from timeout idle state #### {% if printer.idle_timeout.state|upper == "IDLE" or idle_state %} SET_GCODE_VARIABLE MACRO=RESUME VARIABLE=idle_state VALUE=False {% if last_extruder_temp.restore %} # we need to use the unicode (\u00B0) for the ° as py2 env's would throw an error otherwise RESPOND TYPE=echo MSG='{"Restoring \"%s\" temperature to %3.1f\u00B0C, this may take some time" % (printer.toolhead.extruder, last_extruder_temp.temp) }' M109 S{last_extruder_temp.temp} {% set do_resume = True %} {% elif can_extrude %} {% set do_resume = True %} {% else %} RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}' {% endif %} #### Printer comming out of regular PAUSE state #### {% elif can_extrude %} {% set do_resume = True %} {% else %} RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" not hot enough, please heat up again and press RESUME" % printer.toolhead.extruder}' {% endif %} {% if runout_resume %} {% if do_resume %} {% if restore_idle_timeout > 0 %} SET_IDLE_TIMEOUT TIMEOUT={restore_idle_timeout} {% endif %} # restore idle_timeout time {client.user_resume_macro|default("")} _CLIENT_EXTRUDE RESUME_BASE VELOCITY={params.VELOCITY|default(sp_move)} {% endif %} {% else %} RESPOND TYPE=error MSG='{"Resume aborted !!! \"%s\" detects no filament, please load filament and press RESUME" % (client.runout_sensor.split(" "))[1]}' {% endif %} # Usage: SET_PAUSE_NEXT_LAYER [ENABLE=[0|1]] [MACRO=<name>] [gcode_macro SET_PAUSE_NEXT_LAYER] description: Enable a pause if the next layer is reached gcode: {% set pause_next_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_next_layer %} {% set ENABLE = params.ENABLE|default(1)|int != 0 %} {% set MACRO = params.MACRO|default(pause_next_layer.call, True) %} SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_next_layer VALUE="{{ 'enable': ENABLE, 'call': MACRO }}" # Usage: SET_PAUSE_AT_LAYER [ENABLE=[0|1]] [LAYER=<number>] [MACRO=<name>] [gcode_macro SET_PAUSE_AT_LAYER] description: Enable/disable a pause if a given layer number is reached gcode: {% set pause_at_layer = printer['gcode_macro SET_PRINT_STATS_INFO'].pause_at_layer %} {% set ENABLE = params.ENABLE|int != 0 if params.ENABLE is defined else params.LAYER is defined %} {% set LAYER = params.LAYER|default(pause_at_layer.layer)|int %} {% set MACRO = params.MACRO|default(pause_at_layer.call, True) %} SET_GCODE_VARIABLE MACRO=SET_PRINT_STATS_INFO VARIABLE=pause_at_layer VALUE="{{ 'enable': ENABLE, 'layer': LAYER, 'call': MACRO }}" # Usage: SET_PRINT_STATS_INFO [TOTAL_LAYER=<total_layer_count>] [CURRENT_LAYER= <current_layer>] [gcode_macro SET_PRINT_STATS_INFO] rename_existing: SET_PRINT_STATS_INFO_BASE description: Overwrite, to get pause_next_layer and pause_at_layer feature variable_pause_next_layer: { 'enable': False, 'call': "PAUSE" } variable_pause_at_layer : { 'enable': False, 'layer': 0, 'call': "PAUSE" } gcode: {% if pause_next_layer.enable %} RESPOND TYPE=echo MSG='{"%s, forced by pause_next_layer" % pause_next_layer.call}' {pause_next_layer.call} ; execute the given gcode to pause, should be either M600 or PAUSE SET_PAUSE_NEXT_LAYER ENABLE=0 {% elif pause_at_layer.enable and params.CURRENT_LAYER is defined and params.CURRENT_LAYER|int == pause_at_layer.layer %} RESPOND TYPE=echo MSG='{"%s, forced by pause_at_layer [%d]" % (pause_at_layer.call, pause_at_layer.layer)}' {pause_at_layer.call} ; execute the given gcode to pause, should be either M600 or PAUSE SET_PAUSE_AT_LAYER ENABLE=0 {% endif %} SET_PRINT_STATS_INFO_BASE {rawparams} ##### internal use ##### [gcode_macro _TOOLHEAD_PARK_PAUSE_CANCEL] description: Helper: park toolhead used in PAUSE and CANCEL_PRINT gcode: ##### get user parameters or use default ##### {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %} {% set velocity = printer.configfile.settings.pause_resume.recover_velocity %} {% set use_custom = client.use_custom_pos|default(false)|lower == 'true' %} {% set custom_park_x = client.custom_park_x|default(0.0) %} {% set custom_park_y = client.custom_park_y|default(0.0) %} {% set park_dz = client.custom_park_dz|default(2.0)|abs %} {% set sp_hop = client.speed_hop|default(15) * 60 %} {% set sp_move = client.speed_move|default(velocity) * 60 %} ##### get config and toolhead values ##### {% set origin = printer.gcode_move.homing_origin %} {% set act = printer.gcode_move.gcode_position %} {% set max = printer.toolhead.axis_maximum %} {% set cone = printer.toolhead.cone_start_z|default(max.z) %} ; height as long the toolhead can reach max and min of an delta {% set round_bed = True if printer.configfile.settings.printer.kinematics is in ['delta','polar','rotary_delta','winch'] else False %} ##### define park position ##### {% set z_min = params.Z_MIN|default(0)|float %} {% set z_park = [[(act.z + park_dz), z_min]|max, (max.z - origin.z)]|min %} {% set x_park = params.X if params.X is defined else custom_park_x if use_custom else 0.0 if round_bed else (max.x - 5.0) %} {% set y_park = params.Y if params.Y is defined else custom_park_y if use_custom else (max.y - 5.0) if round_bed and z_park < cone else 0.0 if round_bed else (max.y - 5.0) %} ##### end of definitions ##### _CLIENT_RETRACT {% if "xyz" in printer.toolhead.homed_axes %} G90 G1 Z{z_park} F{sp_hop} G1 X{x_park} Y{y_park} F{sp_move} {% if not printer.gcode_move.absolute_coordinates %} G91 {% endif %} {% else %} RESPOND TYPE=echo MSG='Printer not homed' {% endif %} [gcode_macro _CLIENT_EXTRUDE] description: Extrudes, if the extruder is hot enough gcode: ##### get user parameters or use default ##### {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %} {% set use_fw_retract = (client.use_fw_retract|default(false)|lower == 'true') and (printer.firmware_retraction is defined) %} {% set length = params.LENGTH|default(client.unretract)|default(1.0)|float %} {% set speed = params.SPEED|default(client.speed_unretract)|default(35) %} {% set absolute_extrude = printer.gcode_move.absolute_extrude %} ##### end of definitions ##### {% if printer.toolhead.extruder != '' %} {% if printer[printer.toolhead.extruder].can_extrude %} {% if use_fw_retract %} {% if length < 0 %} G10 {% else %} G11 {% endif %} {% else %} M83 G1 E{length} F{(speed|float|abs) * 60} {% if absolute_extrude %} M82 {% endif %} {% endif %} {% else %} RESPOND TYPE=echo MSG='{"\"%s\" not hot enough" % printer.toolhead.extruder}' {% endif %} {% endif %} [gcode_macro _CLIENT_RETRACT] description: Retracts, if the extruder is hot enough gcode: {% set client = printer['gcode_macro _CLIENT_VARIABLE']|default({}) %} {% set length = params.LENGTH|default(client.retract)|default(1.0)|float %} {% set speed = params.SPEED|default(client.speed_retract)|default(35) %} _CLIENT_EXTRUDE LENGTH=-{length|float|abs} SPEED={speed|float|abs} la commande PRINT-START_B n'est pas reconnu
Savate Posté(e) Janvier 19, 2024 Posté(e) Janvier 19, 2024 il y a 4 minutes, lezaii a dit : la commande PRINT-START_B n'est pas reconnu c'était dans le cas ou tu renommais ton START_PRINT J'ai corrigé la macro dans mon post précédent, elle devrait mieux marcher maintenant [gcode_macro START_PRINT] gcode: #variable_T_BED: 60 #variable_T_EXTRUDER: 200 #variable_STANDBY_T_EXTRUDER: 170 {% 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 M82 ;absolute extrusion mode BED_MESH_PROFILE LOAD=E5Pklipp M104 S{STANDBY_T_EXTRUDER} ; il y avait des () au lieu des {} et la variable s'appelait T_STANDBY_T_EXTRUDER M190 S{T_BED} ; attendre que le lit soit chaud M109 S{T_EXTRUDER} ; attendre que la buse soit chaude G90 ; Absolute position G92 E0 ;Reset Extruder G1 Z2.0 F3000 ;Move Z Axis up G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line G92 E0 ;Reset Extruder G1 E-2 F1800 ;retract 2mm at 30mm/s G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed G1 E1.8 F1800 ;retract 2mm at 30mm/s G92 E0; G1 F2700 E-5;
fran6p Posté(e) Janvier 19, 2024 Posté(e) Janvier 19, 2024 Les guides de @rootiest plutôt bien faits donnent de bons conseils pour les macros PRINT_START / START_PRINT et leurs pendants (PRINT_END / END_PRINT) ainsi que les Gcodes à utiliser en fonction des trancheurs. C'est >>> là <<< 1
lezaii Posté(e) Janvier 20, 2024 Auteur Posté(e) Janvier 20, 2024 (modifié) ha super comme lien merci @fran6p j'ai donc modifié le .cfg comme ceci: [gcode_macro START_PRINT] #variable_BED_TEMP: 60 #variable_EXTRUDER_TEMP: 200 gcode: {% set BED_TEMP = params.BED_TEMP|default(60)|float %} {% set EXTRUDER_TEMP = params.EXTRUDER_TEMP|default(200)|float %} G28 M82 ;absolute extrusion mode M140 S{BED_TEMP} M190 S{BED_TEMP} ; attendre que le lit soit chaud M109 S{EXTRUDER_TEMP} ; attendre que la buse soit chaude BED_MESH_PROFILE LOAD=E5Pklipp ainsi que le orcaslicer comme celà: START_PRINT BED_TEMP=[bed_temperature_initial_layer_single] EXTRUDER_TEMP=[nozzle_temperature_initial_layer] CHAMBER_TEMP=[chamber_temperature] comme indiqué dan le lien que tu m'as envoyé. Malheureusement, le problème reste le même. En lancant un nouveau print j'ai toujours ce message: 11:04 "extruder" not hot enough 11:04 Extrude below minimum temp 11:04 Extrude below minimum temp See the 'min_extrude_temp' config option for details le paramètre min_extrude_temp est à 180. J'avais eu un problème similaire il y a peu de temps, j'avais donc mis des température fixe en lieu et place des variable {BED_TEMP}, {EXTRUDER_TEMP} et dans orcaslicer je n'avais que START_PRINT BON et bien je double-post pour vous annoncer que le problème est réglé magiquement après une mise à jour complète (sorti il y a 4 jours). Je n'ai absolument rien changé depuis mon dernier post hormis la MAJ complète (klipper, moonsail crowsnet etc...) Je vous remercie encore une fois pour tout et navré de vous avoir fais perdre votre temps. Ralala le pouvoir de la MAJ mystique^^ EDIT: LA BONNE BLAGUE !!!! Après la mise ajour, j'ai réussi à imprimer un petit cube. nickel ! - Je télécharge le test pour régler le PRESSURE_ADVANCE - je rentre les commandes qui vont bien: SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500 TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.020 ET là, PAF: 12:16 "extruder" not hot enough 12:16 Extrude below minimum temp 12:16 Extrude below minimum temp See the 'min_extrude_temp' config option for details 12:16 Unknown command:"START_PRINT" 12:16 Unknown command:"EXCLUDE_OBJECT_DEFINE" 12:16 File selected 12:16 File opened:square_tower(1)_PLA_41m56s.gcode Size:672453 Modifié (le) Janvier 20, 2024 par lezaii j'ai parlé un peu vite
Savate Posté(e) Janvier 20, 2024 Posté(e) Janvier 20, 2024 Il y a 5 heures, lezaii a dit : Après la mise ajour, j'ai réussi à imprimer un petit cube. nickel ! - Je télécharge le test pour régler le PRESSURE_ADVANCE - je rentre les commandes qui vont bien: SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=1 ACCEL=500 TUNING_TOWER COMMAND=SET_PRESSURE_ADVANCE PARAMETER=ADVANCE START=0 FACTOR=.020 avant de lancer tes commandes, met l'imprimante en chauffe aux bonnes t° sinon elle ne saura jamais qu'il faut chauffer en gros avant tu doit lancer un START_PRINT BED_TEMP=T°dubed EXTRUDER_TEMP=T°delabuse comme ça l'imprimante aura fait sont home, mis à la bonne t° et chargé le mesh 1
lezaii Posté(e) Janvier 24, 2024 Auteur Posté(e) Janvier 24, 2024 oui j'ai essayé mais j'avais toujours le même souci. J'ai trouvé le problème!!! Ce que je ne comprend pas c'est pourquoi ça a marché après la MAJ mais bon... Tout cela est dû à une mauvaise "mise en page", je m'explique: [gcode_macro START_PRINT] <---- ICI Tabulation en trop avant la balise!!! #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 M82 ;absolute extrusion mode BED_MESH_PROFILE LOAD=E5Pklipp M104 S(STANDBY_T_EXTRUDER) M190 S{T_BED} ; attendre que le lit soit chaud M109 S{T_EXTRUDER} ; attendre que la buse soit chaude G90 ; Absolute position G92 E0 ;Reset Extruder G1 Z2.0 F3000 ;Move Z Axis up G1 X10.1 Y20 Z0.28 F5000.0 ;Move to start position G1 X10.1 Y200.0 Z0.28 F1500.0 E15 ;Draw the first line G1 X10.4 Y200.0 Z0.28 F5000.0 ;Move to side a little G1 X10.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line G92 E0 ;Reset Extruder G1 E-2 F1800 ;retract 2mm at 30mm/s G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed G1 E1.8 F1800 ;retract 2mm at 30mm/s G92 E0; G1 F2700 E-5; [gcode_macro END_PRINT] <---- ICI aussi!!! gcode: G91 ;Relative positioning G1 E-2 F2700 ;Retract a bit G1 E-2 Z0.2 F2400 ;Retract and raise Z G1 X5 Y5 F3000 ;Wipe out G1 Z10 ;Raise Z more G90 ;Absolute positioning G28 X0 Y0 ;Present print M106 S0 ;Turn-off fan M104 S0 ;Turn-off hotend M140 S0 ;Turn-off bed M84 X Y E ;Disable all steppers but Z [gcode_macro G29]<---- ça devait être comme ça!!!! gcode: G28 M190 S {50} BED_MESH_CLEAR ; Clear bed mesh data BED_MESH_CALIBRATE PROFILE=E5Pklipp ; Run Bed Mesh G0 X0 Y0 Z10 F6000 BED_MESH_PROFILE SAVE=E5Pklipp ; Save Bed Mesh Voilà l'explication au mystère. Il semblerait que klipper soit assez sensible à ce genre de bêtise humaine^^ En tout cas je vous remercie encore pour votre réactivité, ce forum est incroyable pour ça. Si un jour je peux être utile je serais ravi de rendre la pareille.
Savate Posté(e) Janvier 24, 2024 Posté(e) Janvier 24, 2024 Il y a 3 heures, lezaii a dit : Voilà l'explication au mystère. Il semblerait que klipper soit assez sensible à ce genre de bêtise humaine^^ En tout cas je vous remercie encore pour votre réactivité, ce forum est incroyable pour ça. c'est pour ça que je t'avais donné une macro correctement indentée ... jinja2 c'est du script associé à phyton et python est très sensible à l'indentation.
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