Benchmark SolidWorks 97

Articolo pubblicato nel 1997 sulla rivista Pixel, edizioni Il Rostro

Scheda prodotto

Nome: SolidWorks 97.

Produttore: SolidWorks Corporation, Concord, MA – USA.

Riferimenti: SolidWorks è distribuito in Italia da numerosi rivenditori, tra cui la CSS che ha fornito il software ed il supporto per la prova:

C.S.S. S.r.l. CAD Sistemi e Servizi
Via Buzzi 16
20017  Rho, MI
Tel. 02-93900647
Fax. 02-93900649
WWW (italiano): http://www.csscad.it
e-mail: info@csscad.it

WWW (internazionale): http://www.solidworks.com

Data di rilascio: 31 dicembre 1996.

Prezzo di listino:
Licenza singola: Lit. 9.900.000
Opzioni: PhotoWorks Lit. 990.000
Licenza educazionale: Lit. 1.485.000 (canone abbonamento Lit. 495.000)
Aggiornamento da versioni precedenti di SolidWorks: Lit. 1.971.750
Canone abbonamento annuo aggiornamenti software: Lit. 2.475.000

Piattaforme h/w e sistemi operativi supportati: PC Pentium Intel con Windows 95 o Windows NT 3.51 o 4.0 (preferito), PC Alpha con Windows NT 3.51 o 4.0 (preferito).

Configurazione minima e consigliata: processore Intel Pentium con 32 MB di RAM (48 Mb o più consigliati), circa 130 Mb liberi sull’hard disk, scheda grafica VGA o superiore (meglio se con OpenGL in hardware), mouse o altro sistema di puntamento.

Dominio: modellazione parametrica di solidi e assiemi.

Settori di utilizzo: progettazione meccanica.

Formati supportati per stampa e plotter: tutti i formati previsti da Windows 95 e Windows NT.

Formati di esportazione dati: ParaSolid (.x_t), Stereolitografia (.stl), ACIS (.sat), IGES(.igs) e inoltre, per le sole tavole 2D, sono disponibili i due principali formati di AutoDesk (.dwg. e .dxf).

Formati di importazione dati: AutoCAD (.dxf e .dwg), ParaSolid (.x_t), ACIS (.sat), IGES(.igs).

Opzioni principali (non incluse nella prova): pacchetti aggiuntivi offerti dalla CSS

CSSWorks Pdm: Lit. 3.500.000.
CSSWorks Pdm Lite: Lit. 1.800.000.
CSSWorks normalizzati: Lit. 1.500.000.

Dati della prova

Versione del prodotto: SolidWorks 97 (97/015) comprensivo del modulo opzionale PhotoWorks.

Data: Marzo 1997.

Configurazione H/W e S/W: PC Pentium 100, RAM 32 Mb, SVGA, HD 2 Gb, Windows NT 4.00.

Fig. 1 – L’aspetto di “SolidWorks 97” all’inizio di una seduta di lavoro.

Prova

Architettura software: singolo processo, singolo thread.

Dimensione su disco dei modelli: non misurata.

Numero di operazioni atomiche (click, drag, …) per modelli test 2D (Fig. 2): Test A: 5 click; Test B: 22 click e 1 digitazioni; Test C: 21 click; Test D: 29 click e 3 digitazioni.

Tempi di “Load”: non rilevati ma comunque estremamente brevi.

Tempi di “Save”: non rilevati ma comunque estremamente brevi.

Tempi di ricalcolo del modello parametrico: decisamente ridotti e comunque legati alla velocità dell’elaboratore utilizzato. Per modelli di complessità significativa è necessario utilizzare personal computer di fascia alta.

Copertura del dominio: non sono disponibili funzionalità avanzate per la modellazione di superfici, ma per quanto riguarda la modellazione di solidi le capacità di SolidWorks sono complete e rivelano la bontà del motore geometrico utilizzato, cioè ParaSolid.

Funzioni di strutturazione: Sono disponibili solo le semplici funzionalità di group e ungroup. Mancano, come in molti sistemi 3D, le funzionalità di supporto all’utilizzo di layers e simboli. La semplicità e velocità con cui si accede alle funzioni di “suppress feature”, in modellazione, e di “suppress component”, in assembly, suppliscono egregiamente a questa mancanza. 

Documentazione: la documentazione cartacea che accompagna il sistema è completa anche se decisamente stringata e con pochi esempi. Sono presenti un manuale “User’s Guide” ed un “Tutorial” con un interessante gruppo di esercitazioni. La documentazione in linea è perfettamente allineata alla “User’s Guide”. La funzione di help contestuale fornisce informazioni utili solo nelle situazioni più semplici. Nella maggior parte dei casi in cui l’utente chiede aiuto premendo il pulsante F1, appare uno scarno messaggio che invita a contattare il proprio fornitore.

Generalità utilizzo: L’utilizzo di SolidWorks è orientato primariamente al contesto meccanico con alcune valide estensioni specifiche per la modellazione di “sheet metal”. L’essenzialità degli strumenti di disegno lo rende inadatto a contesti dove è richiesta la produzione di documenti 2D particolarmente curati e rispettosi delle norme e tradizioni aziendali.

Personalizzabilità: il livello di personalizzabilità dell’interfaccia utente è allineato a quello delle principali applicazioni per l’ambiente Windows, cioè molto elevato. L’unica pecca rilevata nel corso della prova è l’impossibilità di agganciare una macro realizzata da un utente a un pulsante di una toolbar oppure alla voce di un menù.

Programmabilità: le caratteristiche di programmabilità sono molto avanzate. Sono sostanzialmente possibili due livelli di programmazione: livello delle macro e livello API. Il primo livello è supportato da un piccolo ambiente di sviluppo in BASIC perfettamente integrato in SolidWorks e collegato ad un “registratore” di macro che facilita enormemente questo genere di attività. Il secondo livello di programmabilità passa attraverso lo standard OLE Automation e richiede l’uso di strumenti più avanzati come Visual Basic o Visual C++. In questo contesto SolidWorks può essere facilmente integrato con tutti gli strumenti di Office Automation e con tutte le applicazioni che aderiscono a questo standard de facto.

Gestione di librerie di parti e simboli: .

Integrazione con l’ambiente software: l’integrazione con l’ambiente Windows è completa e costituisce uno dei punti di forza di questo sistema. Gli utenti che hanno maturato esperienze d’uso su altri sistemi Windows troveranno la disposizione dei comandi e le modalità operative proposte da SolidWorks molto familiari. Solo alcuni aspetti non rispondono completamente agli standard ed alle più diffuse modalità di Windows, ma sembrano essere legati piuttosto a limiti implementativi della versione provata che non a scelte progettuali. 

Integrazione con altri sistemi CAD: le possibilità di scambio con gli altri sistemi CAD si basano principalmente sull’uso dei formati “.x_t” e “.SAT” con cui è possibile scambiare dati con tutti i sistemi CAD basati sui kernel di modellazione ACIS e ParaSolid. La via preferenziale rimane indubbiamente quella legata a ParaSolid. Bisogna evidenziare che SolidWorks, come qualunque altro sistema CAD della sua categoria, può scambiare esclusivamente informazioni geometriche in quanto non esiste alcun formato che consenta di trasferire informazioni riguardo a feature, parametri, ecc. Oltre ai due formati descritti sono inoltre presenti anche il formato IGES e il formato DXF.

Integrabilità con software di altro dominio: le caratteristiche di integrabilità con software di altro dominio si avvalgono fondamentalmente dello standard OLEAutomation che consente alle applicazioni native Windows di integrarsi in modo piuttosto semplice; ne sono un esempio alcune applicazioni verticali di FEM e CAM che “girano” dentro SolidWorks operando direttamente sui dati originali senza alcuna esigenza di conversione dei dati. Inoltre lo standard OLE garantisce la possibilità di gestire modelli SolidWorks direttamente all’interno di documenti o modelli di altre applicazioni, come ad esempio Word o Excel. Si segnala la mancanza di OLE4D&M (OLE for Design and Modeling), una validissima estensione di OLE orientata al mondo CAD che dopo un clamore ed un apparente entusiasmo iniziale sembra essere stata dimenticata da molti sviluppatori.

Predisposizione per add-on e moduli di terze parti: come detto, SolidWorks implementa lo standard de facto OLEAutomation con cui è possibile implementare delle estensioni completamente integrate nel sistema. Ne sono testimonianza le apposite versioni di COSMOS (Structural Research & Analysis Corp.) e ANSYS per la parte FEM ed il software della SurfWare per la parte CAM. Non sono previsti né ad oggi implementati altri meccanismi specifici per l’integrazione di moduli di terze parti.

Procedura di installazione: l’installazione può avvenire indifferentemente da CD locale o remoto (via rete). Lo spazio occupato su disco è di circa 30 Mb per la versione base più altri 16 Mb per gli esempi e altri 65 Mb per il modulo PhotoWorks (opzionale).

Dati produttore

Numero di installazioni/utenti in Italia: oltre 200.

Numero di installazioni/utenti in Europa: oltre 700.

Numero installazioni/utenti totali: oltre 7.000.

Politica licenze

Licenze dipartimentali: non previste.

Politica per applicazioni verticali: vedi add-in.

Supporto commerciale per add-in: SolidWorks Corporation offre agli sviluppatori il programma SolidWorks Gold Partner che certifica le estensioni realizzate da terze parti. Non esiste un catalogo ufficiale di queste estensioni, ma solo una pagina web sul sito di SolidWorks Inc. negli USA.

Fig. 2 – I test utilizzati per misurare l’efficacia delle modalità di interazione 2D.

Un prodotto nato “adulto”

SolidWorks Corporation fa la sua comparsa nel mercato CAD il 30 ottobre 1995, a soli 23 mesi dalla sua fondazione, in occasione della presentazione alla stampa americana della prima versione di SolidWorks 95. La giovane società di Concord, nel Massachusetts, riesce in tempi rapidissimi a entrare in questo affollato mercato con un prodotto molto ambizioso specificamente orientato al settore della progettazione meccanica. Le caratteristiche avanzate di parametrizzazione, le funzionalità di modellazione “feature-based”, la grande facilità d’uso e la completa integrazione con l’ambiente Windows lo pongono fin da subito sotto l’attenzione degli utenti e della concorrenza. Queste caratteristiche, unitamente al prezzo di vendita di circa 4000$ sul mercato americano, lo collocano immediatamente in competizione con tutti i nuovi prodotti della fascia media, tra cui Solid Edge di Intergraph e Microstation Modeler di Bentley. Gli analisti di mercato gli riconoscono grandi potenzialità e la capacità di attrarre utenti dalla fascia bassa, costituita principalmente da sistemi 2D, ma anche dalla fascia alta dei ben più costosi sistemi 3D parametrici.

Fig. 3 – Il pannello iniziale che assiste l’utente nell’impostazione del disegno.

La velocità di sviluppo e le funzionalità avanzate di SolidWorks non sono il risultato di una nuova magica alchimia ma poggiano su pilastri molto concreti: il sistema è stato realizzato acquistando sul mercato software tutti gli ingredienti necessari da fornitori di riconosciuto valore e quindi amalgamando e coordinando il tutto in un unico prodotto. La società americana di Concord ha acquistato ParaSolid, il motore geometrico di modellazione, da Unigraphics EDS (Maryland Heights – MO, USA), il gestore di vincoli e motore della parametrizzazione, Dimensional Constraint Manager (DCM), da D-Cubed Ltd. (Cambridge, U.K.), mentre per quanto riguarda il linguaggio per le macro è stato scelto quello della Summit Software Company (Jamesville – NY, USA), un linguaggio Visual Basic compatibile. Tutti gli ingredienti di buona qualità, che sono stati integrati e “confezionati” con un’interfaccia utente nativa per Windows 95/NT. Anche nell’integrazione, realizzata con il linguaggio C++, è stato utilizzato uno dei migliori e maggiormente diffusi prodotti sul mercato: le librerie Microsoft Foundation Classes (MFC). Le qualità e i limiti di SolidWorks sono dunque le qualità e i limiti dei suoi ingredienti.

Le funzionalità di modellazione e assembly

SolidWorks è un sistema primariamente 3D, cioè un sistema che propone la modellazione di solidi come modalità principale, se non unica, per la rappresentazione di parti e componenti meccaniche. Le funzionalità di modellazione solida offerte dal sistema sono tra le più avanzate. La copertura del dominio geometrico è molto estesa pur mancando alcune funzionalità avanzate di modellazione di superfici sculturate, free form surfaces, indispensabili per chi progetta carrozzerie di autovetture o per chi lavora in ambito aeronautico. Tutti coloro che progettano parti con geometrie più semplici trovano in SolidWorks uno strumento di grande potenza e semplicità. L’approccio alla modellazione proposto da SolidWorks è allineato a quello degli altri sistemi: l’utente realizza un profilo chiuso, usualmente detto sketch, e lo estrude generando un primo solido. Ciascuna faccia planare del solido, o qualunque piano agganciato a spigoli o vertici del solido iniziale, può a sua volta ospitare un nuovo profilo la cui estrusione potrà rimuovere o aggiungere volume al solido di partenza. Oltre a queste modalità basate su profili, il solido può essere “lavorato” con operatori di scavo, detti shell oppure hollow, operatori di raccordo, di smusso, ecc. Alcune di queste operazioni sono raggruppate in macro operazioni che SolidWorks, un po’ ambiziosamente, chiama wizard. L’idea dei guidare l’utente passo per passo nelle operazioni più complesse con strumenti software “intelligenti” è indubbiamente valida e interessante e va sempre più diffondendosi nei sistemi software in ambiente Windows. I wizard offerti da SolidWorks certamente non reggono il confronto con quelli che gli utenti possono trovare nei pacchetti di Office-Automation, come Word o  Excel, in quanto ancora troppo scarni e privi della necessaria flessibilità. La strada intrapresa è comunque molto promettente e presumibilmente porterà, nelle prossime versioni, significativi vantaggi per gli utenti.

Una delle caratteristiche del sistema testato che sono maggiormente visibili anche ad un osservatore distratto è la presenza di una schematizzazione grafica della procedura di costruzione del modello. A lato dell’area grafica, è presente una zona in cui, con una struttura gerarchica simile a quella di Explorer di Windows 95/NT (ex File Manager), sono elencate e strutturate le “macro operazioni” eseguite dall’utente. Con SolidWorks, in modo del tutto simile a Intergraph SolidEdge e 3D/Eye Trispective, la struttura procedurale che sta alla base dei sistemi CAD parametrici emerge alla luce del sole e si mostra agli utenti con grande semplicità. Questa struttura gerarchica non solo costituisce un nuovo strumento di comunicazione che si affianca e in parte sostituisce l’area grafica, ma descrive in modo chiaro e diretto le principali relazioni che, al di sotto della semplice geometria, governano il comportamento di un modello parametrico. Interagendo con la struttura gerarchica, che SolidWorks  chiama “Features Manager Design Tree”, si possono eseguire con rapidità operazioni altrimenti molto complesse e laboriose. Ad esempio, si possono selezionare i profili per apportarvi eventuali modifiche, si possono selezionare le “macro operazioni”, o feature, per modificarne i parametri. Inoltre, con le stesse semplici modalità di “drag” con cui in Microsoft Explorer si sposta un file da una directory all’altra, si può riordinare la sequenza delle feature. Nella modellazione di solidi basata su feature, le operazioni di riordino sono estremamente utili; nei sistemi CAD di fascia alta, ove presenti, queste funzionalità sono usualmente riservate agli utenti più esperti in quanto basate su sequenze di comandi tanto complesse da scoraggiare anche gli utenti più determinati. La modalità proposta da SolidWorks rende invece intuitivo e quasi banale l’uso di questa importante funzionalità, favorendone l’uso anche tra gli utenti meno esperti. Le funzionalità di drag and drop non si limitano al “Features Manager Design Tree”, ma sono attive e fruibili anche nell’area grafica. Ad esempio, è possibile selezionare un foro e trascinarlo in una faccia opposta con il solo uso del mouse; premendo anche il tasto CTRL nell’azione di trascinamento, in modo del tutto simile a quanto avviene in Microsoft Explorer, viene creato un nuovo foro sulla nuova faccia scelta lasciando intatto quello originale.

Tra le caratteristiche generali del sistema rilevate nel corso della prova bisogna segnalare la grande libertà offerta all’utente: ciascuna operazione o feature può essere alterata modificandone non solo i parametri dimensionali ma anche le stesse modalità di costruzione. Ad esempio è possibile modificare radicalmente un profilo 2D precedentemente estruso, non solo  variandone alcune dimensioni ma anche rimuovendo alcuni lati ed aggiungendone altri; al termine delle modifiche l’estrusione viene rieseguita, come pure tutte le operazioni precedentemente effettuate sul solido risultante. La principale mancanza riscontrata tra le funzionalità per la modellazione di solidi riguarda gli operatori di intersezione booleana che, sebbene di uso infrequente, consentono di creare rapidamente alcune forme di complessità rilevante.

Oltre alla modellazione di solidi, SolidWorks offre notevoli funzionalità per la modellazione di assiemi. Si tratta di funzionalità molto avanzate che consentono la creazione di assiemi anche molto complessi. Interessante e molto utile la funzionalità che consente di modificare un componente direttamente nel contesto di un assembly, usualmente disponibile solo su sistemi di fascia alta. La modellazione di assiemi consente anche la creazione di modelli con riferimenti circolari, come ad esempio quadrilateri articolati, una caratteristica non supportata da quei sistemi, che, per la maggior parte, modellano gli assiemi esclusivamente con strutture gerarchiche. Tra i limiti di queste funzionalità si segnala l’estrema essenzialità degli strumenti per la produzione automatica di distinte base (BOM, Bill of Materials) o di report descrittivi dell’assieme.

Fig. 4 – Una semplice parte in cui la feature shell precede la feature hole.
Fig. 5 – La parte di Fig. 4 in cui la feature shell è stata inserita dopo la feature hole.

Le funzionalità di disegno e messa in tavola

Come tutti i sistemi di questa categoria, anche SolidWorks affianca alla “nativa” rappresentazione 3D la più tradizionale rappresentazione 2D così da soddisfare le esigenze di comunicazione basata sull’uso del disegno tecnico. Queste esigenze sono soddisfatte dalle cosiddette operazioni di messa in tavola: con alcune semplici operazioni è possibile ottenere una rappresentazione 2D canonica, comprensiva di sezioni e quote, di un modello tridimensionale. È evidente che la generazione di una rappresentazione 2D a partire da un modello 3D costituisce una sorta di anacronismo rispetto ai moderni principi di integrazione e automazione delle fasi di progettazione e produzione, ma è altrettanto indiscutibile che nessuna realtà industriale è oggi pronta ad abbandonare in toto le modalità di comunicazione e scambio dati basate su tali rappresentazioni. Pertanto, la generazione semiautomatica di rappresentazioni 2D con le funzionalità di “messa in tavola” costituisce una caratteristica essenziale e irrinunciabile per favorire una graduale adozione di nuove tecnologie CAD, come form-feature e parametricità nell’ambito di un gruppo di progettazione. In questa prospettiva un moderno sistema CAD deve offrire non solo un ambiente di modellazione semplice ed efficace ma anche strumenti per la produzione di tavole 2D altrettanto facili e rapidi. SolidWorks offre tutto questo e lo fa in modo egregio.

Pertanto, per quanto concerne le funzionalità di disegno, sono disponibili due differenti modalità: (a) il disegno di profili bidimensionali disposti su un piano o una faccia planare e (b) la realizzazione di tavole a partire da modelli tridimensionali.

I comandi di disegno sono i medesimi in entrambe le modalità: l’utente può avvalersi di un insieme base di comandi, non ricco come quello tipico di un sistema 2D, ma comunque sufficiente per il contesto di utilizzo. Anche SolidWorks, come ormai tutti i principali sistemi CAD, offre una modalità di sketch assistita con il cursore che in modo “intelligente” riconosce punti notevoli, allineamenti, parallelismi, perpendicolarità, ecc. Questa modalità di disegno, realizzata per la prima volta dalla Ashlar Inc. alla fine degli anni ’80 per l’ambiente Macintosh, si è oggi imposta come irrinunciabile per tutti i sistemi CAD. L’implementazione offerta da SolidWorks non è tra le più configurabili e personalizzabili, ma nell’uso si dimostra efficace e sufficientemente intuitiva. Il limite principale che si è riscontrato è la mancanza di un adeguato feedback grafico nelle operazioni di trim ed extend di segmenti ed archi. Tutti i disegni bidimensionali, siano essi parte di un profilo o parte di una tavola, nascono direttamente parametrici; le relazioni suggerite dal cursore “intelligente”, e utilizzate dall’utente nella costruzione di una figura bidimensionale sono automaticamente imposte come vincoli sul modello parametrico. Anche le relazioni più complesse utilizzate nella costruzione del profilo, come la simmetria, divengono parte integrante del modello parametrico. Al termine della fase di disegnazione l’utente ha la possibilità di completare il modello parametrico aggiungendo ulteriori vincoli geometrici e dimensionali o modificando quelli esistenti. SolidWorks esibisce una notevole potenza e flessibilità nella gestione dei modelli parametrici bidimensionali: i modelli possono essere modificati in senso parametrico anche quando non sono completamente vincolati, sia variando il valore delle “quote” imposte dall’utente sia semplicemente trascinando con il mouse un punto o un segmento. L’editing dei vincoli, cioè la possibilità di rimuovere alcuni vincoli o di imporne altri (Fig. 6), è abbastanza semplice e  mediamente più semplice di quanto offerto dalla concorrenza. Gli utenti, forse “viziati” dall’estrema facilità con cui, nel contesto dello stesso sistema, si gestiscono le feature tridimensionali, probabilmente maturano aspettative, per il contesto 2D, di modalità ancora più semplici e dirette di quanto oggi offerto da SolidWorks.

Gestione dei parametri

L’uso della tecnologia parametrica presenta potenzialità di utilizzo che consentono la realizzazione di modelli con livelli di variabilità dimensionale e morfologica estremamente differenziati. Con un approccio minimalista si possono realizzare modelli pressoché “statici” con pochi o nessun vincolo. All’aumentare del numero di vincoli, il modello assume caratteristiche “comportamentali” sempre meglio definite, sino ad assumere una precisa e chiara personalità nei modelli completamente vincolati. Ma l’utente può andare oltre imponendo ulteriori relazioni sui parametri, collegandoli con relazioni algebriche anche di considerevole complessità. In questo caso il disegnatore/progettista sconfina nel territorio della programmazione e il sistema CAD assume caratteristiche che usualmente sono proprie dei sistemi basati sulla conoscenza (knowledge-based).

Fig. 6 – I pannelli per l’imposizione e il browsing dei vincoli dei profili 2D.

SolidWorks affronta la gestione dei parametri, cioè di quelle funzionalità che consentono un uso avanzato del sistema CAD, con un approccio quantomeno incerto. Se da un lato il sistema offre strumenti nativi per l’imposizione di relazioni tra i parametri non dissimili da quanto offerto dalla concorrenza, dunque di livello primordiale, e inoltre totalmente non documentati, dall’altro suggerisce un’integrazione con i potenti strumenti di Office-Automation, come Microsoft Excel, aprendo prospettive sino ad oggi impensabili. In particolare è possibile realizzare una tabella Excel in cui per ciascun parametro significativo del modello possono essere tabulati i valori corrispondenti ad un insieme di configurazioni. All’interno della tabella è possibile creare ulteriori relazioni tra i parametri utilizzando la ricchissima libreria di funzioni che correda il foglio elettronico di Microsoft. A ciascuna configurazione dei parametri l’utente assegna un nome identificativo; attraverso questo nome è quindi possibile passare da una configurazione parametrica all’altra, in modo totalmente trasparente rispetto alla tabella Excel, giustamente nascosta alla vista dell’operatore in questa fase finale. La tabella delle configurazioni, grazie alla tecnologia OLE, è contenuta nel modello CAD e dunque non corre il rischio di essere smarrita o inavvertitamente cancellata o ridenominata. SolidWorks conserva comunque una propria copia interna della tabella consentendo la selezione delle configurazioni anche ad utenti sprovvisti di Excel. Lo strumento di Microsoft è pertanto necessario solo a chi volesse creare nuove configurazioni o alterare quelle esistenti. La scelta di integrazione con Excel è indubbiamente una scelta felice e coerente con la filosofia della casa di Concord: utilizzare al meglio quanto offrono il mercato e l’ambiente Windows evitando, per quanto possibile, di sviluppare strumenti proprietari. L’implementazione di queste innovative funzionalità è però ancora da perfezionare per quanto riguarda l’integrazione, ad esempio la ridenominazione dei parametri non si propaga automaticamente alla tabella Excel, e la stabilità.

Al di fuori della gestione tabellare delle configurazioni, simile come approccio alle “FamilyTable” di PTC Pro/Engineer, le possibilità di definire relazioni tra parametri sono estremamente limitate. SolidWorks offre solamente un primitivo editor di equazioni di arduo utilizzo. Nel corso della prova è stato possibile verificare che questo editor, per quanto limitato, riconosce e valuta correttamente anche le principali funzioni trigonometriche, benché queste non vengano mai menzionate nella documentazione né negli esempi.

Analizzando a fondo le caratteristiche degli strumenti per la gestione dei parametri, emergono alcune difficoltà operative di interazione: ad esempio, non è possibile disporre di una visualizzazione dei vincoli dimensionali che riporti, oltre al valore, anche il nome del parametro, come pure non è disponibile una lista completa e strutturata dei parametri che ne faciliti la selezione e la modifica. Si tratta di limiti di un sistema che comunque, per le notevoli caratteristiche di flessibilità e potenza nella gestione dei modelli parametrici, si colloca ai primissimi posti dell’intero panorama CAD mondiale.

Fig. 7 – Un esempio delle capacità di rendering di PhotoWorks (opzionale).

Personalizzazione

SolidWorks è un sistema pensato per l’ambiente Windows e, come tale, dispone in modo nativo di funzionalità di personalizzazione dell’aspetto e del comportamento del sistema CAD (Fig. 3) che possono apparire come ovvie agli utilizzatori abituali dell’ambiente Microsoft ma che sono di assoluto rilievo se paragonate a quelle dei ben più costosi e blasonati sistemi CAD di fascia alta.

In particolare, l’utente ha la possibilità di personalizzare le toolbar aggiungendo nuovi pulsanti, selezionati da un’ampia tavolozza, e di ricollocare ciascuna toolbar sullo schermo semplicemente trascinandola con il mouse. Con la medesima facilità l’utente può riorganizzare i menù alterando liberamente la disposizione dei comandi; il tutto in modo intuitivo agendo esclusivamente con il mouse senza la necessità di accedere a criptici file di configurazione, come accade per la maggior parte dei sistemi CAD. Anche per quanto riguarda gli shortcut, cioè le combinazioni di tasti associate ad un comando del sistema, SolidWorks offre strumenti per la definizione e la modifica di semplice utilizzo e completamente allineati con gli elevati standard qualitativi tipici delle applicazioni Windows.

Oltre a queste funzionalità di personalizzazione SolidWorks offre altre caratteristiche che, come per le funzionalità descritte precedentemente, possono apparire scontate ad un utente dell’ambiente Windows, ma che sono di interesse per chi utilizza sistemi CAD su piattaforme UNIX; ad esempio in ogni momento è possibile suddividere orizzontalmente e verticalmente una finestra direttamente con il mouse in modo analogo a quanto è possibile fare con Excel, visualizzando in tale modo il medesimo oggetto in due o quattro viste; inoltre, è possibile operare contemporaneamente su più parti avendo ciascuna parte visualizzata in una propria finestra liberamente dimensionata e disposta sullo schermo.

In aggiunta ai comandi nativi offerti dal sistema, l’utente può creare comandi propri semplicemente registrando una sequenza di operazioni con uno strumento denominato “Macro Recorder”. Queste sequenze di comandi, memorizzate come istruzioni in linguaggio BASIC, possono essere modificate liberamente e rieseguite. La principale limitazione della versione provata è l’impossibilità di agganciare uno di questi macro comandi realizzati dall’utente al pulsante di una toolbar. L’unica possibilità per realizzare questo tipo di personalizzazione consiste nell’accedere alla “porta” delle API OLE Automation, ma ciò richiede competenze specifiche e la disponibilità di un compilatore, ad esempio Visual Basic o Visual C++.

Scambio e condivisione dei dati

Le funzionalità di scambio e condivisione dei dati possono avvenire principalmente tramite file, sulla base del ricco set di convertitori che equipaggiano SolidWorks, oppure attraverso le modalità previste dalla tecnologia OLE, sia in OLE Automation sia in OLE “inplaceactivation”.

SolidWorks è in grado di scambiare dati direttamente nel formato nativo di ParaSolid, il flusso di dati da e verso EDS Unigraphics è pertanto diretto e non comporta alcun degrado dell’informazione geometrica. L’unica nota dolente di questo canale di scambio è la perdita dell’informazione relativa alla parametricità: pur essendo entrambi i sistemi parametrici e feature-based, essi utilizzano rappresentazioni parametriche proprietarie e differenti e ciò rende impossibile, ad oggi, lo scambio di informazioni relative a vincoli, parametri, sequenza di features, ecc.

Di grande interesse è anche la presenza del convertitore da e verso il mondo ACIS (Spatial Technology, Inc.) attraverso il formato “.SAT”, un formato che sta affermandosi nel mondo dei modellatori 3D come standard de facto. Questo formato rende di fatto SolidWorks capace di colloquiare con la quasi totalità dei sistemi CAD di fascia media e con molti sistemi di fascia alta. La presenza del formato IGES assicura, in ogni caso, una via anche da e verso i sistemi che non supportano nessuno dei due formati descritti. Infine, la dotazione è completata dalla presenza di un convertitore verso il formato VRML, in brevissimo tempo divenuto uno standard del mondo Internet, e dal convertitore verso il formato STL, utilizzato per la produzione di prototipi con le tecnologie stereolitografiche.

Per quanto concerne le “porte” aperte su SolidWorks dall’adesione agli standard OLE Automation, le potenzialità si orientano verso un’integrazione diretta dei moduli software con accesso ai dati in formato nativo, senza alcuna conversione. Ne sono un esempio alcune applicazioni di CAM e di FEM integrate in SolidWorks. Il tipo di integrazione non è più basato sullo scambio di file, ma sull’accesso diretto ai dati: queste applicazioni diventano visibili e fruibili all’utente attraverso uno o più menù che si aggiungono a quelli dell’interfaccia standard di SolidWorks. In questo contesto, la distinzione tra le tradizionali categorie, come applicazioni integrate, add-on, plug-in, ecc., tende a sfumare, a tutto vantaggio dell’utente.

Infine, SolidWorks supporta, come la gran parte delle applicazioni Windows, le funzionalità di OLE dette “in-place activation”. Ciò significa che è possibile inserire ad esempio un documento Word in un modello CAD o, viceversa, inserire un modello SolidWorks in un documento Word con la possibilità di operare sul modello direttamente all’interno del documento senza lasciare l’applicazione originale; questa modalità è per ora sconsigliata a chi non dispone di una dotazione più che abbondante di memoria. 

Programmazione e integrazione nel sistema informativo aziendale

Anche per quanto riguarda le funzionalità di programmazione, l’aderenza agli standard del mondo Windows caratterizza in modo netto il sistema provato. SolidWorks offre all’utente un piccolo ambiente di programmazione per macro di comando, simile all’ambiente di sviluppo Visual Basic for Applications che Microsoft fornisce a corredo dei suoi prodotti. Si tratta di un interprete BASIC che adotta una sintassi compatibile con quella del Microsoft Visual Basic. Anche in questo caso siamo in presenza di funzionalità considerate basilari e irrinunciabili dagli utenti del mondo Windows, ma che, se paragonate a quanto offerto dai principali sistemi CAD nel mondo UNIX, sono assolutamente innovative e di grande valore. Ne sono un esempio le funzionalità di registrazione con cui è possibile creare un programma BASIC, semplicemente attivando un pulsante di registrazione ed eseguendo interattivamente una serie di operazioni sul modello. Al termine della “registrazione” il programma BASIC potrà essere modificato con un semplice editor, fornito con SolidWorks (Fig.  8), per essere ottimizzato o generalizzato. Ma SolidWorks non si ferma a questo, come accade in Word, Excel e Access, sul programma BASIC può essere fatto un debug, fissando dei breakpoints, o istituendo dei watch sulle variabili. Ovviamente, questo ambiente è pensato per supportare personalizzazioni e lo sviluppo di piccole applicazioni di livello non esasperato. Chi volesse creare vere applicazioni verticali ha a disposizione, tramite OLE Automation, tutta la potenza e la versatilità di SolidWorks. Utilizzando questa API è possibile realizzare una profonda integrazione del sistema CAD con tutti quegli strumenti usualmente presenti su personal computer, come database, posta elettronica, fogli elettronici, word processor. Nel frattempo, il successo di SolidWorks e degli strumenti CAD analoghi, come ad esempio Intergraph SolidEdge, sta attirando sulla piattaforma Wintel (Windows + Intel) numerose applicazioni di carattere ingegneristico, tradizionalmente disponibili solo in ambiente UNIX. Questa migrazione, ancora piuttosto lenta, sta gradualmente creando nuovi spazi di integrazione e nuove potenzialità d’uso, in grado di rendere sempre più competitiva questa classe di sistemi CAD.

Pertanto le caratteristiche di programmabilità e di integrabilità di SolidWorks non sono solamente il frutto del lavoro degli sviluppatori della casa di Concord, ma sono il risultato dell’evoluzione di un’intera piattaforma hardware e software, su cui convergono le attività e gli interessi di numerosissimi sviluppatori e utenti.

Fig. 8 – Una semplice macro in BASIC generata automaticamente.

Conclusioni

SolidWorks è il sistema che, con Intergraph SolidEdge e pochi altri, ha inventato una nuova categoria di sistemi CAD, una categoria che è difficile fare rientrare nelle tradizionali classificazioni. Il prezzo, benché più alto in Italia che negli Stati Uniti, è equivalente a quello di un sistema bidimensionale di due anni fa, mentre le prestazioni raggiungono e superano per molti aspetti i livelli di molti dei più noti sistemi di fascia alta. Molti di questi indiscussi meriti provengono da felici scelte architetturali e da una strategia di sviluppo volta ad avvalersi dei componenti software offerti dal mercato. La simbiosi con l’ambiente Windows è completa: SolidWorks si giova della sconfinata base installata di macchine con Windows 95 e Windows NT e, contemporaneamente, sostiene vigorosamente l’aggressione in atto da parte di Microsoft al mondo delle workstation, tradizionalmente territorio di esclusiva appartenenza del sistema UNIX.

In questo contesto, va osservato che lo sviluppo di un prodotto software di successo in ambiente Windows costituisce oggi una sfida di assoluto rilievo. Tutti i produttori si trovano ad inseguire gli standard che l’azienda di Bill Gates propone e aggiorna a una velocità travolgente. In questa situazione per gli sviluppatori diviene sempre più difficile offrire dei prodotti con un livello qualitativo e una ricchezza di funzionalità comparabili a quanto immesso sul mercato da Microsoft. Ad esempio, per il solo sviluppo di Office 97 e l’upgrade di Office 95, sono stati investiti capitali comparabili al fatturato di una delle più grosse aziende che producono sistemi CAD. Questo divario crea aspettative negli utenti, in termini di qualità e funzionalità offerte dai sistemi CAD, che difficilmente potranno essere soddisfatte nel breve termine. Ciò nonostante, i livelli qualitativi e funzionali offerti oggi dai sistemi CAD nativi per l’ambiente Windows sono mediamente superiori a quelli offerti dalle workstation Unix.

Concludendo, SolidWorks oggi è un sistema che si colloca degnamente nella fascia media, offrendo interessanti funzionalità a un rapporto prezzo-prestazioni di sicuro interesse. Le funzionalità di modellazione non sono ancora sufficientemente ricche e complete e la disponibilità di applicazioni verticali è troppo limitata per collocarlo nella fascia alta del mercato, ma le premesse per il futuro sono molto promettenti. Il continuo estendersi della piattaforma Windows nel territorio delle workstation Unix, il successo commerciale di SolidWorks e le lungimiranti scelte architetturali costituiscono le migliori promesse per le evoluzioni future di questo prodotto.

Dal punto di vista degli utenti, SolidWorks è dunque un sistema che, in molti ambiti applicativi della piccola e media industria, può occupare a pieno titolo la posizione di sistema CAD principale; in contesti applicativi con esigenze più specifiche e nell’ambito della grande industria può essere affiancato con successo ai sistemi CAD di fascia alta con cui presenta una forte compatibilità, come ad esempio EDS Unigraphics. Ma attenzione, gli utenti che sperimentano le semplicità e l’efficacia delle modalità di interazione offerte da SolidWorks difficilmente vorranno tornare a lavorare con interfacce utente primordiali, con sequenze astruse di comandi e con procedure operative inutilmente complesse.


Anteprima SolidWorks 95

Nel novembre 1995, SolidWorks 95 ha debuttato nel settore CAD, stabilendo nuovi standard di modellazione meccanica con la sua interfaccia intuitiva e integrazione su Windows. Grazie a una strategia modulare e a investimenti solidi, la giovane società di Concord si è rapidamente guadagnata la fiducia del mercato, promettendo funzionalità avanzate a un prezzo competitivo.

My first SolidWorks rendering in 1997

In March 1997, while working at the University of Parma’s Department of Industrial Engineering, I created my first rendering using RenderWorks, based on a SolidWorks model. I was also teaching Computer-Aided Design courses at the time, using SolidWorks 97 on a DEC Alpha PC with Windows NT 3.51.

Comments are closed.

Powered by WordPress.com.

Up ↑

Discover more from Franco Folini Blog

Subscribe now to keep reading and get access to the full archive.

Continue reading