Assembly Basic Tutorial/it

Questo tutorial vi darà alcune informazioni sul flusso di lavoro di assemlaggio corrente, e nel mentre fornisce teorie di base del disegno utilizzato. L'obiettivo è quello di riuscire a capire come funziona l'ambiente di assemblaggio, come è strutturato e come usarlo.

Questo ambiente è ancora in una fase di sviluppo iniziale, quindi usandolo si può verificare un comportamento incoerente e ogni tipo di errore o crash. Si prega di segnalare i problemi riproducibili nel sub-forum assembly o nel bug tracker mantis.

Come spostare le cose: I sistemi di coordinate
L'obiettivo di un ambiente di lavoro per l'assemblaggio è quello di riuscire a spostare le parti dove si vuole. È quindi evidente che ci deve essere un modo per ottenere questa trasformazione delle parti, e questa prima parte dell'introduzione riguarda questa funzionalità di base.

In FreeCAD ogni oggetto che viene creato nello spazio 3D possiede un proprio sistema di coordinate. Questo è il sistema locale ed è impostato in relazione al suo sistema genitore tramite una trasformazione, cioè la sua posizione (placement). Il posizionamento di un oggetto definisce come la geometria locale deve essere traslata e ruotata per essere espressa nel sistema genitore. Quindi, quando si sposta una parte modificando la sua proprietà posizione, non si cambia la parte, ma si cambia solo la trasformazione del suo sistema di coordinate nel sistema genitore. Immaginate un semplice cubo creato nel workbench Part. Una volta creato, il parametro di lunghezza cambia la dimensione del cubo nella direzione locale di x. Così come il posizionamento è vuoto, lo è anche la direzione x globale. Se si ruota la parte impostando un asse di rotazione e un angolo, la lunghezza sarà ancora nella direzione locale di x, ma dato che le immagini sono presentate nel sistema di coordinate globale, visivamente non cambierà più in x. La geometria del cubo non viene cambiata, viene solo trasformata la sua visualizzazione.



Questo può dare l'impressione che spostare le singole parti sia una cosa facile: basta utilizzare la sua posizione. Però, in FreeCAD la maggior parte dei disegni possiede molte caratteristiche (features) quali i pad, gli scavi ecc. Come fare a gestire tutto questo? Spostare tutte le caratteristiche? Solo l'ultima? Entrambi i modi introdurrebbero molti problemi nel funzionamento della modellazione, quindi viene utilizzata una terza via: non spostare le caratteristiche di nessuno! Come alternativa, nella modellazione generale è stato introdotto il concetto di Body (corpo). Il Body ora raggruppa sotto di sè tutto quello che viene fatto in Part Design. Anche questo oggetto ha una proprietà di posizionamento che può essere trasformata.

This would make it easy to move single parts around: just adopt its placement. However, in FreeCAD most designs are done with many features (pads, pockets etc.), how would on handle that? Move every feature? Only the last one? Both way would introduce some very problematic modeling behavior, therefore a third way is used: don't move features at all! Instead the concept of a Body was introduced into general modeling, everything done in part design is now grouped beneath it. This object has a placement property too and can be transformed.

Torniamo ai sistemi di coordinate locali e genitore: il Body è l'incarnazione perfetta di questo concetto! Qualsiasi caratteristica sottostante il Body non può essere spostata direttamente, il suo posizionamento è sempre vuoto. Ciò significa che le caratteristiche geometria non hanno bisogno di essere ruotate o traslate se vogliamo esprimerle nel sistema di coordinate del Body. Però siamo in grado di spostare il Body nel sistema di coordinate globale impostando il suo posizionamento, e in questo modo il valore globale delle funzionalità geometria viene calcolato applicando anche questa trasformazione. Ricordate, ruotiamo i sistemi di coordinate. Ciò significa, che quando trasformiamo il sistema del Body, ogni cosa sottostante lo usa come sistema globale personale. Non vi è alcuna necessità di spostare le caratteristiche. Per avere tutto il disegno in un posto diverso basta modificare il posizionamento del Body!

Per riassumere: I sistemi di coordinate possono essere impilati, ogni oggetto usa il suo sistema genitore come proprio sistema globale. Se il sistema di coordinate genitore si trasforma, anche tutti i figli si trasformano senza cambiare i loro sistemi locali.

Che cosa può essere assemblato: modello di oggetto
Con l'oggetto Body abbiamo tutto quello che vogliamo per l'assemblaggio: siamo in grado di spostare i disegni complessi in modo comprensibile, giusto?. Ma non basta! Che cosa accade se si vuole avere il proprio disegno ripetuto molte volte nell'assemblaggio? Per esempio, dopo aver modellato una vite non si desidera rimodellarla ogni volta che ne serve una nuova. La copia può funzionare, tuttavia, che cosa succede se si cambia il disegno della vite: cambiano tutte le copie? Questo sarebbe molto fastidioso. Per superare questo problema, viene di nuovo introdotto un nuovo oggetto: l'oggetto Part (parte). Una parte è un oggetto di assemblaggio puro e può essere creato solo all'interno di questo ambiente. Il suo scopo è quello di fare riferimento a un oggetto Body e di fornire un sistema di coordinate diverso.



Per capire perché viene introdotto l'oggetto parte dobbiamo prima considerare come sono spostate le cose in FreeCAD. Consentitemi di estendere il precedente grafico Body con due parti che fanno riferimento allo stesso Body, come mostrato nella figura a destra. Il sistema locale dei Body è lo stesso in entrambe le parti, ma le parti possiedono un loro proprio posizionamento e quindi possono essere trasformate in relazione al sistema globale. Siccome i posizionamenti vengono applicati in modo ricorsivo, le stesse caratteristiche possono finire in posizioni diverse. Immaginate di cambiare il posizionamento delle parti P4 e P5 assegnando dei valori diversi, tutto il vostro disegno apparirebbe in due luoghi diversi all'interno del sistema globale, senza alcuna modifica delle caratteristiche o del corpo che li detiene. E poi immaginate di cambiare anche il sistema di coordinate del corpo P3: nello stesso modo si può cambiare la posizione di tutte le incarnazioni del proprio disegno!

Vi chiederete come è possibile che il designo sia in due posti pur essendoci solo una geometria. Questo è semplice: la Part mostra solo una rappresentazione visiva della geometria contenuta all'interno del Body, e si possono avere molte immagini di una sola parte. Anche queste rappresentazioni visuali vengono trasformate impostando il loro posizionamento. Una parte non contiene alcuna informazione di modellazione.

Torniamo al nostro caso: se avete bisogno di 100 viti nel vostro disegno potrete modellare un solo Body. Dopo si possono aggiungere tante parti quante si vuole pur detenendo un solo Body. Applicando solo diversi posizionamenti per le parti è possibile spostare le viti come si desidera. Inoltre quando si cambia qualcosa nel disegno, il corpo viene aggiornato e anche tutte le parti, siccome tutte fanno riferimento ad esso. Impressionante!

Ora immaginate un altro caso: si ha un bel gruppo motore elettrico costituito da diverse parti, tutte posizionate correttamente. Successivamente si vuole creare una macchina più grande e per essa si ha bisogno di più motori elettrici. Volendo riutilizzare il gruppo motore, si applica lo stesso ragionamento con le molteplici incarnazioni del corpo. Per i disegni semplici, siamo stati in grado di creare più parti di un corpo, però, non possiamo creare una parte da più parti. Perciò abbiamo bisogno di un nuovo oggetto che possa fare questo! FreeCAD introduce per questo l'oggetto Productc (prodotto). Un Product è sostanzialmente un assemblaggio di più parti, ma ha anche una sua struttura di posizionamento. Che cosa significa? Diventa chiaro quando andiamo di nuovo a estendere il grafico del sistema di coordinate aggiungendo il nuovo oggetto Product.



Ora le parti non sono più sotto il sistema di coordinate globale, ma sono raggruppate sotto il Product. Per le parti non cambia nulla: si lavora come prima. Infatti, se il Product1 fosse l'oggetto di livello superiore, non cambierebbe assolutamente nulla. Il sistema globale è semplicemente sostituito dal sistema di coordinate del Product che agisce come uno globale. Nel nostro esempio però, abbiamo aggiunto il Product ad un altro Product, insieme a un terzo elemento parte. Ora diventa interessante: Siccome il Product ha una proprietà di posizionamento, può essere spostato! E abbiamo già imparato che una tale trasformazione viene applicata a tutti i figli. Pertanto quando si cambia il posizionamento di Product1 le parti 1 e 2 si spostano.

Torniamo al nostro esempio: Product1 sarebbe il motore elettrico, Product2 la macchina più grande. Ora è possibile aggiungere più Product alla macchina che riferisce tutte le stesse parti di Product1, quindi tutto quello che rappresenta un motore elettrico. E siccome ogni prodotto può essere posizionato diversamente, è possibile spostare tutti i motori in posizioni differenti. Combinarlo con altre parti e assiemi e si può costruire una macchina complessa. Anche in questo caso, se si aggiorna un Body, si aggiornano anche tutte le parti e di conseguenza tutti i Product con riferimento a esso.

Infine si può chiedere perché non esiste un sistema di coordinate globale nell'ultima immagine. Questo perché un sistema di coordinate globale non esiste, era solo un concetto per facilitare la spiegazione. Se assemblate il motore elettrico, il sistema di coordinate di livello superiore è il sistema di Product1. Tuttavia, questa non è una cosa di carattere generale globale dato che è possibile aggiungerlo ad un altro Product che è il primo livello. E questi può essere aggiunto a un altro, e così via. Non esiste un come sistema di coordinate globale, esiste solo un livello superiore.

Per riassumere: nel workbench di assemblaggio è possibile combinare le parti agli assiemi (Product). Questi Product possono essere tracciati insieme ad altre parti in quantità arbitraria.

Come impostare le Relazioni: i vincoli di assemblaggio
Fino ad ora abbiamo discusso di tutti i dettagli per spostare gli oggetti coinvolti usando i dati dei posizionamenti. Comunque è molto noioso dover calcolare tutti i posizionamenti e impostarli manualmente tramite l'editor delle proprietà. Sarebbe meglio poter impostare delle semplici relazioni tra le parti, invece di astratte rotazioni e traslazioni. Pertanto FreeCAD introduce vincoli di assemblaggio. Come indica il nome, essi funzionano come nella Sketcher: l'utente applica degli attributi alle geometrie dei pezzi. Questi attributi possono essere, per esempio, la distanza tra due punti, o il l'orientamento delle linee (parallele, perpendicolari) ecc. Poi FreeCAD cerca di trovare i posizionamenti che soddisfano tutti i vincoli assegnati.

L'idea è abbastanza semplice: si hanno due parti, e si vuole metterle in qualche modo in relazione tra di loro.