15 febbraio 2023

Perché conviene utilizzare una applicazione personalizzata per il CAD

Li chiamano Plug-in, APP, programmi personalizzati, programmi verticali... qualunque sia la loro denominazione l'unica cosa certa è che servono a far risparmiare tempo o a realizzare cose altrimenti non realizzabili con il set di comandi che il software CAD mette a disposizione... 

Ci sono momenti in cui si vorrebbe che il proprio software CAD 'parlasse e capisse' la lingua, la terminologia del settore per il quale stiamo producendo i nostri disegni.
Ad esempio, se mi occupassi di segnaletica stradale orizzontale vorrei comunicare al mio CAD: "devo disegnare delle strisce pedonali da questo punto a questo punto... falle!". E invece, si comincia a smanettare con delle polilinee, con dei rettangoli, con il comando copia o serie, con le campiture.

La parte grafica potrebbe non bastare. Da quel disegno si vorrebbero anche estrarre delle informazioni, dei computi. Di quelle strisce si vorrebbe conoscere lo sviluppo in mq per sapere quanta vernice occorra per realizzarle.

Queste operazioni potrebbero trasformarsi, a volte, in un lavoro complicato e noioso, che richiede tempo.

Sono casi come questi in cui, chi utilizza il CAD, comincia a chiedersi se esista una 'strada alternativa', più diretta, per ottenere quello che ottiene in maniera laboriosa e articolata con i comandi del CAD.


Le applicazioni 'verticali'


Sul mercato esistono software CAD (stand alone o come moduli aggiuntivi) dedicati a delle discipline specifiche. Essi tramite nuovi comandi e procedure ad hoc agevolano e - per quanto possibile - automatizzano la creazione del disegno.

Pensiamo al campo dell'architettura, della meccanica, al GIS, alla progettazione di infrastrutture.
L'offerta è ampia in varie fasce di prezzo e prestazioni. 

Tutti questi software estendono il set di comandi e procedure del CAD  'verticalmente' cioè nell'ambito di una specifica disciplina.

Un software per fare architettura ci fornirà comandi per inserire porte e finestre in automatico, generare prospetti, calcolare superfici di stanze, ecc. ma non ci fornirà un tool per impostare le tolleranze albero/foro tipiche di un disegno meccanico.

Per ogni settore non è difficile trovare in commercio il software dedicato a quel tipo o di progettazione.
Ad esempio software house come Autodesk, GstarSoft, Zwsoft hanno nel loro catalogo un CAD (dal nome originale) specializzato per il disegno meccanico:
Passando a settori meno comuni potremmo citare ArtiosCAD per chi si occupa di imballaggi di cartone, per la progettazione di strutture in acciaio c'è Autodesk Advance Steel, per la progettazione di apparecchi ottici c'è Quadoa Optical CAD ,  e potremmo continuare elencando tanti altri software specializzati... 

La tua nicchia


Ma per coloro che operano in settori più di nicchia (chiamiamoli così...) perché l'oggetto della loro progettazione e produzione è un qualcosa di meno diffuso e molto particolare, non sempre è facile trovare sul mercato un CAD o un plug-in per CAD che li aiuti nel realizzare con rapidità i disegni.

A volte il software è disponibile ma poi, per questioni di costi non ammortizzabili, incompatibilità con i formati di file fino a quel momento utilizzati o ancora, per difficoltà nel trovare personale formato all'utilizzo di detto software, si preferisce restare fermi al proprio CAD che ormai si utiliza da anni.



La personalizzazione del CAD


Per questa serie di motivi tutti i CAD di una determinata fascia offrono all'utente la possibilità di essere personalizzati e programmati a vari livelli di complessità. In questa maniera si consente all'utilizzatore di creare automazioni e le procedure per giungere ai risultati desiderati con il minimo dello sforzo.

Questo significa in pratica far fare al CAD quello che ti serve e come ti serve nel minor tempo possibile, con meno input possibili e con la garanzia che non ci siano errori.

Ma questa non è una prerogativa solo dei CAD ma anche dei modellatori solidi parametrici, dei software di BIM authoring, dei programmi di fogli di calcolo e word processor e molti altri.

Quando la personalizzazione diventa qualcosa di più di una semplice macro (cioe una sequenza di comandi e impostazioni eseguite con una sola azione) e ci si spinge oltre con la complessità utilizzando anche elementi di programmazione, potremo parlare di vere e proprie Applicazioni personalizzate (o App o Plug-in).

L'applicazione - che 'vive' all'interno del CAD - può aggiungere uno o più nuovi comandi.
Inoltre potrebbe anche 
interfacciarsi con il mondo esterno leggendo e scrivendo file o interagendo con altri moduli software.

La personalizzazione della personalizzazione


Tanto è importante tenere in considerazione la 'nicchia' (quel qualcosa di particolare che solo tu fai in quel modo) che le applicazioni CAD più importanti, quindi qualcosa di già personalizzato, supportano a loro volta la personalizzazione.
Lo fanno fornendo funzioni di programmazione aggiuntive (API) che si integrano con quelle già presenti nel CAD.

Per fare un esempio, software come AutoCAD Architetture, AutoCAD Mechanical, AutoCAD MAP - casomai quello che offrono non dovesse bastare a qualche utente -  possono essere a loro volta personalizzati, orientati, corretti, per ottenere un risultato ancora più vicino alle particolari esigenze del cliente.

Personalizzazioni in vendita


Quando qualcuno crea la propria APP,  potrebbe decidere di condividere con altri il frutto del proprio lavoro o venderlo, immaginando che da qualche parte nel mondo ci possa essere qualcuno che abbia lo stesso tipo di problematica. 

Una rapida ricerca in rete o la consultazione di market specializzati può farci trovare qualcosa adatto alle nostre esigenze.
Le software house come Autodesk, BricsSYS, GStarsoft, Zwsoft hanno organizzato dei market di App dai quali poter acquistare o scaricare gratuitamente tantissime applicazioni funzionanti nei loro CAD.

Ecco i link per raggiungerli:

Quali vantaggi offre l'utilizzo di una App personalizzata ?


Tempo. Fa risparmiare tempo e quindi, nella maggior parte dei casi, denaro.

Il suo utilizzo abbrevia i tempi di realizzazione di un disegno, di un modello 3D, del computo di dati estraibili dal disegno.

In alcuni casi rende possibili operazioni altrimenti non realizzabili con i comandi standard presenti nel CAD.

A volte rende meno tediosa la sequenza di operazioni che un utente deve eseguire. 

Può eseguire controlli mirati nel disegno, scaricando l'operatore dal farlo manualmente, cosa che richiederebbe tempo e concentrazione.  

Tutto questo perchè l'operatore ha a disposizione un comando (o una procedura) sviluppata appositamente per le sue esigenze.
La procedura si interfaccia con l'operatore utilizzando una terminologia tecnica tipica di quel settore.
In questa maniera l'operatore non ha bisogno di conoscere a fondo la terminologia del CAD e nemmeno i suoi comandi ... perché deve solo interfacciarsi con una procedura mirata e costruita ad hoc.

L'applicazione fa quello che serve all'utente nella maniera in cui lui lo desidera. E' progettata per farlo nel minor tempo possibile richiedendo il minor numero di input possibili.

Se l'applicazione è fatta bene può prevenire eventuali errori che l'operatore potrebbe commettere o segnalarli e correggerli.

Quando non trovi la APP che serve a te

Se non si riesce a trovare una APP che si conformi perfettamente al proprio flusso di lavoro e produca, nella maniera più rapida possibile il risultato cercato, non resta che provare a realizzarla.

Scrivere una macro o realizzare un programma con un apposito linguaggio di programmazione non è difficile. 
Dopo aver immaginato il funzionamento della propria APP bisogna sapere quali strumenti mette a disposizione il proprio CAD e quali di questi si riuscirà ad utilizzare in base alle proprie skills.

Gli strumenti per creare una applicazione personalizzata

In base al livello di complessità della nostra personalizzazione o applicazione dipende quale strumento utilizzare. Vediamo di seguito quali strumenti sono disponibili nei nostri CAD.

Script

Gli Script sono dei semplici file di testo nei quali sono elencati in sequenza i comandi del CAD e le loro opzioni, proprio come si inseriscono sulla linea di comando.

Gli Script supportano parole chiave particolari per gestire la richiesta di input all'utente e possono anche inglobare delle istruzioni LISP.

Le istruzioni sono salvate in file con estensione .SCR , e si eseguono con il comando Script.

La maggior parte dei CAD supporta questo strumento.


Macro di menù

Sono brevi istruzioni che possono essere inserite all'interno dei file di menù o CUI con una codifica simile a quella degli script. 
Possono essere posti in corrispondenza di qualsiasi voce di menu.
Tutti i CAD supportano queste istruzioni.


Macro

Proprio come quelle disponibili nelle applicazioni Office di Microsoft, dalla versione 2010 di AutoCAD sono state introdotte le Macro, intese come registrazioni di una sequenze di operazioni che si eseguono.

La registrazione potrà poi essere richiamata in seguito e, in un sol colpo, eseguire nuovamente tutte le operazioni registrate in precedenza.

Le macro di azioni sono una funzionalità che attualmente offre solo AutoCAD.


VBA

Il linguaggio di programmazione VBA (acronimo di Visual Basic for Application) è uno standard prodotto da Microsoft ed integrato in numerosi software, primi fra tutti quelli del pacchetto Microsoft Office.
Il VBA fornisce buona parte delle funzionalità del linguaggio Visual Basic applicabile ad un modello ad oggetti che espone il CAD ed  è disponibile in  AutoCAD, BricsCAD, GstarCAD, nanoCAD, progeCAD, ZWcad.

Con il VBA si possono utilizzare dei form (finestre di dialogo) complete dei controlli tipici cone pulsanti, liste, immagini, checkbox ecc.. ma anche di inglobare controlli personalizzati creati da terze parti.

Java script

Utilizzato in nanoCAD salva il codice in file .JS e sfrutta il  modello ad oggetti esposto nel CAD come nel VBA.
 

LISP

Ha fatto la sua comparsa sin dalla primissime versioni di AutoCAD (AutoLISP) e nel corso degli anni ha subito miglioramenti, prima con l'integrazione con il linguaggio DCL (Dialog Control Language) per definire finesre di dialogo e poi una robusta spinta in avanti quando ha supportato l'ActiveX con l'aggiunta di altre numerose funzioni prendendo il nome di Visual LISP.
Questo linguagio è integrato in tutti i CAD che tipicamente vengono trattati in questo blog.

I file hanno estensione .LSP


Gli strumenti elencati di seguito richiedono dei programmi aggiuntivi per essere sviluppati.
Il codice sorgente va infatti compilato eseguendo il link (collegamento) alle librerie software fornite dal CAD.

.NET

L'ambiente di sviluppo di Microsoft insieme all'utilizzo di apposite librerie software disponibili per ogni diverso software CAD, consentono di sviluppare applicazioni con vari linguaggi di programmazione VB, C#, F#.

ARX

E' la programmazione fatta in linguaggio C++. Disponibile in tutti i CAD trattati in questo blog.
Assume nomi diversi in ogni diverso CAD (ObjectARx in AutoCAD, Nrxgate in nanoCAD ecc.) ma offre le stesse potenzialità. Con questo strumento è possibile aggiungere nuove tipologie di oggetti, con caratteristiche proprie, all'ambiente di disegno.


Conclusioni

Ogni qualvolta ci si accorge che il flusso delle operazioni nel CAD non è lineare, è ripetitivo, richiede operazioni ridondanti, si commettono spesso errori forse è il momento di chiedersi se qualcosa non possa essere automatizzato.

Anche una sempilce macro che faccia risparmiare pochi secondi in ogni disegno può essere utile. Alla lunga ripaga il tempo speso per il suo sviluppo.

Realizzare o farsi realizzare una personalizzazione significa migliorare il proprio flusso di lavoro senza doverlo modificare per adeguarlo al modus operandi di un software fatto da altri e che solo in parte collima con le nostre esigenze.

Utilizzando strumenti di sviluppo comuni a più CAD ci si assicura inoltre la portabilità della propria personalizzazione nel casi in cui un giorno si debba cambiare software CAD.

3 commenti:

  1. Fabrizio Pieri11 marzo, 2023 11:31

    Sapresti indicarmi dei testi per studiare LISP, JS, VBA, o altro che possa essere utile per sviluppare applicazioni su nanoCAD?

    RispondiElimina
    Risposte
    1. Ciao Fabrizio,
      innanzi tutto complimenti per il lavoro di divulgazione che fai riguardo nanoCAD. Per quanto riguarda i testi posso consigliarti questo libro free fatto molto bene : https://www.redchar.net/ilmiolisp/
      Per JS e VBA proprio non saprei... Ho imparato,il visual basic con il libri (cartacei) di Francesco Balena anni e anni fa e quella base mi è servita per poi comprendere da autodidatta (in maniera non molto approfondita) JS.

      Elimina