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 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 RAM (48 Mb o più consigliati), circa 130 Mb liberi su 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 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 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 rendono 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 applicazione per l’ambiente Windows, cioè molto elevato. Unica pecca rilevata nel corso della prova è l’impossibilità di agganciare una macro realizzata da un utente ad 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 OLEAutomation e richiede l’uso di strumenti più avanzati come VisualBasic o Visual C++. In questo contesto SolidWorks può essere facilmente integrato con tutti gli strumenti di OfficeAutomation 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 installazioni/utenti in Italia: oltre 200.

Numero 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 solamente una pagina Web nel 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 prima 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 “features-based”, la grande facilità d’uso e la completa integrazione con l’ambiente Windows lo pongono da subito all’attenzione degli utenti e della concorrenza. Queste caratteristiche, unitamente al prezzo di vendita, circa 4000$ sul mercato americano, lo collocano immediatamente in competizione con tutti i nuovi prodotti della fascia media, tra cui SolidEdge 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 di 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 VisualBasic compatibile. Tutti ingredienti di buona qualità, che sono stati integrati e “confezionati” con un’interfaccia utente nativa 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 versione, 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 della modifiche l’estrusione viene rieseguita, come pure tutte le operazioni precedentemente effettuate sul solido risultante. Principale mancanza riscontrata tra le funzionalità per la modellazione di solidi sono 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, e sono la maggior parte, che 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 semi automatica 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 una 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” dalla 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 di 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, scelti in 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 short-cut, 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, memorizzati come sequenze di istruzioni in linguaggio BASIC, possono essere liberamente modificate e rieseguite. 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 OLEAutomation, ma ciò richiede competenza specifiche e la disponibilità di un compilatore come ad esempio VisualBasic o Visual C++.

Scambio e condivisione dei dati

Le funzionalità di scambio e condivisione dei dati possono avvenire primariamente via file, sulla base del ricco set di convertitori che equipaggiano SolidWorks, oppure attraverso le modalità previste dalla tecnologia OLE, sia nella modalità OLEAutomation che nella modalità OLE detta “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. Unica nota dolente di questo canale di scambio è la perdita dell’informazione relativa alla parametricità: pur essendo entrambi i sistemi parametrici e featuresbased 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 OLEAutomation le potenzialità sono verso una integrazione diretta dei moduli software con accesso ai dati in formato nativo, senza alcuna conversione. Ne sono un esempio alcune applicazioni di CAM e FEM che sono state agganciate con questa tecnologia a SolidWorks. Il tipo di integrazione non è più basato sullo scambio di file ma sull’accesso diretto ai dati: queste applicazioni si rendono 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 “inplaceactivation”. 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 concerne le funzionalità di programmazione l’aderenza agli standard del mondo Window connota in modo netto il sistema provato. SolidWorks offre all’utente un piccolo ambiente di programmazione per macro comandi simile all’ambiente di sviluppo VisualBasicforApplications che Microsoft fornisce a corredo dei suoi prodotti. Si tratta di un interprete BASIC che adotta una sintassi compatibile con quella del VisualBasic Microsoft. Anche in questo caso siamo in presenza di funzionalità considerate basilari e irrinunciabili dagli utenti del mondo Windows ma che se comparate a quanto offerto dai grossi sistemi CAD nel mondo UNIX sono assolutamente innovative e di grande valore. Ne sono un esempio le funzionalità di recording con cui è possibile creare un programma BASIC, semplicemente attivando un pulsante di registrazione e 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 sviluppo di piccole applicazioni di livello non esasperato. Chi volesse creare delle vere applicazioni verticali ha a disposizione, attraverso OLEAutomation, tutta la potenza e 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, wordprocessor. Nel frattempo il successo di SolidWorks e degli strumenti CAD analoghi, come ad esempio Intergraph SolidEdge, stanno 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à di utilizzo 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 dominio esclusivo del sistema UNIX.

In questo contesto bisogna osservare 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 rinnova a 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 Office97, 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 che i sistemi CAD nativi dell’ambiente Windows offrono oggi sono mediamente superiori a quelli offerti nell’ambito delle workstation Unix.

Concludendo, SolidWorks oggi è un sistema che si colloca degnamente nella fascia media offrendo interessanti funzionalità ad 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 di vendite 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 esiste 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.