Slic3r 1.2 – layer infill avanzato

A seguito di questa discussione sul forum RepRap Italia e a una chiacchierata con Alessandro, ho deciso di scrivere una guida sulla gestione avanza degli infill in Slic3r.

Con le nuove funzionalità ora è possibile variare la densità dell’infill all’interno dell’oggetto. A cosa serve? In alcuni modelli particolari può tornare utile avere densità diverse, come ad esempio nel manico di un ukulele. Infatti nella stampa dello strumento era necessario rinforzare la zona tra la paletta e il manico; ma questo comportava dover stampare ad elevata densità anche il resto del manico, con spreco di materiale, tempo ed eventuali problemi di warping.

Per ottenere ciò innanzitutto dobbiamo andare a creare un solido corrispondete allo zona in cui vogliamo variare l’infill:Sezione variazione infill

Nel caso sopra ho fatto una sezione completa dell’oggetto (il prisma), ma avrei potuto fare anche solo una porzione, oppure una sezione dell’area interna. Procediamo con l’esportare in formato STL del modificatore.

Importiamo normalmente in slic3r il nostro modello e ci clicchiamo sopra col tasto destro e selezioniamo “settings”:

Slic3r

ora clicchiamo su “Load Modifier”:

Slic3re selezioniamo l’stl del modificatore, che comparirà sovrapposto graficamente all’oggetto:

slicercon l’stl del modificatore selezionato, clicchiamo sul tasto verde con il “più” e dal menù che ci si apre selezioniamo Infill -> fill density:

Slicere poi variamo la densità:

Schermata-3Ed ecco il risultato:

Schermata-3Possiamo anche aggiungere più modificatori per oggetto, ottenendo ad esempio il seguente risultato:

Schermata-3Nella prossima guida vedremo come personalizzare le geometrie interne dell’infill, con una qualsiasi forma da noi creata.

 

VN:F [1.9.22_1171]
Rating: 7.2/10 (9 votes cast)
VN:F [1.9.22_1171]
Rating: -1 (from 3 votes)

Slic3r: eseguire script post generazione G-Code

È stata possibile la realizzazione di questo articolo grazie all’aiuto di Michele Beltrame di ItalProesperto di programmazione in Perl oltre che fervente sostenitore dell’OpenSource. Ovviamente sono state fondamentali le indicazioni fornitemi dall’ineguagliabile Alessandro Ranellucci. Questa guida prende spunto da questa pagina: http://manual.slic3r.org/PostProcessingScripts.html

Slic3r, tra le tante opzioni disponibili, ci permette di eseguire degli script dopo l’elaborazione del nostro G-Code; il programma ci fornisce questa possibilità in modo da poter modificare il codice in base alle nostre esigenze. Ciò si rileva estremamente utile, poiché andare a modificare il codice sorgente di Slic3r non è una cosa semplice per chi non ha dimestichezza con la programmazione.

Lo script può essere scritto in un qualsiasi linguaggio, ma siccome abbiamo già tutto pronto per Perl, conviene usare direttamente quello.

Prima di tutto doppiano dire a Slic3r che script eseguire. Andiamo su Print Settings –> OutPut Option –> Post porcessing Script

Qui dobbiamo inserire il percorso del nostro file:

  1. se siamo sotto linux il percorso sarà simile a questo:  /home/mio_utente/cartella_dove_ho_salvato/./script.pl      Ricordiamoci che bisogna anteporre ./ prima del nome dello script
  2. Se siamo sotto windows:
    C:\percorso_file\script.pl

Ora procediamo a scrivere il nostro codice; dovendo rielaborare di fatto un file di testo, la funzione principale che deve eseguire è quella di cercare una stringa e sostituirla con un altra. Questo può tornare utile ad esempio se vogliamo che la stampante esegua un determinato comando un layer si ed uno no, oppure dopo un determinato numero di layer, oppure al cambio di estrusore. Di possibili motivazioni ce ne sono molte.

Iniziamo:

#!/usr/bin/perl -i

use strict;
use warnings;
use utf8;

l’opzione -i permette di eleborare più facilmente il G-Code mentre le restanti righe servono per dichiarare le tre librerie elencate.

$^I = '.bak';

questa serve se stiamo lavorando con Windows, altrimenti sotto linux è superflua.

while (my $riga = <>) {
    $riga =~ s/La_stringa_da sostituire/Il_mio_primo_comando\
Il_secondo_comando/g;
    $riga =~ s/La_stringa_da sostituire2/Il_mio_terzo_comando/g;
print $riga;
}

Il while serve a fare un ciclo in modo da leggere tutte le righe del G-Code;

$riga =~ s/……./ va a definire una variabile stringa; La_stringa_da sostituire è l’elemento da sostituire, mentre Il_mio_primo_comando è l’elemento sostitutivo. L’ultimo comando deve essere seguito da /g;

Ricordatevi che se volete inserire più di un comando, la sintassi del G-code vuole che siano incolonnati a capo, e quindi dopo ogni istruzione va inserito il carattere \

Se abbiamo un po’ di confidenza con la programmazione potremmo arrivare ad implementare istruzioni veramente interessati, che fanno uso di IF o altri sistemi.

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

Ti si rompe la chiave dell’auto? Te la stampi a casa!

Circa un anno fa mi si è rotta la chiave-telecomando della Toyota Yaris; l’elettronica e la chiave metallica erano integre, ma si era crepato l’involucro plastico che teneva tutto insieme. Ho chiesto un duplicato all’autoconcessionario, ma il preventivo di oltre 100 euro mi ha spinto ad usare la replica che è sprovvista dell’elettronica (oltretutto la chiave avrebbe raddoppiato il valore stesso dell’auto, che quest’anno ha raggiunto la veneranda età di 15 anni).

Chiave toyota yaris

Siccome ho acquisito una certa dimestichezza con la modellazione CAD con Blender ed avendo appreso i comandi per lo “stop and go” della stampante, mi sono cimentato nell’impresa di ricreare la chiave, utilizzando però un “unica” fase di stampa: ho fermato la stampa per poter inserire la chiave e l’elettronica e poi l’ho riavviata in modo da ottenere un unico oggetto, che ovviamente è più solido e meno soggetto a rottura. Ecco i risultati:

Chiave toyota yaris stampata Chiave toyota yaris stampata

 

Al seguente link: modello chiave Toyota Yaris trovate l’STL.

Per realizzare la chiave dovete mettere un @pause al layer 40 per l’inserimento della chiave, ed un altro al layer 55 per l’inserimento dell’elettronica.

VN:F [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 1 vote)

RepRap: la tesi di laurea.

Ieri si è definitivamente concluso il mio percorso accademico con la discussione della tesi di laurea. Come avrete intuito dal titolo, l’elaborato aveva come argomento la stampante 3D a basso costo del progetto RepRap e se era possibile costruire una macchina con volume di stampa maggiorato. La tesi ha analizzato nel complesso tutte le tematiche legate alla stampante, dalla meccanica al software di slicing, dal modello CAD all’elettronica.

Alcune parti oramai sono diventate obsolete, a dimostrazione dell’elevata velocità evolutiva del progetto, ma nel complesso le basi e le problematiche risolte sono ancora valide. Buona lettura:

Scarica la tesi di Ivan Bortolin: Progettazione e sviluppo di una stampante tridimensionale con tecnologia Fused Deposition Modeling di tipo RepRap (prototipatori rapidi autoreplicanti)

P.S: a breve caricherò i sorgeti Latex.

VN:F [1.9.22_1171]
Rating: 6.5/10 (11 votes cast)
VN:F [1.9.22_1171]
Rating: -1 (from 1 vote)

Stampa multicolore a singolo estrusore.

Software utilizzati:

  1. RepetierHost 0.90D per Linux
  2. Firmware Marlin V1 (scaricato a gennaio), con:

#define DISABLE_X false
#define DISABLE_Y false
#define DISABLE_Z true
#define DISABLE_E true

Per il seguente tutorial ho preso ispirazione da questa discussione sul forum e sopratutto dal seguente video.

Con le ultime versioni di Marlin e RepetierHost è possibile realizzare stampe in multicolore (o multimateriale) anche se si dispone di un singolo estrusore; premetto che il procedimento che andrò a spiegarvi è consentito quando i diversi colori sono divisi sui layer separati. Se sullo stesso layer è presente più di un colore (o di un materiale) è necessario dotarsi del doppio estrusore.

Il trucco consiste nel mettere in pausa la stampante, togliere il filo fino a quel momento utilizzato, inserire quello nuovo e riavviare la macchina.

Carichiamo il nostro modello su RepetierHost e lanciamo lo slicing; per capire dove vogliamo cambiare il filo, ci viene in aiuto il visualizzatore di tracciato. Possiamo individuare il punto da noi interessato con “visualizza singolo layer” oppure una serie di layer con “visualizza un range di layer” (purtroppo nello screenshot non si vede).

Individua layer

Individuati i layer in cui desideriamo cambiare materiale, andiamo a modificare il G-Code. Posizioniamo il cursore nel G-Code ed andiamo a cercare la riga che ci serve. Per fortuna ci viene in aiuto RepetierHost, che in basso ci dice a quale layer corrisponde il punto del G-Code nel quale ci troviamo, e la barra di sinistra cambia colore tra un layer e l’altro:

repetier2Ora cerchiamo il codice G92 (con le impostazioni standard di Slic3r dovrebbe esserci sempre); questo codice serve a settare la posizione, per approfondimenti wikipedia.

Subito sotto aggiungiamo la stringa:

@pause

questo comando manderà in pausa la stampante, ma permette anche l’esecuzione di script esterni. Fermare la stampante nell’esatto punto in cui finisce il layer non è una buona idea, perché oltre a deformarsi il punto a causa dell’hotend ancora in temperatura, il cambio del filo comporta l’estrusione di parecchio materiale prima di eliminare definitivamente quello precedente. L’ideale è spostare l’estrusore in una area di “servizio”, cambiare filo e ripartire. L’esecuzione di script ovviamente ci viene in aiuto.

Quindi dal menù a tendina nella Tab G-Code selezioniamo “vai in pausa”:

repetier3ed aggiungiamo il comando G1 più le coordinate da noi desiderate. Vi ricordo che stiamo usando le coordinate assolute, quindi l’estrusore si posizionerà in quel punto rispetto alla nostra “Home” e non rispetto all’oggetto. Le prime volte vi consiglio di fare qualche prova con qualche oggetto semplice, per prendere dimestichezza con le dimensioni della vostra area di stampa. Si possono anche inserire altri comandi necessari a quello che vogliamo fare, come ad esempio variare la temperatura di estrusione.

Oltre al comando @pause ci può tornare utile inserire il comando @sound qualche layer prima del cambio filo. Questo farà eseguire una traccia audio, utile per avvisarci che da li a breve sarà necessario il nostro intervento. Oltretutto la traccia è selezionabile –> Configurazione –> Configurazione suoni –> Suono per comando @sound

Ora non resta che lanciare la stampa ed aspettare il cambio layer; se abbiamo fatto tutto correttamente, il vostro computer incomincerà a suonare a da li a breve l’estrusore si posizionerà nell’area di servizio per il cambio filo:

cammbio_filo

In questa operazione tornano utili le impostazioni del firmware scritte all’inizio dell’articolo: queste fanno in modo che i motori degli assi X e Y vengano mantenuti in tensione (e quindi tengono la posizione) anche se non utilizzati, mentre disalimentano quello dell’estrusore, permettendoci di estrarre a mano il filo. Ovviamente questa operazione deve essere eseguita con la massima cura possibile, perché basta un minimo movimento dei carrelli, che gli allineamenti saltano.

Sostituito il filo non ci resta che riavviare la stampa cliccando sull’apposito bottone:

repetier4

Questa tecnica, oltre a permetterci stampe multicolore, ci consente di eseguire lavorazioni particolari, come l’inserimento di dadi o altra componentistica, prima della chiusura dell’oggetto.

DSC03901 DSC03902

VN:F [1.9.22_1171]
Rating: 8.7/10 (7 votes cast)
VN:F [1.9.22_1171]
Rating: +1 (from 3 votes)