Assembly3 Workbench/it

Introduzione
Assembly3 è un banco di lavoro esterno che viene utilizzato per eseguire l'assemblaggio di diversi corpi contenuti in un unico file o in più documenti. Il banco da lavoro si basa su diverse modifiche delle funzioni principali effettuate per la versione di FreeCAD 0.19 (ad es. App Link), quindi il banco da lavoro Assembly3 non può essere utilizzato con le versioni precedenti.

Le caratteristiche principali del banco da lavoro Assembly3 sono
 * dynamic/interactive solver. Ciò significa che è possibile spostare le parti con il mouse mentre il risolutore limita il movimento. Ciò consente, ad esempio, di collegare una ruota ad un asse e di ruotare la ruota in modo interattivo con il mouse.
 * links. Ciò significa che è possibile utilizzare un solo pezzo, ad es. una vite più volte in un assemblaggio (in luoghi diversi) senza duplicare la geometria.
 * external links. E' possibile avere un documento freecad che contiene solo un assemblaggio e non parti. Tutte le parti potrebbero essere in file singoli. I file potrebbero anche essere in una libreria o in qualsiasi altra parte del file system. L'unico requisito è che il file deve essere caricato al momento del collegamento. Dopo che il collegamento è stato fatto, il file deve essere aperto per fare gli aggiornamenti ai collegamenti che coinvolgono il file. Assembly3 risolve questo problema aprendo i file in background.
 * hierarchical assemblies. Come nella vita reale, un assemblaggio meccanico può essere costituito da sottoinsiemi. Questi potrebbero consistere di nuovo in sottoinsiemi e così via.
 * assembly freeze. Poiché la CPU può gestire solo un numero limitato di vincoli simultanei in tempo reale, il congelamento di un assieme permette di utilizzare i vincoli anche per assiemi di grandi dimensioni. Congelando gli assiemi finiti o i vincoli che non devono rimanere dinamici (ad es. parti saldate, bullonate o incollate), questi vengono esclusi dai calcoli di aggiornamento e considerati geometria fissa dal solutore Assembly3.
 * Si noti che altri approcci offrono soluzioni diverse a questo problema, per esempio Assembly4_workbench_icon.svg Assembly4 Workbench.

Torna all'inizio

Barre degli strumenti
A partire dal 2020 il banco da lavoro Assembly3 è dotato delle seguenti barre degli strumenti.


 * Assembly3_ToolbarMain.png
 * Barra degli strumenti principale


 * La barra degli strumenti principale contiene strumenti per
 * Aggiungere una cartella assembly
 * Importare file STEP
 * Strumenti per spostare le parti in 3D
 * Controlli per l'aspetto e il solutore.
 * Strumenti per ordinare gli elementi dell'albero


 * Assembly3_ToolbarConstraints_1.jpg
 * Barra dei vincoli principali. Alcuni strumenti sono di fatto un menu per altri strumenti.


 * Assembly3_ToolbarConstraints_2.jpg
 * Barra dei vincoli supplementari. È possibile abilitare questa funzione selezionando l'icona "..." nella barra dei vincoli principale.


 * Le Barre dei vincoli saranno l'interfaccia principale utilizzata per l'assemblaggio delle parti. Sono grigie di default, ma vengono attivate una volta selezionata almeno una faccia, una linea o un punto di una parte. Generalmente si selezionano gli elementi che devono essere uniti e poi si seleziona il tipo di vincolo. Le diverse cornici colorate contrassegnano le diverse caratteristiche dei vincoli: se è possibile aggiungere più di 2 elementi in 2D/3D. Una descrizione dettagliata si trova nel wiki di Gibhub.


 * "Bloccare" il primissimo vincolo. In ogni assemblaggio una parte deve essere bloccata per agire come parte base. Bloccare non significa altro che vincolare questa parte in 6DOF alla sua posizione e orientamento attuali.


 * Assembly3_ToolbarNavigation.jpg
 * Barra degli strumenti di navigazione
 * Queste funzioni sono utili quando si lavora con un assemblaggio con una gerarchia di file esterni collegati
 * Selezionare l'oggetto pezzo corrispondente nel gruppo di relazioni
 * Selezionare l'oggetto collegato
 * Selezionare l'oggetto link più profondo


 * Assembly3_ToolbarMeasurement.jpg
 * Barra degli strumenti di misura
 * La Barra degli strumenti di misura aggiunge funzioni per misurare le distanze tra due punti, un punto e una retta o un punto e una faccia. Lo strumento Misura angolo traccia l'angolo tra due facce o rette. Non esiste una funzione per misurare un raggio o un diametro.
 * Gli strumenti di misura sopravvivono ai cambiamenti del pezzo, ad esempio la distanza tra i bordi di un cubo quando il cubo viene ridimensionato. Come i vincoli, i calcoli sono fatti in tempo reale e aggiornati ad ogni cambiamento. Dietro le quinte, la funzione è molto simile alla funzione vincoli. La distanza o l'angolo viene calcolata tra elementi come per ivincoli. Il visualizzatore nell'albero funziona allo stesso modo.

Come al solito è possibile modificare le barre degli strumenti e aggiungere o rimuovere singoli strumenti. Accertarsi di controllare nel menu Assembly3 le funzioni che potrebbero non essere presenti nelle barre degli strumenti.

Torna all'inizio

Vincoli
Il progettista utilizza i vincoli per ottenere il risultato desiderato nella relazione tra due parti. L'arte è la selezione dei giusti vincoli più adatti ad affrontare ogni problema. Ogni DOF eliminato dovrebbe in teoria essere eliminato solo una volta tra due oggetti, ma in pratica con molti strumenti CAD i vincoli selezionati causano combinazioni di vincoli eccessivi, spesso compensati da algoritmi complessi, a volte no. Assembly3 utilizza algoritmi per rilevare e compensare gli eccessi di vincoli, ma chiaramente non sono ancora molto maturi. Quindi in pratica per i vincoli di Assembly3 si evitano problemi essendo consapevoli di quanti gradi di libertà (DOF) sono stati utilizzati e quali devono ancora essere bloccati dai vincoli. Nessuna parte dovrebbe avere una connessione di vincoli utilizzati maggiore di 6DOF.


 * Nota: Se il risolutore incontra una combinazione che non può essere risolta, darà un errore. È molto difficile per il risolutore scoprire cosa ha causato il problema, quindi tipicamente da questo errore dato non sarà chiaro dove è il problema. In assemblaggi più grandi questo può portare a ricerche complesse del problema. Purtroppo non c'è un modo semplice per evitarlo. Tuttavia, aiuta essere pienamente consapevoli di come funziona il sistema (.e.g. vedi Elementi qui sotto), utilizzare nomi chiari per tutti i componenti coinvolti e aggiungere vincoli aggiuntivi solo quando il risolutore risolve l'assemblaggio corrente. Molto utile per rintracciare un problema è la funzione "ContexMenu/Deactivate" di ogni Vincolo.

Assembly3 I vincoli definiscono le restrizioni nella posizione o nell'orientamento tra due Elementi. Alcuni vincoli funzionano anche con più di due Elementi. Un Elemento può essere una faccia, una linea o un bordo o un punto di una parte. Generalmente i vincoli sono definiti selezionando gli Elementi e poi selezionare il vincolo dai Vincoli toolbar.

Altro
 * Fissa 6 DOF, lascia 0 DOF:
 * Lock: Il blocco del vincolo fissa tutti i DOF per una faccia. Dovrebbe essere usato per una parte di base in ogni assemblaggio. Si può anche attivare la funzione "MoveLock" (nella barra degli strumenti) in modo che il pezzo non possa essere spostato accidentalmente. Normalmente non importa quale faccia/linea/punto si usa per fissare un pezzo. Si noti inoltre che il blocco è valido solo per l'assemblaggio diretto, cioè nel caso di un sottoinsieme l'assemblaggio principale richiederebbe comunque una parte bloccata.
 * Attachment: Rende i sistemi di coordinate di entrambi gli elementi uguali per tutti gli assi. Questa è la funzione più comoda per il calcolo e dovrebbe essere usata dove possibile. Si noti che si potrebbero usare le proprietà degli elementi per compensare gli offset e gli angoli se i due elementi non sono perfettamente allineati.
 * Fissa 5 DOF, lascia 1 DOF:
 * Plane Coincident: fissa Tx,Ty,Tz, Rx,Ry. Solo Rz è libero. Rimane la rotazione intorno al normale che passa attraverso il centro del piano.
 * Fissa 4 DOF, lascia 2 DOF:
 * Axial Alignment: fissa Tx,Ty, Rx,Ry. Solo Tz, Rz sono liberi. Rimangono la rotazione intorno all'asse della figura e la traslazione lungo questo stesso asse. Due vincoli PointOnLine (se i due punti sono diversi) danno lo stesso risultato. Come anche i vincoli'‘Colinear'’.
 * PointOnLine: In questo modo si elimina la traslazione e la rotazione lungo le normali verso la linea di riferimento. Sono consentite solo la traslazione e la rotazione lungo l'asse della linea.
 * Fissa 3 DOF, lascia 3 DOF:
 * Same Orientation: fissa Rx,Rz,Rz. Tutte le T rimangono libere.
 * Points Coincident: fissa Tx,Ty,Tz. Tutte le R rimangono libere.
 * PointOnPoint Il vincolo elimina le 3 traslazioni.
 * Plane Alignment: fissa Tz, Rx,Ry. In movimento il piano e Rz. Questo elimina la traslazione lungo il piano normale verso il piano di riferimento e le due rotazioni intorno agli assi di questo piano.
 * Fissa 2 DOF, lascia 4 DOF:
 * Multi Parallel: fissa Rx,Ry. rimangono tutte le T e le Rz. Questo elimina le due rotazioni intorno agli assi del piano di riferimento.
 * Fissa 1 DOF, lascia 5 DOF:
 * Points in Plane: Fissa Tz. Questo elimina la traslazione lungo il piano normale verso il piano di riferimento.
 * Points Distance: fissa la distanza tra le origini dell'elemento.
 * Questo ti dà più libertà rispetto a Points in Plane
 * Points on Circle: fissa Tz e parzialmente Tx,Ty. Congela la traslazione del punto (o più punti) su un cerchio o su un'area del disco. Devi scegliere il cerchio per secondo. Questo lascia tutte le rotazioni libere e dà una traslazione limitata nel piano di riferimento del cerchio.

'': Nota: Nella seguente lista Tx,Ty,Tz e Rx,Ry,Rz sono usati per descrivere le traslazioni e le rotazioni dei sistemi di coordinate di riferimento dell'elemento interessato. Questo non è sempre esatto o completamente definito, ad esempio quando è coinvolta una linea non è definito se corre in X, Y o qualsiasi altro angolo in mezzo. Il sistema è usato per un breve e facile comparazione a favore di una definizione corretta ma più complessa. Quindi Z è generalmente la direzione normale di tutte le facce coinvolte. Sentitevi liberi di modificarla con un approccio migliore con una migliore leggibilità".

Torna all'inizio

Elements è un termine specifico usato nel banco di lavoro Assembly3 ed è importante capire Elements per capire come Assembly3 deve essere usato.

È utile pensare a un elemento come parola generale per un "elemento selezionabile" di una parte, cioè una faccia, un bordo, un cerchio o un angolo o un altro punto. Gli elementi che si selezionano per vincolarli, sono quegli elementi. Nell'albero una cartella Assembly ha tre sottocartelle. Accanto a 'Parts' e 'Constraints' c'è una cartella chiamata 'Elements', che è vuota finché non vengono aggiunti vincoli. Quando si aggiunge un vincolo il vincolo stesso ottiene due (o più) linee, questi sono gli 'Elementi' selezionati. Anche questi vengono aggiunti nella cartella 'Elements' che è solo un elenco di tutti gli elementi utilizzati nell'assieme. E' una buona idea cambiare i loro nomi (con il tasto F2), specialmente negli assemblaggi più grandi.

Vediamo un esempio
 * Creare un nuovo file e aggiungere dal banco di lavoro Part un cubo e un cilindro.Impileremo il cilindro sul cubo. Prima fissiamo la parte base, nel nostro caso il cubo. Selezioniamo la faccia inferiore del cubo e selezioniamo i vincoli "Bloccato" (prima icona nei Vincoli barra degli strumenti). Selezionare la faccia superiore del cilindro e la faccia superiore del cubo. Quindi selezionare il vincolo "Plane Coincident". Ora il cilindro viene spostato nel cubo e nell'albero è stata aggiunta una nuova foglia con due nodi figli sotto "Constraints". Inoltre gli stessi due nodi figli sono stati aggiunti sotto "Elements". Se il cilindro si trova all'interno del cubo invece che sopra il cubo, correggiamo prima questo: sotto 'Constraints' selezionate il nodo figlio che mostra la faccia del cilindro e con un clic destro del mouse nel menu contestuale selezionate 'Flip Part'. Ora il cilindro è impilato sul cubo.

La chiave per capire è che il vincolo opera sui collegamenti agli elementi nella lista della cartella ad albero 'Elements'. Questo permette di mantenere intatta la struttura del vincolo mentre si cambiano le parti. Questo è molto difficile da comprendere senza un esempio.

Torniamo all'esempio precedente
 * Nota: assicurarsi di aver aggiunto il vincolo "Lock" al cubo o questo sembrerà disorientante
 * Nella finestra CAD selezionare un'altra faccia del cubo. Ora lavoriamo solo nella vista ad albero. Andate con il mouse nell'albero dove il cubo deve apparire selezionato. Trascinare il cubo nella cartella "Elements". Trascinatelo sul nome 'Elements', in nessun altro punto della cartella vedremo in seguito il motivo. Dovreste vedere che un altro Elemento viene aggiunto alla lista degli 'Elementi'. Ora selezionate nella cartella 'Constraints' il nodo figlio della faccia del cubo nel vincolo "Plane Coincident" e cancellatelo. Il Vincolo mostrerà un punto esclamativo poiché manca un elemento. Si noti che cancellando l'elemento in Constraint non lo abbiamo cancellato dalla lista. Questo perché nel vincolo c'era solo un link all'Elemento. Ora prendiamo l'Elemento appena aggiunto nella lista 'Elements' e lo trasciniamo sul vincolo "Plane Coincident". Ora il cilidro si sposta sull'altra faccia che abbiamo selezionato. Potremmo aver bisogno di selezionare di nuovo 'Flip Part nel menu contestuale' se il cilindro è di nuovo all'interno del cubo.

L'esempio ha mostrato che senza rimuovere il vincolo possiamo cambiare gli Elementi che vengono utilizzati per il vincolo. Allo stesso modo possiamo spostare il cilindro in una parte totalmente diversa. Dopo aver giocato un po' di più con questo esempio, si noteranno alcune cose aggiuntive come
 * Se si rinomina un elemento nella lista, il nome verrà cambiato in tutti i Vincoli.
 * è possibile utilizzare un elemento della lista in diversi vincoli.
 * È possibile utilizzare la finestra delle proprietà di un elemento per aggiungere Offset. Nell'esempio questo potrebbe spostare il cilindro sulla faccia del cubo.
 * è possibile utilizzare il pulsante "Show Element Coordinate System" nella barra degli strumenti principale per vedere le funzioni 'Menu contestuale/Flip Part' e 'Menu contestuale/Flip Element'. Assicuratevi di guardare cosa succede nella finestra delle proprietà.
 * è possibile aggiungere un vincolo in un ordine completamente diverso: Per prima cosa aggiungere alcuni elementi alla 'Lista degli elementi' (la denominazione è utile, es. "Cube Top Face" o "Cube Front Face"), poi aggiungere un vincolo senza selezionare nulla - sarà un vincolo vuoto. Quindi trascinare gli Elementi dalla lista 'Elements'. Il risultato è lo stesso di quello che abbiamo fatto nel primo esempio. Dopo aver fatto questo esercizio, la natura di come funzionano i vincoli con gli Elementi dovrebbe essere chiara.
 * potete cambiare un vincolo esistente tra elementi esistenti semplicemente selezionando un elemento diverso nella Finestra delle proprietà/ConstraintType.

Torna all'inizio

Compatibilità
Assembly3 è stato ispirato da Assembly2, ma non è con questo compatibile. Se avete modelli precedenti realizzati in Assembly2, dovreste rimanere con FreeCAD 0.16 e usare Assembly2.

I nuovi modelli sviluppati con Assembly3 devono essere aperti e modificati solo con questo banco di lavoro.

Anche se possono avere strumenti simili, Assembly3 non è compatibile con A2plus né con Assembly4. I modelli creati con questi workbenches devono essere aperti solo con il rispettivo workbench.

Torna all'inizio

Test
Il Assembly3 Workbench è in fase di sviluppo e non è ancora disponibile (aprile 2020) tramite lo Addon Manager, ma si prevede che ciò avverrà prima o poi.

Si può provare in due modi:
 * Uno speciale fork di FreeCAD realizzata da realthunder; vedi FreeCAD_assembly3 releases. Questo fork si basa su un particolare commit del ramo master di FreeCAD, ma ha anche caratteristiche aggiuntive attualmente non presenti nel ramo master. Dato che questo fork è basato su un particolare snapshot di sviluppo, non ha le ultime caratteristiche unite quotidianamente al ramo master.
 * Lo sviluppo AppImage; questo si basa sul ramo master corrente, e include le dipendenze necessarie per lavorare con Assembly3 come il solutore SolveSpace.

Dato che l'AppImage funziona solo per Linux, per gli utenti Windows al momento l'unica opzione per testare Assembly3 è la prima opzione (realthunder's fork).

Torna all'inizio

Cominciamo
Ci sono molti modi per creare un assemblaggio con Assembly3. Ecco il più semplice che si possa fare.


 * Assembly3_Example-GettingStarted.jpg
 * Risultato finale del primo esempio. Nell'immagine è selezionato il banco di lavoro Assembly3 Worksbench, quindi sono visibili le sue barre degli strumenti multiple. Si noti che la "TabBar" verticale a sinistra della vista ad albero è un AddOn Workbench che non è contenuto nel FreeCAD standard (ma può essere installato con l'Addon-Manager)'.


 * Creare un nuovo file FreeCAD
 * Selezionare il Workbench di montaggio. Selezionare CreateAssembly (prima icona)
 * Selezionare Part Workbench e aggiungere un cilindro e un cubo
 * Salva il file con il nome del file che preferisci. Chiudere e aprire il file.
 * La vista ad albero dovrebbe avere questo aspetto


 * Ora disegnare e rilasciare con il mouse sia Cilindro che Cubo nella cartella Parts. Verranno spostati in quella cartella.
 * Questo è il modo più veloce. Si noti che il modo migliore' è quello di aprire il menu contestuale su entrambi e selezionare ContetxMenu/LinkActions/MakeLink. Questo aggiunge due file di link. Poi trascina i file di collegamento nella cartella Parts. Per casi semplici come questo non ha molta importanza.
 * Cliccare entrambe le superfici superiori di Cylinder e Cube (tenere premuto Ctrl)
 * Selezionare assembly Workbench. Selezionare "PlaceCoincident" dalla Barra dei vincoli principali.
 * Ora le parti dovrebbero essere unite l'una all'altra e il vostro albero dovrebbe avere questo aspetto

Abbiamo omesso un passo importante che dovrebbe essere fatto negli assemblaggi più grandi: bloccare una parte base. Ciò significa definire una parte che non deve essere spostata da vincoli. Nel vostro caso per questo usiamo il cubo: Fatto. Se volete nell'albero potete spostare verso l'alto il vincolo "Bloccato". Utilizzare il pulsante "MoveItemUp" nella barra Barra degli strumenti principale.
 * Cliccare con il tasto destro del mouse su uno dei due "_Element" e selezionare "Flip Part".
 * Ora il Cilindro dovrebbe essere sopra la scatola. Se il tutto è sottosopra, tornare indietro e selezionare "Flip Part" sull'altro elemento.
 * Selezionare la faccia inferiore del cubo. Solo la faccia inferiore, non l'intero cubo.
 * selezionare il vincolo "Lock" dalla barra degli strumenti dei vincoli
 * L'albero di montaggio finito dovrebbe apparire come nell'immagine qui sopra

Nota: tutti i nuovi file esterni devono essere salvati, chiusi e riaperti almeno una volta, in modo che Assembly3 possa trovarlo. Senza fare questo FreeCAD non può dare una gestione dei file al Workbench Assembly3 e non può trovare il nuovo pezzo. Quando tutte le parti sono nello stesso file, è necessario salvare e riaprire il file.

Torna all'inizio

Aggiungete un Offset
Il montaggio3 non offre l'Offset con i vincoli nel modo in cui lo fanno A2plus Workbench o altri strumenti CAD. Offre invece un sistema più generale e flessibile per aggiungere traslazioni offset ma anche angoli.


 * Aggiungere l'offset nelle proprietà Vincolo di un Elemento.
 * è possibile scegliere quale dei due utilizzare.

Esempio: Test con altri assi o con i campi angolo/asse. Verificare anche che si ottenga lo stesso risultato quando si utilizza l'altro Elemento. Questo è lo stesso approccio per tutti gli altri vincoli
 * Aggiungere 2 cubi ad un gruppo e selezionare le loro facce laterali.
 * selezionare "PlaneCoincident". I cubi saranno attaccati l'uno all'interno dell'altro.
 * selezionare un elemento e Menu contestuale/Flip Part. I cubi saranno attaccati uno accanto all'altro.
 * selezionare una proprietà Element Offset/Position/Zz e impostare a 5mm. I cubi saranno distanziati di 5mm.

Torna all'inizio

Risolvi un errore del risolutore
Questo accade spesso quando le parti sono eccessivamente vincolate, cioè più di 6 DOF sono bloccati.

Il modo più semplice per trovare il problema è cliccare sui vincoli rilevanti nell'albero e selezionare Menu contestuale/Disable e ricalcolare. È utile conoscere gli ultimi vincoli aggiunti prima che il risolutore fallisca e semplicemente annullarli.

Nota: poiché l'Assemblaggio3 cerca di compensare le parti eccessivamente vincolate dietro le quinte, a volte il problema è innescato solo da un nuovo vincolo, ma la causa alla radice è da qualche altra parte. Prima di cancellare tutto e ricominciare da capo, ricordate che potete riutilizzare gli Elementi. Se li avete nominati potete identificare gli elementi richiesti e ricostruire i vincoli senza usare affatto la vista 3D. Vedi Elementi sopra

Torna all'inizio

Consigli e trucchi

 * L'uso di assemblaggi gerarchici aiuta ad evitare problemi di risoluzione e a mantenere il modello fluido. È possibile congelare un sottoassieme con un solo clic e risparmiare le risorse della CPU facilmente. Si noti inoltre che Assembly3 non ha bisogno di tenere aperti i file esterni per i sottoassiemi congelati. Per gli assiemi di grandi dimensioni con file MB di grandi dimensioni questo può essere un grande vantaggio.
 * L'uso di file esterni rende più facile il riutilizzo di una parte o il cambio di versione di una parte con sistemi come git o subversion. Il flusso di lavoro in FreeCAD con Assembly è abbastanza simile a quello dei file che hanno tutte le parti nello stesso file. Per lo scambio frequente di file con altre parti, i file singoli potrebbero essere più convenienti.
 * Moltiplicare le parti collegate. Se si aggiunge un collegamento nell'assieme, questo avrà un valore di proprietà denominato "Element Count", predefinito 0. Se lo si imposta a 3 si ottengono 3 istanze di quella parte. Saranno aggiunte in una sottocartella e possono essere usate come parti completamente separate. Usate questa funzione per mantenere bassa l'impronta dei dati del vostro file, perché la parte viene salvata solo una volta. Ogni istanza contiene solo le differenze.
 * Inserire più viti con un clic. Consultare il Assembly3 Wiki3 Wiki sul sito di Github. Questa non è solo una funzione sbalorditiva (anche un po' magica), ma davvero molto utile.


 * L'utilizzo del TabBar Workbench accelera il lavoro con il montaggio. Questo aggiunge una barra degli strumenti con un pulsante per ogni banco di lavoro. È possibile ordinare la barra degli strumenti e metterla dove si vuole. Molte persone la mettono in verticale sul lato sinistro, proprio accanto alla vista ad albero. Avere Assembly3, Part, PartDesign e altri banchi da lavoro, spesso usati, vicino alla parte superiore, passare da uno all'altro diventa estremamente facile.

Torna all'inizio

Link

 * App Link oggetto che fa funzionare Assembly3.
 * FreeCAD_assembly3 archivio e documentazione.
 * Assembly3 preview, big discussion thread.
 * Test tutorial for Assembly 3 WB by jpg87.
 * Current Assembly Status
 * External workbenches
 * External workbench list
 * Old Assembly project piano di sviluppo, per conoscere la storia della materia.