Una comparativa tra vari CAD 3D OpenSource

pironman

Utente Junior
Professione: Progettista
Software: Creo Direct Modeling
Regione: veneto
Buongiorno a tutti.
Negli ultimi mesi ho testato le varie alternative open-source per quanto riguarda la modellazione 3D, sia per avere un cad utilizzabile a casa per progetti personali, sia per verificare se esistono alternative open-source da utilizzare in ambito professionale.
Ho deciso di condividere qui quanto penso sia per dare dei "consigli" a chi voglia utilizzare uno di questi software, sia (e sopratutto) per avere dei pareri da chi li ha usati e magari ha argomentazioni diverse dalle mie.
Ricapitolando quanto serve a me:

- Verifica geometrica del componente in termini di masse e inerzie;
- Verifica di eventuali interferenze tra i componenti;
- Visualizzazione del componente prima di produrlo, per avere un idea più chiara di come sarà e trovare così in anteprima soluzioni a eventuali problemi;
- Creazione di disegni tecnici 2D per poter realizzare il componente progettato;
- Verifica FEM

Faccio una breve rassegna dei pro/contro da me trovati:

BRL-CAD
Pro:
- Raytracing accurato e velocissimo;
- Materiali e geometrie realistiche, quindi interferenze, masse e inerzie accurate;
- Estrema velocità sia a caricare che a maneggiare assiemi di grandi dimensioni;
- Importazione - esportazione con vari formati standard (in particolare IGES e DXF);
- Accetta linguaggi di scripting, il che significa che qualunque parte o assieme, se scritto sotto forma di scripting, può essere parametrizzato in maniera molto efficiente;
Contro:
- L'interfaccia a riga di comando richiede un certo periodo di training;
- Visualizzazione solo wireframe, necessità di raytracing ogni volta che si voglia avere una visualizzazione realistica;
- Mancanza della funzione raccordi-smussi, devono essere creati con comandi booleani;

OpenSCAD
Pro:
- Linguaggio di scripting facile da imparare e molto potente;
Contro:
- Salva il file solo con formati "triangolati", niente NURBS o CSG: pesanti e poco accurati;

SolveSpace
Pro:
- Interfaccia estremamente intuitiva;
- Ottima gestione degli accoppiamenti negli assiemi;
- Possibilità di esportazione di viste e sezioni 2D (utilissimo per la messa in tavola);
Contro:
- Prestazioni davvero scadenti con assiemi nemmeno troppo grandi;
- Mancanza di pattern per inserimento ripetuto di componenti (per esempio viti);

FreeCAD
Pro:
- Mira ad essere il più simile alle proposte commerciali;
- Facile ed intuitivo da usare;
Contro:
- Ancora in fase alpha;
- Mancanza di una soluzione valida per gli assiemi (ma non ho provato l'ultimo aggiornamento);
- Secondo me, troppa dispersione (spiego meglio più avanti);

Fatto questo breve riassunto, entro un pò più nel dettaglio:

BRL-CAD: se la geometria viene creata utilizzando i suoi comandi di modellazione, ogni componente va posizionato imponendo delle coordinate. Non permette quindi la creazione di vincoli tra i componenti stessi, e nel caso in cui vado a modificarne uno, per esempio la lunghezza di una biella, poi dovrò manualmente spostare tutti i componenti collegati. Questo però è vero anche per il software che utilizzo a lavoro (Creo Direct), con la differenza che su BRL-CAD non necessariamente devo creare la geometria utilizzando il suo editor, posso creare un file di scripting! A quel punto, posso fare qualunque cosa voglio, anche assegnare la dimensione di alcuni componenti in funzione di altri, assegnare ogni tipo di vincolo, raggruppare le variabili... una volta imparato a utilizzarlo, le possibilità sono infinite.
Di contro questo richiede un maggiore lavoro iniziale, sia per imparare il linguaggio di scripting, sia per applicarlo ogni volta. Inoltre, se possiedo già un file creato usando mged (l'editor geometrico di BRL-CAD), non lo posso trasformare automaticamente in scripting: qualunque modifica su tale file va eseguita manualmente.
Devo dire comunque che, una volta imparato a utilizzarlo, la creazione di una geometria è molto più veloce di quanto mi aspettavo all'inizio. Inoltre, trovo davvero intuitivo il motore CSG (con logica booleana), perchè per modellare il componente devo ragionare allo stesso modo che se avessi il blocco pieno e lo dovessi lavorare alla macchina utensile.

OpenSCAD: Appena installato, mi è piaciuto subito. C'è da dire che a me la programmazione piace, nel tempo libero programmo con python, e questo cad in sostanza è un linguaggio di programmazione! Stessi vantaggi della creazione del file di script con BRL-CAD, ma implementazione più semplice.
Di contro, ho scoperto presto che le possibilità sono abbastanza limitate, inoltre i formati di file con cui salva non hanno nessuna applicazione ingegneristica pratica: si può solo stampare in 3D, ma per me l'utilità è quasi nulla, dal momento che tutti i componenti che disegno si ricavano per macchina utensile o carpenteria. Per questo motivo ho smesso presto di usarlo.

SolveSpace: L'interfaccia è la cosa più intuitiva che abbia mai visto, non serve leggere nessun manuale ma si può iniziare subito a modellare. Ogni componente viene salvato su file separati, che possono essere ricaricati per andare a formare l'assieme. Alla modifica di uno dei componenti, automaticamente l'assieme si aggiorna: lavora allo stesso modo dei cad parametrici professionali. Inoltre ha l'utilissima possibilità di salvare viste 2D in formato DXF, che possono così essere caricate in un qualunque cad 2D per realizzarne i disegni costruttivi.
Putroppo l'entusiasmo iniziale si è spento presto quando mi sono accorto che basta veramente poco per rallentarlo a livelli tali da renderlo quasi inutilizzabile: non ha multithreading, e un semplice assieme da 400 kb su un asus rog è sufficiente a bloccarlo, peccato! Inoltre, vedendo la sua pagina GitHub, mi ha dato l'impressione che lo sviluppatore sia molto poco attivo su questo programma, il che non mi fa ben pensare al suo futuro.

FreeCAD: Appena aperto, l'impressione è quella di utilizzare un sistema cad professionale. L'inizio è davvero promettente, ci sono praticamente tutte le funzioni presenti in un qualunque cad professionale e anche la facilità di utilizzo è esemplare (non al livello di solvespace, che ritengo il migliore da questo punto di vista, ma ci va molto vicino). Putroppo dopo poco sopraggiunge l'amarezza. Prima di tutto, possono essere create solo parti singole, e non assiemi: anche una penna Bic è un assieme composto da 6 parti! un cad che non permette di creare assiemi è, a mio modo di vedere, inutile. So che esiste un modulo assiemi ancora in via di sviluppo, ho visto dei video e sembra funzionare bene, ma il fatto che non sia ancora rilasciato ufficialmente mi fa pensare che abbia dei problemi. Comunque, non l'ho provato per cui non lo posso valutare.
Mi è capitato più volte che l'interfaccia cambiasse mentre lo utilizzavo, al punto da renderlo inutilizzabile, visto che sparivano finestre essenziali per la creazione di schizzi o componenti. Niente di irrisolvibile, ripristinando il file di configurazione tornava come prima, ma comunque fastidioso.
E' l'unico della comparativa ad avere un modulo per la messa in tavola dei componenti, anche se l'ho trovato davvero limitante, è lontano anni luce dall'essere un modulo utilizzabile a livello professionale.
Di fatto si tratta di un cad promettente, ma ancora decisamente poco maturo, per via dell'instabilità e di funzioni che ritengo essenziali non ancora implementate.
Trovo inoltre assurdo che, dopo 19 anni di sviluppo, sia ancora in fase alpha: forse sarebbe stato meglio sviluppare completamente un modulo prima di passare al successivo, invece ci si ritrova con un software che fa tantissime cose, ma le fa tutte male (o in maniera non ottimale).


Ho volutamente lasciato fuori da questa comparativa SALOME. Si tratta infatti di un software CAE, più che CAD, pensato per le analisi FEM e devo dire che fa egregiamente il suo lavoro. Lo utilizzo anche professionalmente in azienda, dove ha sostituito al 100% il Creo Simulate che utilizzavo precedentemente. Di fatto ad essere potente è il solutore Code_Aster, ma l'interfaccia di Salome si comporta egregiamente.
Se qualcuno cerca un software FEM affidabile, quindi, non posso che consigliare questo. Richiede un po' più di tempo per essere imparato, rispetto a calculix (implementato come modulo di freecad), ma ne vale assolutamente la pena viste le enormi possibilità che offre.

Per quanto riguarda la messa in tavola, non esistendo ad oggi un cad 3D con integrato un modulo 2D decente, utilizzo libreCAD. Molto simile ad autocad, mancano alcune funzioni presenti in quest'ultimo, ma quello che c'è è più che sufficiente e funziona egregiamente bene. Questo cad mi ha dato qualche problema di stabilità in passato, ma l'ultima revisione è davvero "a punto".


RICAPITOLANDO: a mio parere, il cad può maturo, stabile e utilizzabile è BRL-CAD. Probabilmente perché ha avuto 20 anni di sviluppo all'interno dei laboratori dell'esercito statunitense, prima di essere rilasciato come software open source (ad oggi, conta 36 anni di sviluppo attivo!). Tutti gli altri, anche se più intuitivi o facili da usare, per un motivo o per l'altro li ho trovati limitanti.

Il mio sogno, forse irrealizzabile, è questo: BRL-CAD, così com'è oggi, ma con aggiunta la possibilità di utilizzare l'interfaccia di SolveSpace, e l'implementazione del 2D LibreCAD con collegamento diretto al 3D.
 

x11start

Utente Standard
Professione: Disegnatore prefabbricati
Software: Autocad
Regione: Piemonte
Stò cercando di imparare ad utilizzare FreeCAD: è sicuranente un software non banale da utilizzare, tuttavia i limiti che vengono segnalati in questa sede, non mi sembra che li abbia!
Io da sempre uso Autocad (e ultimamente GStarCad), quindi la difficoltà per me è anche quella di passare da un CAD "normale" ad un parametrico: creare una figura 2D e poi vincolarla correttamente prima di effettuare l'erstrusione ecc.
Da quel che ho constatato, l'attuale versione di FreeCAD è paragonabile a SolidWorks del 2005 (di cui feci un corso all'epoca)....quindi un software perfettamente utilizzabile e completo... anche se meno intuitivo rispetto ai parametri dei software professionali moderni. Considerarlo una versione Alfa solo perchè la numerazione ha lo 0. davanti, mi sembra alquanto riduttivo.
 

pironman

Utente Junior
Professione: Progettista
Software: Creo Direct Modeling
Regione: veneto
Le funzioni che trovo indispensabili su un cad sono, in ordine di importanza:

1) Creazione di assiemi composti da più parti
2) Check interferenze
3) Assegnazione diversi materiali sulle parti per calcolo massa/inerzie

Non sono sicuro per l'ultimo punto, ma i primi due non c'erano nella versione da me provata, e non ci sono ufficialmente nella versione attuale (0.18). Esistono "assembly2" (non più sviluppato) e "assembly4", ma si tratta di add-on non creati direttamente dagli sviluppatori di freecad e quindi non "garantiti".
Attenderò una versione completa prima di provarlo nuovamente.
 

x11start

Utente Standard
Professione: Disegnatore prefabbricati
Software: Autocad
Regione: Piemonte
Sono "troppo" alle prime armi con questo software, per darti una risposta certa; tuttavia sono convinto che il punto 1 sia soddisfatto: è possibile creare assiemi. Per le interferenze, forse è meno intuitivo dei software commerciali... ma se si possono fare 2 ingranaggi che girano (ci sono dei tutorial su internet), credo che anche questa sia soddisfatta.. Per la terza ho qualche dubbio in più... ma non ti resta che chiedere agli esperti del forum di Freecad (c'è anche la sezione in italiano): sono gentilissimi e preparati...
 

pironman

Utente Junior
Professione: Progettista
Software: Creo Direct Modeling
Regione: veneto
Ho provato ulteriormente Freecad, nell'ultima versione stabile disponibile (0.18):

- Confermo l'ottima interfaccia, la modellazione è davvero semplice e a livello dei software commerciali

- Assiemi: ho provato il modulo per realizzare assiemi "Assembly4". Non ha funzionato, nel senso che mi si blocca appena provo ad inserire una parte (mi da errore "Access violation"). Come dicevo, questo modulo non è ufficiale, mi riserbo di riprovare quando diventerà ufficiale e quindi i bug saranno sistemati, so che ci stanno lavorando.
In alternativa, possono essere realizzate più parti separate, che verranno considerate come oggetti singoli (ciascuno dei quali con la propria geometria che può essere realizzata da più solidi, lavorazioni ecc...). Una limitazione piuttosto importante di questo metodo è data dal fatto che ogni parte non può essere ripetuta, ma deve essere copiata. Quindi, se ho un assieme con 500 viti tutte uguali, devo fare 500 copie della stessa vite. E se la vite si allunga, devo riportare la modifica su ciascuna. Per cui non lo utilizzerei per grossi assiemi, ma su assiemi piccoli può andare.

- Check interferenze: ufficialmente non c'è niente (la mancanza secondo me più grave), però si può aggirare il problema effettuando una booleana di intersezione tra i componenti. Se restano solidi, c'è interferenza. Anche in questo caso, esiste un modulo esterno che effettua questa verifica, ma lavora in abbinata con il modulo assembly che non riesco a far funzionare. Presumo quindi che anche questa funzione farà parte di un aggiornamento futuro.

- Masse e inerzie: Si possono calcolare utilizzando l'interfaccia python. Ad ogni oggetto può essere assegnata una densità da riga di comando, e di conseguenza possono essere calcolate masse e inerzie. Dovrebbe esistere una macro per effettuare il calcolo in maniera più semplice, ma non riesco ad installare nessuna macro, nel senso che quando apro l'addon-manager, i moduli esterni me li fa caricare, le macro no (si blocca durante il caricamento).

- Analisi FEM: Buono per una verifica veloce, funziona, però preferisco code_aster, dal momento che ha potenzialità molto più elevate. Comunque, per componenti semplici o analisi "standard", va più che bene.

- Messa in tavola 2D: Non riesco a farmi piacere il modulo TechDraw, lo trovo molto limitante, però le viste possono essere esportate singolarmente in DXF. A quel punto può essere utilizzato un cad 2D esterno. L'esportazione è semplice, e per una persona che si accontenta di realizzare componenti semplici, il modulo interno va bene. Ad oggi è l'unico cad open source che offre questa possibilità.

- Non ho più riscontrato bug all'interfaccia che avevo trovato nella versione da me provata in precedenza, direi che questo punto è risolto.


RIASSUMENDO: programma in crescita, sicuramente migliorato molto rispetto alla versione da me provata in precedenza.
A causa delle varie limitazioni descritte sopra, ad oggi, lo vedo buono per realizzare componenti anche complessi o assiemi piccoli. Per poter realizzare assiemi complessi, dovremmo aspettare ancora.
Alcune funzioni fondamentali in un cad, implementate in maniera semplice in altri cad open source, sono laboriose o assenti in questo, o sono presenti come moduli da caricare a parte che possono anche non funzionare a dovere. D'altronde, all'atto di installare un modulo esterno, compare la finestra che ci avvisa che tali moduli non sono controllati dallo staff di FreeCad e quindi non garantiti.
 

pironman

Utente Junior
Professione: Progettista
Software: Creo Direct Modeling
Regione: veneto
Aggiungo una cosa: nonostante i limiti, lo reputo complessivamente il migliore tra le alternative open source. Nonostante dal punto di vista prestazionale e/o funzionale (nel senso di funzioni implementate) ritengo BRL-CAD migliore, l'interfaccia a riga di comando è piuttosto ostica: stiamo parlando di un cad da utilizzare a livello amatoriale, quindi può passare del tempo tra un utilizzo e l'altro, nei tempi morti ci si dimentica dei comandi.
L'interfaccia di Freecad, invece, è sempre intuitiva, anche se non si usa più il programma per qualche mese. Questo è un enorme punto a favore che fa sorvolare su qualche malfunzionamento.
Per quanto riguarda il modulo assembly, sembra che normalmente funzioni, per cui avrò io qualche impostazione che non me lo fa andare, oppure sbaglio ad utilizzarlo, indagherò.
 

+forte

Astronauta
Professione: viaggiatore spazio-tempo
Software: cad mep plant mec reverse lux render ele hvac cfd
Regione: asgard
Ho provato ulteriormente Freecad, nell'ultima versione stabile disponibile (0.18):

- Confermo l'ottima interfaccia, la modellazione è davvero semplice e a livello dei software commerciali

- Assiemi: ho provato il modulo per realizzare assiemi "Assembly4". Non ha funzionato, nel senso che mi si blocca appena provo ad inserire una parte (mi da errore "Access violation"). Come dicevo, questo modulo non è ufficiale, mi riserbo di riprovare quando diventerà ufficiale e quindi i bug saranno sistemati, so che ci stanno lavorando.
In alternativa, possono essere realizzate più parti separate, che verranno considerate come oggetti singoli (ciascuno dei quali con la propria geometria che può essere realizzata da più solidi, lavorazioni ecc...). Una limitazione piuttosto importante di questo metodo è data dal fatto che ogni parte non può essere ripetuta, ma deve essere copiata. Quindi, se ho un assieme con 500 viti tutte uguali, devo fare 500 copie della stessa vite. E se la vite si allunga, devo riportare la modifica su ciascuna. Per cui non lo utilizzerei per grossi assiemi, ma su assiemi piccoli può andare.

- Check interferenze: ufficialmente non c'è niente (la mancanza secondo me più grave), però si può aggirare il problema effettuando una booleana di intersezione tra i componenti. Se restano solidi, c'è interferenza. Anche in questo caso, esiste un modulo esterno che effettua questa verifica, ma lavora in abbinata con il modulo assembly che non riesco a far funzionare. Presumo quindi che anche questa funzione farà parte di un aggiornamento futuro.

- Masse e inerzie: Si possono calcolare utilizzando l'interfaccia python. Ad ogni oggetto può essere assegnata una densità da riga di comando, e di conseguenza possono essere calcolate masse e inerzie. Dovrebbe esistere una macro per effettuare il calcolo in maniera più semplice, ma non riesco ad installare nessuna macro, nel senso che quando apro l'addon-manager, i moduli esterni me li fa caricare, le macro no (si blocca durante il caricamento).

- Analisi FEM: Buono per una verifica veloce, funziona, però preferisco code_aster, dal momento che ha potenzialità molto più elevate. Comunque, per componenti semplici o analisi "standard", va più che bene.

- Messa in tavola 2D: Non riesco a farmi piacere il modulo TechDraw, lo trovo molto limitante, però le viste possono essere esportate singolarmente in DXF. A quel punto può essere utilizzato un cad 2D esterno. L'esportazione è semplice, e per una persona che si accontenta di realizzare componenti semplici, il modulo interno va bene. Ad oggi è l'unico cad open source che offre questa possibilità.

- Non ho più riscontrato bug all'interfaccia che avevo trovato nella versione da me provata in precedenza, direi che questo punto è risolto.


RIASSUMENDO: programma in crescita, sicuramente migliorato molto rispetto alla versione da me provata in precedenza.
A causa delle varie limitazioni descritte sopra, ad oggi, lo vedo buono per realizzare componenti anche complessi o assiemi piccoli. Per poter realizzare assiemi complessi, dovremmo aspettare ancora.
Alcune funzioni fondamentali in un cad, implementate in maniera semplice in altri cad open source, sono laboriose o assenti in questo, o sono presenti come moduli da caricare a parte che possono anche non funzionare a dovere. D'altronde, all'atto di installare un modulo esterno, compare la finestra che ci avvisa che tali moduli non sono controllati dallo staff di FreeCad e quindi non garantiti.
per quanto riguarda gli assiemi c'è A2PLUS,per freecad 018,assembly4 è per freecad019 che uscirà
A2PLUS funziona e permette le istanze
guarda imm
duplicatofreecadImmagine.png
per le interferenze e masse ci sono macro che se non riesci a installare automaticamente puoi installarle manualmente,te le scarichi e le metti nella cartella macro
 

meccanicamg

Utente Senior
Professione: Mechanical engineer manager
Software: SolidWorks, FreeCAD, NanoCAD5, Me10, Excel, LibreOffice
Regione: Lombardia
Confermo anche io per A2+ per gli assiemi. Funziona abbastanza bene ed è stabile. Nasce sulla versione 0,18.
 

Statistiche forum

Discussioni
56,612
Messaggi
482,841
Utenti registrati
98,569
Ultimo utente registrato
Albiroks

Top