Assembly Basic Tutorial/it

Questo tutorial fornisce alcune informazioni sul flusso di lavoro in un assemlaggio e nel mentre fornisce le teorie di base sull'utilizzo del disegno. L'obiettivo è quello di riuscire a capire come funziona l'ambiente di assemblaggio, come è strutturato e come usarlo.

Questo ambiente è ancora all'inizio dello sviluppo, quindi usandolo si possono verificare errori, crash, oppure comportamenti incoerenti. Si prega di segnalare nel sub-forum assembly o nel bug tracker mantis i problemi riproducibili.

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 introduttiva riguarda proprio tale funzionalità di base.

Tutti gli oggetti di FreeCAD creati nello spazio 3D possiedono un loro proprio sistema di coordinate. Questo sistema è 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à placement, non si modifica la parte, ma si cambia solo la trasformazione del suo sistema di coordinate nel sistema genitore. Immaginate un cubo creato nel workbench Part. Una volta creato, il parametro di lunghezza cambia la dimensione del cubo nella direzione della x locale. Il posizionamento è vuoto, così come lo è anche la direzione x globale. Se la parte viene ruotata impostando un asse di rotazione e un angolo, la lunghezza sarà ancora nella direzione della x locale, 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 si poteva gestire tutto questo? Spostare tutte le caratteristiche? Solo l'ultima? Entrambi i modi avrebbero introdotto molti problemi nel funzionamento della modellazione, quindi è stata utilizzata una terza via: non spostare le caratteristiche di nessuno! Come alternativa, nella modellazione generale è stato introdotto il concetto di Body (corpo). Ora il Body raggruppa sotto di sè tutto quello che viene creato nell'ambiente Part Design. Anche questo oggetto ha una sua proprietà placement che può essere trasformata.

Torniamo ai sistemi di coordinate locali e genitore: il Body è l'incarnazione perfetta di questo concetto! Tutte le caratteristiche sottostanti il Body non possono essere spostate direttamente, il loro posizionamento è sempre vuoto. Ciò significa che per esprimere le caratteristiche di geometria nel sistema di coordinate del Body non è necessario ruotarle o traslarle. Inoltre, 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 proprio sistema globale. Non vi è alcuna necessità di spostare le caratteristiche. Per posizionare tutto il disegno in un determinato punto 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 creare un assemblaggio: siamo in grado di spostare i disegni complessi in modo comprensibile, vero?. Ma non basta! Cosa succede quando si ripetere più volte il proprio disegno nell'assemblaggio? Per esempio, dopo aver modellato una vite non si desidera rimodellarla ogni volta che ne serve una nuova. La copia può funzionare, ma, cosa succede se si modifica il disegno della vite? Cambiano tutte le copie? Questo sarebbe molto fastidioso. Per superare questo problema, è stato introdotto un secondo 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é è stato introdotto l'oggetto Part 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 seguente.



Il sistema locale P3 del Body è il medesimo per 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 stabilirsi in posizioni differenti. Immaginate di cambiare il posizionamento delle parti P4 e P5 assegnando loro dei valori diversi, tutto il vostro disegno apparirebbe in due luoghi diversi all'interno del sistema globale, senza alcuna modifica delle caratteristiche o del Body che lo detiene. E poi immaginate di cambiare anche il sistema di coordinate del corpo P3. In questo modo si può cambiare la posizione di tutte le incarnazioni del proprio disegno!

Vi chiederete come è possibile che il disegno sia in due posti pur essendoci una sola 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 Part non contiene alcuna informazione di modellazione.

Torniamo al nostro caso: se avete bisogno di 100 viti nel vostro disegno potete modellare un solo Body. Dopo potete aggiungere tante parti quante ne servono pur detenendo un solo Body. Potete spostare le viti dove volete applicando solo dei diversi posizionamenti alle parti. Inoltre quando cambiate 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 terzo nuovo oggetto che possa fare questo! Per questo FreeCAD introduce l'oggetto Productc (prodotto). Un Product è sostanzialmente un assemblaggio di più parti, ma che possiede anche una propria 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 Part. 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 Part 1 e 2 si spostano.

Torniamo al nostro esempio: Product1 rappresenta il motore elettrico e 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 sistemare 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 notare che nell'ultima immagine non c'è più un sistema di coordinate globale. Questo perché non esiste un sistema di coordinate globale, è stato solo un concetto usato 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 è un livello più elevato. E questi può ancora essere aggiunto a un altro, e così via. Non esiste un come sistema di coordinate globale, esiste solo un livello superiore.

Per riassumere: nell'ambiente di assemblaggio è possibile combinare le Part 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 i vincoli di assemblaggio. Come dice 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.



In realtà, per assemblare le cose, si potrebbe utilizzare la struttura delle parti per posizionare la controparte nello stesso posto, per esempio, un bullone che appartiene a un foro, oppure a delle superfici che si toccano e che quindi definiscono l'esatta posizione delle parti. In FreeCAD funziona esattamente così: si utilizza la geometria di una parte per specificare a cosa appartiene la seconda parte. Per questo scopo sono disponibili i punti, le rette, i piani e i cilindri. L'immagine a destra li mostra tutti nell'ambiente di FreeCAD. Naturalmente, la geometria da sola non è sufficiente per calcolare le posizioni delle parti, ma deve anche essere noto il tipo di relazione. Per esempio due facce: possono toccarsi, o semplicemente essere parallele, forse anche perpendicolari. In FreeCAD, questa relazione è stabilita attraverso i vincoli di assieme già menzionati. Sono disponibili 6 differenti tipi di vincoli: Blocco, Distanza, Orientamento, Angolo, Allineamento e Coincidenza. Vediamo cosa fanno e come usarli.

Blocco
Il vincolo di Blocco è il più semplice di tutti i vincoli. Basta selezionare una parte e il vincolo fissa la sua posizione e la sua rotazione. Non importa cosa viene fatto in seguito a questa parte: lei starà al suo posto. Questo è esattamente lo scopo di questo tipo di vincolo. È molto utile avere sempre una parte fissa in ogni assemblaggio, mentre può essere fastidioso se tutte le parti vengono spostate per soddisfare altri vincoli. Se si blocca la parte fondamentale dell'assemblaggio, tutte le altre parti si muoveranno verso essa, e questo è gradevole. Notare che questo vincolo funziona solo nell'assemblaggio in cui lo si è creato, la parte non viene bloccata negli assemblaggi derivati (ricordare che gli assemblaggi possono essere impilati).

Distanza
Come si intuisce dal nome, con questo vincolo è possibile specificare la distanza tra due geometrie. Questo funziona per due punti, ma anche per un punto e una linea, o tra una linea e un cilindro e molte altre combinazioni ancora. Questo vincolo è abbastanza semplice, ma si devono menzionare due punti: In primo luogo, se ci sono più distanze possibili tra le geometrie, ad esempio tra una linea e un cilindro, come detto prima, viene utilizzata la distanza più breve. In secondo luogo, a volte esistono molteplici soluzioni anche per la distanza più breve. Questo è il caso della distanza da punto a piano: ogni valore può essere soddisfatto sia con il punto sopra che sotto il piano. Quindi, se si specifica solo il valore, può succedere che FreeCAD metta il punto sul lato sbagliato del piano. Per controllare questo, il vincolo di distanza ha un'opzione speciale, lo spazio delle soluzioni. Questa opzione permette di ridurre lo spazio disponibile per la soluzione, in modo che corrisponda alle aspettative. In questo piccolo esempio vediamo come funziona: