Creare una base di codiceG gcode per la stampante3d

Come creare una base di codiceG ( gcode ) per la stampante3d . Quella parte  che serve per preparare la stampante 3d in modo tale che sia pronta per la stampa. Incollo qui sotto il codice che ho utilizzato nel video poi andrò a semplificarlo fino ad ottenere una base  .

;FLAVOR:Marlin
;TIME:589
;Filament used: 0.243068m
;Layer height: 0.1
;Generated with Cura_SteamEngine 4.0.0
M104 S200
M105
M109 S200
M82 ;absolute extrusion mode
M73 P0
M158
G21
G90
M104 S220 T0
M109 S100 T0
G162 X Y F2500
G161 Z F1100
G92 Z-5
G1 Z0.0
G161 Z F100
M132 X Y Z A B
G1 X230.0 Y5.0 Z10.0 F3300.0
M6 T0
M6 T0
M108 R3.0 T0
G1 X230 Y5 F3300.0
G1 Z0.6 F1100
M108 R4.0
G4 P1500
M105
G1 X210.0 Y5.0 Z1 F3300.0
G92 E0
G1 F1500 E-6.5
;LAYER_COUNT:99
;LAYER:0
;TYPE:WALL-INNER
G0 F3600 X120 Y70
G1 F1500 E0.01
G1 F800 X150 Y70 E0.02
G1 X150 Y100 E0.04
G1 X120 Y100 E0.06
G1 X120 Y70  E0.08
G0 F3600 X100 Y60

Come esercizio , voglio creare la prima parte del codice che serve per preparare la stampante .  . Elimino dal codice g  qui di sopra i comandi di temperatura  e l’estrusione che al momento non  servono andrò a spiegare quei codici nei miei prossimi articoli .

M73 P0
M158
G21
G90
G162 X Y F1000
G161 Z F1000
G92 Z-5
G1 Z0.0
G161 Z F100
M132 X Y Z A B
G1 X230.0 Y5.0 Z10.0 F1000.0
G92 E0
G0 F1000 X120 Y70
G0 F1000 X100 Y60

Il metodo che sto adoperando e un po particolare è importante capire il perché..!!?? Adesso mi spiego .  Nel  mercato troviamo moltissime marche di stampanti 3d  . Ogni una di esse a specifiche diverse . Il metodo che sto descrivendo e come una scorciatoia che si può utilizzare su qualsiasi modello di stampante 3d.   Ora descrivo brevemente  i codici che ho prelevato :

M73 P0  ( inizia la procedura di costruzione )
M158    (imposta un nuovo arresto massimo per un asse)
G21     (imposta i millimetri (MM) come unita di misura )
G90     (imposta l'attuale posizione come assoluta )
G162 X Y F1000 ( Porta le assi X Y in posizione"Home position"(dipende dal firmware) 
G161 Z F1000    (Porta l'asse Z in posizione"Home position")
G92 Z-5  (imposta l'attuale posizione dell'asse Z come -5 (solo per la mia stampante) 
G1 Z0.0  (sposta l'asse Z al punto 0 (zero)
G161 Z F100 (Porta l'asse Z in posizione"Home position")
M132 X Y Z A B ( Qui richiama tutti i valori "offsets" memorizzatati nel firmware  
G1 X230.0 Y5.0 Z10.0 F1000.0 ( posiziona l'ugello nel punto di partenza)
G92 E0 (Imposta la posizione di origine dell estrusore in questo caso pari a 0)
G0 F1000 X120 Y70  (Sposta l'ugello nelle coordinate  X120 Y70)
G0 F1000 X100 Y60  (Sposta l'ugello nelle coordinate X100 Y70 )

Quello che ho ottenuto è una base compatibile con la mia stampante Hamlet da qui posso andare ad aggiungere altri comandi .

“Bla bla bla ma funziona ?!”

vediamolo in pratica :

 

Ce da notare che come si vede nel video la stampante non aspetta di raggiungere le temperature di estrusione e non estrude nulla . In questi casi sarebbe  saggio  lasciare l’estrusore vuoto !!

La base con il codice g che ho prelevato sulla mia stampante funziona ! Quello che voglio fare e renderla un po più corta  eliminando i comandi che penso non servono .

La trasformo come segue per creare una base di codiceG ( gcode ) per la mia stampante3d   :

M73 P0 			 ( inizia a costruire )
M158     	         (imposta un nuovo arresto massimo per un asse)
G21		         (imposta i millimetri (MM) come unita di misura )
G90			 (imposta l'attuale posizione come assoluta )
G162 X Y F1000		 ( porta le assi X Y in posizione"Home position")
G161 Z F1000		 ( porta le assi X Y in posizione"Home position")
M132 X Y Z A B		 ( richiama i valori "offsets" memorizzatati nel firmware")
G1 Z30 F1000		 (sposta l'asse Z al punto z30 mm)
G92 E0		         (imposta come 0 il valore del estrusore )
G0 F1000 X120 Y70 Z50    (sposta l'asse x y nei punti x120 y70)

Ora mi sembra perfetto vediamo come si comporta nella stampante :

 

Nel articolo che segue voglio inserire i comandi per estrudere il filamento !Pubblicità