Come… Gestire le interfacce CAD
Il punto di partenza di ogni modello CSE è un modello agli elementi finiti BFEM che descriva quali sono le membrature e in che nodi si uniscano. Tale modello viene generalmente importato con il comando File-Importa Modello FEM, o descritto direttamente all'interno di CSE facendo uso dei nodi tipici o dei comandi di meshing sotto il menu FEM.
Un secondo passaggio, puramente geometrico, consiste nella aggiunta dei componenti come tramite (squadrette, piastre, ecc.) e unitori (saldature e bullonature), e nella aggiunta di lavorazioni da applicare ai pezzi. Questo secondo passaggio può anche essere gestito internamente, mediante i comandi interattivi (menu Renodo), i nodi parametrici (comandi Assegna PRenodo o Assegna PRenodo a Subrenodo) o la nodoteca universale (comando Applica Renodo da Nodoteca), oppure mediante la importazione di un insieme di pezzi da un file esterno di tipo CAD. Il comando che se ne occupa è File-Importa da CAD. In tal modo è possibile importare direttamente la geometria dei collegamenti (la scena di ciascun Renodo) senza la necessità di definire all'interno di CSE alcuna operazione geometrica (input).
Non ha alcun senso cercare di importare un file CAD se prima non si è definito un modello di calcolo, e ciò perché CSE non è un programma di disegno bensì di calcolo.
Quindi la importazione di un file CAD richiede che ci siano i JNodi, il che richiede a sua volta (a) che sia stato definito un modello BFEM, (b) che siano disponibili le membrature e (c) che siano stati cercati i JNodi.
Allo stesso modo, al termine del lavoro di analisi e verifica dei collegamenti in CSE, sarà forse necessario esportare verso altri programmi, che gestiscano il disegno o altre fasi del lavoro, il modello pronto di tutti i collegamenti (output).
L'interfacciamento con i programmi CAD può quindi avvenire in due modi diversi, in generale:
•in modalità input, per definire la geometria dei collegamenti o per aggiornarla;
•in modalità output per esportare verso altri programmi la geometria della struttura finita.
In entrambi i casi esiste un aspetto specifico di CSE che richiede attenzione: in CSE infatti le ripetizioni di nodi identici sono gestite per mezzo del concetto di istanza del jnodo. Quindi, in fase di output occorrerà ricostruire le posizioni degli oggetti identici nelle varie locazioni spaziali corrispondenti a diverse istanze. In fase di input occorrerà individuare il Renodo e la istanza pertinente a ciascun pezzo importato, e verificare eventuali violazioni nella identità delle varie istanze del renodo.
La gestione delle interfacce CAD è stata affrontata mettendo dapprima a punto un nuovo formato ASCII (.D3O), che descrive gli oggetti in modo il più possibile semplice e vicino al modo interno che CSE usa per rappresentarli. In seguito, altre interfacce si sono aggiunte, capaci di gestire altri formati.
Nelle sezioni seguenti saranno fornire le informazioni che l'utente deve conoscere per poter comprendere appieno l'utilizzo dei comandi di interfacciamento verso CAD.
L'output verso CAD dei nodi già lavorati può avvenire secondo tre diverse modalità.
•Una prima modalità consiste nel considerare tutti i Renodi lavorati, tutte le istanze di questi Renodi, e generare un insieme di componenti nello spazio, coerentemente con le operazioni fatte in tali Renodi. Tale modalità comporta la rototraslazione di ogni pezzo presente nel Renodo "i", istanza "j" , nella sua corretta posizione spaziale. In questo caso si va dai Renodi allo spazio. E' implicita in tale operazione la scelta di realizzare tutte le istanze di un medesimo Renodo nello stesso identico modo.
•Una seconda modalità è simile alla precedente ma considera solo i JNodi-Renodi selezionati.
•Una terza modalità consiste nel considerare il contenuto della Vista Solida, che risulta da una precedente esecuzione del comando Modello 3D-Rigenera e che dipende dalle opzioni date a quel precedente comando.
Le prime due modalità possono essere applicate alle sole prime istanze dei Renodi. Ciò può essere utile per minimizzare la dimensione del file, pur avendo la completa descrizione di un esemplare di ogni diverso Renodo lavorato presente nel modello. |
In entrambi i casi il risultato è un vettore di membrature, di tramite e di unitori, scritti in un file avente estensione funzione del formato scelto. Non sono esportate le tipiche informazioni necessarie a eseguire le verifiche, in CSE, ma solo le informazioni puramente geometriche, in modo tale da minimizzare l'informazione scritta su file, a parità di contenuto. |
La lettura di un file CAD contenente un certo insieme di componenti da aggiungere ai vari Renodi presenti nel modello CSE può avvenire in varie fasi del lavoro, ma, come si è già detto, sempre dopo aver generato un modello BFEM e sempre solo dopo che i JNodi siano stati cercati e siano perciò accessibili. |
A seconda dei vari formati che si renderanno via via disponibili, diversi insiemi di componenti potranno essere importati. In ogni caso, una volta che il vettore di questi componenti sia stato letto, si pone il problema di collocare appropriatamente questi componenti nel modello CSE. Una tale operazione non comporta semplicemente la corretta interpretazione della posizione geometrica del componente, ma comporta anche la corretta assegnazione del componente a uno dei Renodi esistenti, in una delle Istanze esistenti. |
Inoltre, il vettore dei componenti descritti all'interno del file CAD da importare può ben comportare una violazione della ipotesi secondo cui i Renodi sono stati catalogati: che tutte le istanze di uno stesso Renodo siano costruite allo stesso modo e siano di fatto ottenibili mediante una semplice rototraslazione rigida a partire dalla prima istanza. |
Nelle seguenti sotto sezioni saranno brevemente descritti i criteri usati da CSE per assegnare il corretto Renodo e la corretta istanza a ciascun componente, ed i problemi collegati. |
Attribuzione al JNodo-Renodo
La attribuzione dei componenti ai Renodi è fatta per mezzo della loro posizione nello spazio. Per ogni componente occorre trovare sia il JNodo che la istanza del JNodo. Ad ogni JNodo corrisponde poi uno e un solo Renodo.
Membrature: vengono raffrontati gli estremi teorici della membratura, prima di accorciamenti o spostamenti, così come risultanti dalla importazione del modello BFEM. Se i due estremi della generica membratura letta nel file CAD coincidono entrambi con gli estremi di una delle membrature presenti nel modello CSE al momento della lettura del file CAD, le due membrature saranno identificate. Se nel corso delle operazioni compiute in CSE una membratura è stata spostata, o accorciata, o allungata, ciò non comporta variazioni nelle posizioni degli estremi della membratura come originariamente lette nel modello BFEM. Se ad esempio i nodi sono all'inizio nei punti Q1 e Q2, e dai nodi con le eccentricità rigide definite nel modello BFEM si va nei punti P1 e P2, quei punti P1 e P2 saranno usati come punti di confronto. La membratura potrà essere stata spostata, in CSE, di S, così che i nuovi estremi siano in (P1+S) e (P2+S), ed inoltre a causa di accorciamenti o allungamenti anche tali punti potranno essere stati spostati, ma CSE conserva memoria delle posizioni P1 e P2 coerenti con il modello FEM di partenza. Le membrature, per definizione, già esistono nel modello CSE quando viene letto il file CAD. Comunque, la lettura del file può assegnare loro (magari aggiornandoli), allungamenti, accorciamenti, spostamenti o lavorazioni, ancora non applicati in CSE.
Componenti: anche in questo caso viene considerata la posizione spaziale. Precisamente, ad ogni componente letto nel file CAD viene associato un certo BOX, che chiameremo BOXc, BOX del componente, mentre a ogni istanza di JNodo-Renodo un BOX che chiameremo BOXj, BOX del JNodo-Renodo. Dato un componente nel file CAD ed il suo BOXc, viene eseguito un ciclo sui JNodi e per ogni JNodo un ciclo sulle sue istanze. Quando il BOXc risulta almeno in parte entrare dentro il BOXj, il componente è assegnato alla istanza del JNodo-Renodo dove si è verificata tale condizione. Il BOX del componente è ottenuto prendendo la massima e minima sua coordinata X, Y e Z, a turno (si considerano tutte le sue facce e, per ogni faccia, tutti i punti di quella faccia). Il BOX della istanza del JNodo-Renodo viene calcolato partendo dalle coordinate del nodo associato nel modello BFEM, e poi considerando i monconi delle membrature affluenti al JNodo, per una lunghezza pari a k volte la lunghezza di ogni membratura uscente dal nodo (0<k <1), con un minimo di v (dove v è una lunghezza, quindi un numero positivo).
k ha per default il valore 1/3, e v 200 mm. In tal caso, per dimensionare il BOXj, si considerano monconi pari a 1/3 della lunghezza delle membrature connesse al JNodo e uscenti da esso, con un minimo di 200mm per ogni differenza tra le coordinate. Se B1 e B2 sono due vertici del BOX, posti su una diagonale, e P è il punto che corrisponde al nodo (interno al box), deve quindi sempre essere
ABS(B2.X-P.X) > v
ABS(B1.X-P.X) > v
e ciò anche per la Y e la Z. Se invece avviene ad esempio che (con B2.X > P.X)
(B2.X-P.X) < v
allora si pone
B2.X = P.X + v
e così via.
Le grandezze k e v possono essere impostate dall'utente in un opportuno dialogo.
Se nel corso della analisi dei componenti descritti nel file CAD, certi componenti non trovano una corrispondente istanza di un qualche JNodo, allora la ricerca è automaticamente ripetuta utilizzando come nuovo k, k'=1.5k e come nuovo v, v'=2v. Se dopo una tale ricerca ancora restano componenti non assegnati questi verranno scartati.
Viceversa, se dopo la ricerca si trova che almeno un componente è assegnato a due istanze di JNodi diverse, allora la ricerca è automaticamente ripetuta con k'=(2/3)k e v'=0.5v. Se dopo tale nuova ricerca permane la ambiguità, i componenti relativi verranno scartati.
Partizione dei JNodi esistenti
Al fine di economizzare nelle attività di verifica, in CSE le differenti identiche istanze di un JNodo-Renodo sono considerate assieme, ed a tale fine i JNodi-Renodi possono avere più istanze, che devono per definizione essere identiche a meno della posizione nello spazio. Quando si importa un file CAD con dei componenti, è possibile che tali componenti, o perché collocati in modo diverso, o perché di dimensioni diverse, o perché assenti, impongano delle differenze tra le varie istanze del JNodo. Tali differenze non possono essere accettate mantenendo le istanze nel medesimo JNodo e quindi impongono una scelta. O il JNodo viene partizionato in almeno due JNodi diversi, oppure si trascurano le differenze tra le varie istanze e si tiene come riferimento solo la prima istanza, facendo sì che le altre istanze si adeguino, per definizione, a quanto descritto nella prima istanza. Nel primo caso si chiede di partizionare i JNodi in caso di difformità tra le varie istanze, nel secondo caso si chiede di mantenere identica la struttura dei JNodi e di trascurare le differenze. |
La possibilità di descrivere i componenti di una sola istanza (necessariamente la prima), può consentire di utilizzare CSE come generatore di modelli 3D. Infatti, importati i pezzi della prima istanza, se si chiede a CSE di esportare il modello 3D, questo verrà generato per tutte le istanze, e non solo per la prima. Quindi si possono definire i componenti nel sw CAD solo per la prima istanza, passare il modello CAD con solo le prime istanze e CSE e poi rileggere un nuovo file CAD esportato da CSE con tutti i componenti, di tutte le istanze di tutti i Renodi lavorati. |
La possibilità di definire una volta sola la scena di un Renodo, anche se questo si ripete n volte identico nella struttura, consente notevoli economie di scala nella generazione del modello 3D.
Considerazioni ulteriori |
Se il JNodo-Renodo entro il quale occorre introdurre dei nuovi componenti è vuoto, ovvero non vi sono tramite né unitori, allora il programma si limita ad aggiungere i componenti letti dal file CAD senza alcun particolare controllo.
Se invece un certo insieme di componenti deve essere aggiunto ad un certo Renodo, e questo non è vuoto, il programma si regola come segue. Si fa dapprima un ciclo sugli oggetti da aggiungere e si verifica se tra gli oggetti che compaiono nel Renodo ve ne siano di identici. Se un certo oggetto O della lista si trova anche identico nel Renodo, tale oggetto verrà lasciato al suo posto, ed il corrispondente oggetto "nuovo" non sarà aggiunto, poichè tale aggiunta comporterebbe una duplicazione. Se invece un certo oggetto non figura identico, come dimensioni e come posizione, nella lista degli oggetti pronti per essere aggiunti, allora sarà cancellato dal Renodo, prima che i nuovi oggetti vengano aggiunti. Quindi, in definitiva, è un po' come se tutti gli oggetti del Renodo fossero cancellati e fossero poi aggiunti tutti e soli gli oggetti presenti nel file CAD, con la sostanziale differenza che oggetti già presenti che abbiano già ricevuto ulteriori informazioni come il nome, certe opzioni di verifica, e certe variabili aggiuntive, non perderanno alcuna informazione. Solo gli oggetti effettivamente nuovi o non riconosciuti come già esistenti saranno aggiunti "ex novo" nel Renodo.
Al momento CSE gestisce i seguenti formati CAD:
Output
.D3O
.DXF
.SDN
.STL
.IFC
.OBJ
Input
.D3O
.SDN
.OBJ
Si tratta di un nuovo formato ASCII espressamente messo a punto per gestire le informazioni necessarie al trasferimento dei tipici componenti usati da CSE: membrature, piatti, angolari, tronchi di profilato, saldature e bullonature. Il file D3O gestisce anche le lavorazioni come tagli, smussi, rotazioni e traslazioni di faccia. Essendo un formato nativo, con il formato D3O non si perdono informazioni. Il formato D3O è gestito sia in input che in output.
Per una dettagliata descrizione del file D3O, e per le specifiche di formato, si può scaricare questo documento dal nostro sito web (in inglese). |
Formato D3O: specifiche tecniche
Il formato DXF è al momento gestito come CAD in output, come CAD in input al momento è usato per definire la mesh del modello BFEM. Gli oggetti possono essere restituiti come wireframe o come collezione di Facce3D. Queste ultime primitive, FACE3D, in DXF ammettono solo tre o quattro lati, quindi se le facce dei componenti in CSE hanno più di 4 lati, queste facce vengono automaticamente triangolate.
Il formato a facce è molto comodo per ottenere dei rendering del nodo in programmi che possano leggere un file in formato DXF.
Al momento il formato SDNF (file .SDN) può essere gestito sia per la importazione del modello FEM (comando File-Importa FEM) sia per gestire la esportazione e importazione delle piastre.
Il formato gestito è quello della versione 3.0.
Non gestisce bullonature, saldature, e tronchi di profilato. Quindi un file SDN può essere usato:
•Per importare un modello BFEM, leggendo solo le membrature e ristabilendo le loro connessioni in ambito wireframe (comando File-Importa FEM).
•Per importare le piastre definite all'interno del file SDN, letto come CAD, all'interno dei Renodi (comando File-Importa CAD).
•Per esportare le piastre definite all'interno dei Renodi in un file SDN, assieme con le membrature (comando File-Esporta CAD).
Il formato STL può essere usato al momento solo in output. |
Il formato STL è utile al fine di generare stampe 3D del Renodo o della intera struttura, o di parti di essa. E' possibile esportare sia un STL binario (STB) che un STL ASCII. Se è necessario generare l'STL di alcune parti, è possibile esportare solo alcuni oggetti selezionati, onde facilitare le operazioni di stampa 3D.
Il formato STL può essere direttamente letto dagli slicer, ovvero quei programmi che preparano la stampa 3D generando gli strati successivi che la stampante andrà a creare.
Il formato OBJ è simile al formato STL ma consente di convogliare maggiore informazione, ad esempio i nomi degli oggetti ed i loro layer. Anche il formato OBJ può essere utilizzato per la stampa 3D ed al momento è impiegato come sistema di scambio bidirezionale tra il software CSE e Rhinoceros©, si veda Interfaccia Bidirezionale CSE-Rhinoceros©. |
-----------------------------
C.S.E. - 2001-2018 - Copyright Castalia srl - Milan - Italy - www.castaliaweb.com