Wikihouse porting tutorial/it

Introduzione
Questo tutorial spiega come convertire in FreeCAD i file di SketchUp utilizzati dal progetto WikiHouse, avvalendosi dello strumento Pannello di FreeCAD. Il risultato è una copia completa dell'originale file SketchUp, tranne che è diventato completamente parametrico. Il livello di parametricità del file finale dipende dal lavoro ad esso dedicato, come spiegato di seguito. È possibile fare le cose passo dopo passo, e ricostruire il file Wikihouse abbastanza rapidamente, e rimandare a dopo il più lungo lavoro di conversione in schizzi dei profili di base.

Questo tutorial richiede una conoscenza intermedia di FreeCAD, cioè, di sapersi destreggiare tra gli ambienti di lavoro e gli strumenti, di essere già in grado di modellare oggetti semplici, e, soprattutto, di essere a proprio agio con Draft Sposta e Draft Ruota. Si utilizzeranno principalmente gli strumenti di Draft e Arch, ma la conoscenza di Sketcher diventerà necessaria per convertire gli schizzi in profili di base.

Dato che il progetto Wikihouse è per natura aperto, è facile trovare i file sul sito del progetto, ma anche in SketchUp 3D Warehouse o nel repositorio repositorio github del progetto. Il formato preferito utilizzato dal progetto è Sketchup, quindi la maggior parte dei file che si trovano sono in tale formato.

Nel seguente tutorial abbiamo utilizzato il file Chassis del sotto-progetto Wikihouse's Microhouse.

Preparare il file di Sketchup
La prima cosa da fare è aprire il file in SketchUp ed eliminare tutto ciò che non si desidera esportare. Si esporta solo una parte della Microhouse, quindi tutto il resto deve essere eliminato.



In SketchUp, gli elementi Wikihouse sono realizzati in un determinato modo specifico: aggiungendo un po alla volta piccoli "pezzi" per creare i diversi componenti:



Questo non è il modo in cui si procederà in FreeCAD. Dato che una delle caratteristiche più potenti di FreeCAD sono gli Schizzi vincolati, è meglio approfittare di questo, e basare tutti gli elementi Wikihouse su schizzi. In questo modo, si può modificare qualsiasi parte in Sketcher, il che è molto più comodo.

Per trasformare gli oggetti di SketchUp in schizzi di FreeCAD, che possono poi essere utilizzati per creare dei Pannello, bisogna estrarre una faccia piatta da ogni pezzo Wikihouse. Lo spessore sarà nuovamente aggiunto in seguito, in FreeCAD, direttamente nelle proprietà del pannello Arch. In questo modo, sarà anche esso parametrico. Per convertire ciascun componente Wikihouse in una unica faccia piatta, entrare in ogni componente facendo doppio clic su di esso, quindi selezionare ogni sotto-componente, e fare clic destro -> esplodere, fino a quando tutti i sottocomponenti sono esplosi e il componente è composto solo da facce e spigoli:



Fatto questo, selezionare tutto nel componente, e deselezionare, con Shift + doppio clic, ogni faccia frontale del componente. Essere sicuri di fare doppio clic, invece di un solo clic, perché altrimenti si deseleziona solo la faccia e non i suoi bordi di confine (che sono anche necessari). Con questo, avremo deselezionato tutto ciò non vogliamo mantenere, quindi basta premere il tasto di cancellazione. Ora il componente è una unica grande faccia piatta.



Ripetere questa operazione per ogni componente. Dato che molti sono dei duplicati, questo non è un compito così enorme come sembra. Inoltre, se non si ha familiarità con il sistema Wikihouse, questo passaggio dà una buona comprensione di come funziona.

Quando il pezzo di casa è completamente fatto di elementi piani, possiamo selezionare tutto ed esportare in un file .dae, e quindi importare questo file in FreeCAD. Assicurarsi di spuntare "triangulate all"

Risolvere il bug delle facce doppie
C'è un brutto problema per il quale non ho trovato una soluzione migliore: gli oggetti mesh esportati da SketchUp nel formato .dae hanno le loro facce duplicate. Ogni faccia diventa in realtà due facce. Il modo più semplice che ho trovato finora è quello di aprire il file esportato in Blender per ripararlo:


 * 1) Aprire il file dae in Blender (File -> Import -> Collada)
 * 2) Selezionare un componente, e premere TAB per entrare in modalità di modifica
 * 3) Premere A per deselezionare tutto, poi di nuovo A per selezionare tutto
 * 4) Premere W -> Remove doubles
 * 5) Premere TAB per uscire dalla modalità di modifica
 * 6) Ripetere l'operazione per tutti i componenti
 * 7) Salvare un nuovo file dae (File -> Export -> Collada)

Normalmente l'operazione di cui sopra non dovrebbe modificare la scala, ma prima di andare avanti è sempre meglio verificare con gli strumenti di misura che la geometria sia importata nella scala corretta. Potrebbe essere necessario modificare le impostazioni di esportazione Collada di Blender.

L'importazione e la conversione in polilinee
Notare che potrebbe essere più facile procedere per parti e trattare + esportare gli oggetti gruppo per gruppo, come abbiamo fatto qui di seguito, dove abbiamo esportato solo il primo strato, fatto di elementi gialli in SketchUp. Questi elementi entreranno in FreeCAD come oggetti Mesh:



Il passo successivo consiste nel creare dei wire da ciascuno degli oggetti mesh. C'è una macro utile chiamata Estrai wire da mesh che fa proprio questo. Installarla (Fare riferimento alla pagina macro per le istruzioni), poi uno ad uno convertire tutti i mesh in oggetti wire (si può fare tutto in una volta, ma questa macro richiede un po' di tempo):



Ora potremmo già fare degli oggetti Pannello da ciascuno di questi oggetti filiformi, semplicemente selezionandoli e premendo il pulsante Pannello. Però, la loro forma di base non sarebbe parametrica. Ora abbiamo a disposizione diverse opzioni: possiamo trasformare ogni componente in uno schizzo, utilizzando lo strumento Draft2Sketch, ma questi schizzi sarebbero piuttosto pesanti, e potrebbero non essere molto maneggevoli su una macchina lenta, oppure possiamo trasformare ogni singolo wire (il contorno e ogni foro) dello schizzo in uno schizzo separato. Ciò permette, ad esempio, di riutilizzare un foro tipico, cioè di crearlo una volta sola e poi duplicarlo con Clona per creare gli altri fori. In questo modo, basta modificarne uno per modificarli tutti.

La macro Extract Wires from Mesh talvolta non riesce a trovare dei wire chiusi all'interno di un mesh, e non produce dei pannelli corretti. Una procedura facile per ricomporre i wire di un componente è questa:


 * 1) Selezionare il componente, opzionalmente nascondere tutto il resto per avere una visione migliore
 * 2) Scomporlo. Esso viene esploso in una serie di singoli spigoli
 * 3) Iniziare a selezionare i fori con Ctrl o utilizzando Shift + B con un rettangolo di selezione
 * 4) Premere Promuovi per riconvertire ogni foro in un singolo wire
 * 5) Infine selezionare nella struttura tutti i rimanenti singoli bordi che formano il contorno e Promuovere anche essi
 * 6) Selezionare Part->crea Composto per unire di nuovo tutti questi wire in un unico oggetto
 * 7) Selezionare il composto e premere il pulsante Pannello



Qui sono possibili molte strategie, a seconda di come è necessario che il risultato sia modificabile e preciso. L'oggetto Pannello ha bisogno di un oggetto di base fatto di wire. Non importa come viene realizzato questo oggetto, se è un singolo schizzo, o, come nell'esempio precedente, o se è un composto di diversi schizzi o se è un oggetto di Draft.

Conversione in Schizzi
Dato che possiamo già creare dei pannelli da ciascun componente, si può fare questa parte in seguito, ma vediamo comunque come convertire un oggetto filiforme in uno schizzo:


 * 1) Creare una copia dell'oggetto filiforme con Ctrl+C, Ctrl+V. In questo modo è possibile modificarlo, ma mantenere ancora una copia nella sua posizione corretta
 * 2) Spostarlo e ruotarlo in modo che si trovi nel piano XY, utilizzando Sposta e Ruota. Questo non è sempre indispensabile, ma è utile, altrimenti il punto successivo a volte fallisce
 * 3) Usare Draft Draft2Sketch per trasformare il wire in uno schizzo. State attenti, questo può fallire o impiegare un tempo molto lungo per grandi wire. È meglio scomporre l'oggetto in singoli wire come indicato sopra.
 * 4) Se il comando precedente non riesce, utilizzando Promuovi due volte su un oggetto filiforme, per convertirlo in una faccia e poi in un Wire, prima di utilizzare Draft Draft2Sketch, di solito funziona meglio, perché Draft Wire mantiene una migliore traccia dell'ordine dei vertici all'interno di un wire.
 * 5) Le curve sono composte da tanti piccoli segmenti. Esse possono essere lasciate così come sono, ma introducono un sacco di vincoli endpoint. È meglio sostituirle con degli archi. È abbastanza facile da fare, basta eliminare i piccoli segmenti e sostituirli con un arco. L'arco può quindi essere reso tangente ai segmenti vicini, ma prima di fare questo assicurarsi che la posizione di questi segmenti sia bloccata, siccome questa operazione può farli muovere.
 * 6) Se si sono lavorati diversi schizzi, fare un Composto di essi
 * 7) Dal composto creare un Pannello
 * 8) Ruotarlo e spostarlo per riportarlo nella posizione iniziale con Sposta e Ruota



Ricostruire la Wikihouse ed esportare le sagome dei fogli
Inoltre, fare attenzione a non duplicare nessuna parte. Invece, selezionare lo strumento Clona per duplicare le parti basete sullo stesso profilo, in modo che esse condividano uno stesso oggetto profilo. Dopo, dato che abbiamo il contorno nella posizione corretta utilizzabile come guida, è abbastanza facile ruotare e spostare il clone nella sua corretta posizione con Sposta e Ruota.

After a while, all our Microhouse section is done.



We can now easily create the cut sheets, which are DXF files that will be sent to the shop that will cut the actual panels. The easiest way to do this is to select everything in your document with Ctrl+A, and then use the Arch Panel Cut tool. This will produce one Panel Cut object for each Panel object found in the selection. By moving them apart, we get a clear view of all our pieces:



We must then "nest" our pieces, that is, move and rotate them so they occupy as much as possible to space of a given panel, to generate as little material loss as possible. This operation unfortunately needs to be done by hand, but if you are using a Wikihouse project that already has produced cut sheets, copying them goes pretty fast:


 * 1) To make sure everything will stay in the XY plane, it is advised to set the Workign Plane to XY (top)
 * 2) Create an Arch Panel Sheet
 * 3) Give it the desired width and height values (Wikihouses are typically printed on 122x244cm plywood sheets)
 * 4) Move it to a convenient place with Draft Move
 * 5) Optionally, set its margin values to help you position the cut pieces
 * 6) Move and rotate the individual Arch Panel Cut objects so they fit inside the Panel Sheet
 * 7) When you are more or less ready, select the Panel Sheet, and double click it in the tree view to enter Edit mode
 * 8) Select all the Panel Cuts you wish to insert in it (you may want to switch the tree view to the "project" tab to select in the tree)
 * 9) Select the "group" section in the Panel Sheet's Task view
 * 10) Press the "Add" button
 * 11) Press the "OK" button

In the Panel Sheet's Task view, there is also a button that allows you to move the individual Panel Cuts after they've been inserted inside the sheet. After a while, we have our sheets ready:



The last step is simply to select all the sheets, then export them to DXF from menu File -> Export. The sheets contents will be exported separated in different layers, with the same color coding commonly used by the Wikihouse project:



These files are ready to send to the shops that will do the actual cut. It would be possible to generate the G-Code to be sent to the CNC machine directly from FreeCAD too, but that is matter for another tutorial.