Aller au contenu

Le changement de filament ne fonctionne pas avec QIDI studio V2.3.0.70 ? sans la box


Messages recommandés

Posté(e) (modifié)

Bonjour, @fran6p je souhaite imprimer avec la QIDI plus 4 un logo en deux couleurs avec QIDISTUDIO 2.3.0.70.
j'utilise la bonne méthode pour insérer un changement de filament sans la BOX.
Le changement de filament ne fonctionne pas ! j'ai une grosse purge de filament au dessus du logo pourquoi ?
Sur la capture d'écran la méthode est correcte sauf qu'au changement de filament l'extrudeur est immobilisé et réalise une purge sur le logo sans se déplacer vers le puit de purge bizarre !!🤔

La seule méthode qui fonctionne c'est d'insérer une pause au changement de couleur et il faut couper manuellement le filament et ensuite charger le nouveau filament. 🙃

J'ai essayé avec QIDISlicer le problème est identique de même que ORCA  qui est aussi impacté!
Question peut on imaginer que la macro comporte une erreur dans le Gcode changement de filament sans la BOX ?
Pouvons nous attribuer cette erreur à la mise à jour de QIDI studio pour l'utilisation de la BOX ?
Avez-vous rencontré ce problème si oui avec la BOX çà fonctionne ?

Citation

{if max_layer_z < 12}
G1 Z15 F1200
{else}
G1 Z{max_layer_z + 3.0} F1200
{endif}
TOOL_CHANGE_START F=[current_extruder] T=[next_extruder]
DISABLE_ALL_SENSOR
{if long_retractions_when_cut[previous_extruder]}
MOVE_TO_TRASH
G1 E-{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}
M400
{else}
G1 E-5 F{old_filament_e_feedrate}
{endif}
CUT_FILAMENT T=[current_extruder]
MOVE_TO_TRASH
M400
{if nozzle_temperature_range_high[current_extruder] >= nozzle_temperature_range_high[next_extruder]}
M104 S{nozzle_temperature_range_high[current_extruder]}
{else}
M104 S{nozzle_temperature_range_high[next_extruder]}
{endif}
M106 S0
M106 P2 S0
UNLOAD_T[current_extruder]
G92 E0
M83
G1 E2 F50
T[next_extruder]
{if nozzle_temperature_range_high[current_extruder] >= nozzle_temperature_range_high[next_extruder]}
SET_HEATER_TEMPERATURE HEATER=extruder TARGET={nozzle_temperature_range_high[current_extruder]} WAIT=1
{else}
SET_HEATER_TEMPERATURE HEATER=extruder TARGET={nozzle_temperature_range_high[next_extruder]} WAIT=1
{endif}
{if long_retractions_when_cut[previous_extruder]}
G1 E{retraction_distances_when_cut[previous_extruder]} F{old_filament_e_feedrate}
{endif}
M400
M106 S60
; FLUSH_START
G1 E1 F50
G1 E{65.5 * 0.58} F{old_filament_e_feedrate}
G1 E{65.5 * 0.02} F50
G1 E{65.5 * 0.18} F{old_filament_e_feedrate}
G1 E{65.5 * 0.02} F50
G1 E{65.5 * 0.18} F{old_filament_e_feedrate}
G1 E{65.5 * 0.02} F50
G1 E-[old_retract_length_toolchange] F1800
; FLUSH_END
{if flush_length_1 > 1}
M400
M106 S255
G91
G1 X-5 F60
G1 X5 F60
G90
CLEAR_FLUSH
M400
M106 S60
; FLUSH_START
G1 E[old_retract_length_toolchange] F300
G1 E{flush_length_1 * 0.58} F{new_filament_e_feedrate}
G1 E{flush_length_1 * 0.02} F50
G1 E{flush_length_1 * 0.18} F{new_filament_e_feedrate}
G1 E{flush_length_1 * 0.02} F50
G1 E{flush_length_1 * 0.18} F{new_filament_e_feedrate}
G1 E{flush_length_1 * 0.02} F50
G1 E-[old_retract_length_toolchange] F1800
; FLUSH_END
{endif}
{if flush_length_2 > 1}
M400
M106 S255
G91
G1 X-5 F60
G1 X5 F60
G90
CLEAR_FLUSH
M400
M106 S60
; FLUSH_START
G1 E[old_retract_length_toolchange] F300
G1 E{flush_length_2 * 0.58} F{new_filament_e_feedrate}
G1 E{flush_length_2 * 0.02} F50
G1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}
G1 E{flush_length_2 * 0.02} F50
G1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}
G1 E{flush_length_2 * 0.02} F50
G1 E-[new_retract_length_toolchange] F1800
; FLUSH_END
{endif}
{if flush_length_3 > 1}
M400
M106 S255
G91
G1 X-5 F60
G1 X5 F60
G90
CLEAR_FLUSH
M400
M106 S60
; FLUSH_START
G1 E[new_retract_length_toolchange] F300
G1 E{flush_length_3 * 0.58} F{new_filament_e_feedrate}
G1 E{flush_length_3 * 0.02} F50
G1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}
G1 E{flush_length_3 * 0.02} F50
G1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}
G1 E{flush_length_3 * 0.02} F50
G1 E-[new_retract_length_toolchange] F1800
; FLUSH_END
{endif}
{if flush_length_4 > 1}
M400
M106 S255
G91
G1 X-5 F60
G1 X5 F60
G90
CLEAR_FLUSH
M400
M106 S60
; FLUSH_START
G1 E[new_retract_length_toolchange] F300
G1 E{flush_length_4 * 0.58} F{new_filament_e_feedrate}
G1 E{flush_length_4 * 0.02} F50
G1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}
G1 E{flush_length_4 * 0.02} F50
G1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}
G1 E{flush_length_4 * 0.02} F50
G1 E-[new_retract_length_toolchange] F1800
; FLUSH_END
{endif}
M104 S[new_filament_temp]
M400
M106 S255
G91
G1 X-5 F60
G1 X5 F60
G90
M109 S[new_filament_temp]
G92 E0
M400
CLEAR_FLUSH
CLEAR_OOZE
M400
M106 S0
TOOL_CHANGE_END
G1 Y305 F9000
ENABLE_ALL_SENSOR

Capture d'écran 2025-11-15 082606.png

20251114_213806.jpg

Modifié (le) par fran6p
  • Triste... 1
  • vap38 changed the title to Le changement de filament ne fonctionne pas avec QIDI studio V2.3.0.70 ? sans la box
Posté(e) (modifié)
Il y a 7 heures, vap38 a dit :

avec la BOX çà fonctionne ?

Avec la Q2 ET la Box, ça fonctionne (clic droit sur la couche, changement de filament, choix du filament).

Sans Box, à mon avis, il faut utiliser l'insertion d'une pause comme expliqué dans ce guide, car les lignes de commandes de la macro, elles, utilisent des changements d'outil ( T(x) ) qui sans Box risquent de perturber l'imprimante.

Je n'ai pas trouvé sur le Github de Qidistudio d'un tel «bug».

PS: je me suis permis d'insérer ton bloc de macro dans une section Citation 😉.

 

Modifié (le) par fran6p
Posté(e) (modifié)

merci @fran6p OK si le changement de filament fonctionne avec la BOX c'est super 😄
Evidemment la pause fonctionne sans soucis pour le changement de filament.
J'ai essayé de placer une macro M600 dans printer.cfg hélas cela ne fonctionne pas l'extrudeur se met en home et stationne pour dire que le filament est trop froid. J'ai compris que le Gcode pour le changement de filament est spécifique à la BOX pour QIDIStudio 😃
si joint la macro 

[pause_resume]

[gcode_macro M600]
gcode:
    {% set X = params.X|default(50)|float %}
    {% set Y = params.Y|default(0)|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
    RESTORE_GCODE_STATE NAME=M600_state
 

Modifié (le) par vap38
Posté(e)

Avec la Q2, je n'ai aucune macro M600 😉. Avec la Plus4, c'est une macro fournie par Qidi ?

Dans la macro Qidi avec la Q2, gcode_macro.cfg, une macro M603 décharge le filament, une M604 charge le filament (Box ou pas Box), PAUSE (ou M0, M25) parque la tête en dehors de la surface d'impression.

Si une Box est connectée et détectée, le déchargement du filament utilise une autre macro UNLOAD_FILAMENT :

[gcode_macro UNLOAD_FILAMENT]
gcode : 
	{% if printer.save_variables.variables.enable_box == 1 %}
	{% set T = params.T|int %}
	CUT_FILAMENT T={T}
	MOVE_TO_TRASH
	UNLOAD_T{T}
	G1 E25 F300
	M104 S0
	CLEAR_OOZE
	CLEAR_FLUSH
	{% endif %}

Malheureusement, cette macro appelle une macro UNLOAD_T dont on ne sait pas exactement ce qu'elle fait : elle doit être intégrée dans un des fichiers Python obfusqué sous forme d'une bibliothèque (box.so). Pour le moment (et ça risque de durer), je n'ai pas découvert comment décompiler ces bibliothèques en .so 😞.

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...