31 maggio 2020

Disegnare nel browser web con ARES KUDO... e pure con il Lisp


I CAD basati su browser web offrono buone prestazioni e numerosi comandi di editing. Ares Kudo ci mette anche il LISP...

Viene considerato uno dei migliori CAD per l'editing all'interno dei browser web. ARES Kudo è un prodotto della software house tedesca Graebert.

La casa tedesca da un po' di anni ha affiancato al suo CAD desktop basato su DWG - Ares Commander - altri strumenti per gestire i disegni in mobilità:
  • ARES Kudo, cad che funziona all'interno dei browser web
  • ARES Touch, cad per tablet e smartphone.
I tre prodotti sono tutti fortemente integrati, tutti con la stessa interfaccia e supporto condiviso dei commenti associati ai file.

I plug-in

Tutti i prodotti consentono l'installazione di plug-in scritti nei linguaggi supportati, tra questi anche il Lisp.

Mi ha sorpreso la possibilità di utilizzare in Kudo, quindi in un  browser web,  dei semplici programmini in Lisp. 

Per chi si trova fuori ufficio ed ha bisogno di fare qualche operazione extra sui propri disegni collocati in cloud  - come eseguire query su dati o elementi grafici, oppure creare al volo disegni di oggetti parametrici - la possibilità di avere il Lisp a disposizione non è un fatto da trascurare.

La versione demo 30gg che ho utilizzato, in realtà aveva il comando per il caricamento dei programmi esterni (LoadApplication) disabilitato ma, tramite il copia&incolla sulla linea di comando sono riuscito a caricare il codice ed ad utilizzarlo.

Il Lisp di Kudo è compatibile con il Lisp base presente in AutoCAD. Non sono supportate le funzioni avanzate VL-*e quelle che accedono al modello ad oggetti ActiveX.

I comandi di Kudo

Anche la maggior parte dei comandi di Kudo sono simili a quelli di AutoCAD. Inoltre ci sono una nutrita serie di variabili di sistema (setvar) disponibili.
Questo consente il riutilizzo di codice già disponibile apportanndo solo poche correzioni quando la sintassi dei comandi è difforme da quella tipica dei CAD AutoCAD compatibili.

Qualche esempio

Ho utilizzato per le prove un classico disegno di esempio fornito con AutoCAD.

Il comando Trova (Find) di Kudo non consente di trovare i testi all'interno degli attributi dei blocchi. 
Per questo ho testato un primo programma per cercare un testo all'interno dell'attributo del blocco RMNUM e poi eseguire uno zoom sullo stesso.  Questo è il codice da copiare e incollare sulla linea di comando:

(defun c:cerca ( / txt val ss in n)
   (setq txt(getstring"\nValore da ricercare:"))
    (setq ss(ssget "_X" '((2 . "RMNUM"))))
    (setq n 0 in T)
   (while in 
     (setq val(cdr(assoc 1 (entget(entnext(ssname ss n))))))
     (if (= txt val)
      (progn
       (command "_zoom" "_ha" (cdr(assoc 5(entget(ssname ss n)))))
       (setq in nil)
      )
     (setq n(1+ n))
    )  
   (if (= n (SSLENGTH ss))(setq in nil))  )
)
Una seconda procedura che ho testato è quella che calcola l'area di un locale rettangolare e poi disegnare un testo contenente il valore dell'area in mq. :
(defun c:stanza ( / p1 p2 )
  (setq p1(getpoint"\nPrimo vertice"))
   (setq p2(getcorner p1"\nSecondo vertice"))
   (command "_area" p1  (list(car p1)(cadr p2)0) p2 (list (car p2)(cadr p1) 0) "")
   (prompt"\nPosiziona il valore dell'area")
   (command "_text" pause 0.25 0 (strcat(rtos(getvar"area")2 2 )"mq") "" )
)

Per eseguire il caricamento basta incollare il codice Lisp sulla linea di comando
Bisogna utilizzare la short-cut "CTRL-V" in quanto, nella linea di comando, non è disponibile un menù contestuale con la voce "Incolla".
Dopo aver digitato "CTRL-V" immettere un Invio da tastiera.

Nel codice Lisp non ci devono essere commenti altrimenti la lettura del codice è falsata.

Nel video seguente si vede il caricamento dei programmi ed il loro utilizzo:



L'uso di programmi personalizzati consente di creare dei propri comandi mirati a risolvere problematiche specifiche legate al tipo di disegni che trattiamo, gli esempi potrebbero essere infiniti.

Dopo aver apprezzato questo aspetto di Kudo, unico per adesso nel panorama dei CAD basati su browser web, scopriamo come funziona e cosa altro offre all'utente.

Come funziona un CAD basato su Web browser

Il programma Ares Kudo 'gira' sui server della Graebert e, sfruttando le potenzialità dell'HTML5, del Java e delle librerie WebGL supportate dal Browser, le usa per gestire l'interazione con l'utente e minimizzare il numero di informazioni che viaggiano tra client (il pc di chi lo usa) e server.

Dopo aver reso visibile il disegno a schermo, saranno solo le modifiche alla parte grafica ad essere trasferite ai server per aggiornare - quasi istantneamente - la copia del disegno lì memorizzata.

L'accesso a Ares Kudo

Dopo essersi registrati e aver avuto accesso al sito, l'applicazione web richiede quale servizio di Cloud storage utilizzare per aprire/salvare i disegni.
I disegni con questa applicazione possono risiedere solo nel cloud.

I servizi di storage supportati sono:
  • Box
  • Google Drive
  • Onshape
  • Trimble connect
  • Dropbox
  • Webdav
  • Onedrive
  • Onedrive Business
Kudo mostrerà nella sua pagina introduttiva le cartelle del drive specificato e, nell'area superiore, le anteprime degli ultimi disegni utilizzati.
la Start Page di Kudo

Per completezza bisogna ricordare che Graebert mette a disposizione delle librerie software (chiamate WebDAV API  - Web Distributed Authoring and Versioning) che consentono di configurare un proprio servizio cloud basato su computer propri come altrernativa ai servizi cloud sopra elencati.

Gestione dei file

Per aprire un disegno si può scorrere la struttura delle cartelle o selezionare le anteprime degli ultimi utilizzati mostrati nella fascia superiore.
Kudo consente di aprire più disegni per volta richamando se stesso in una nuova scheda del browser.

Sempre da questa Start page è possibile creare nuove cartelle o nuovi file DWG.

L'editor del disegno

L'interfaccia dell'editor del disegno è composta nella parte di sinistra un pannello che raccoglie su 2 colonne i comandi di uso più frequente.

Sempre da questo pannello è consentito l'accesso rapido ai comandi di Modifica o ad un altra struttura di menu a cascata (Application Menu) per l'accesso ad altri comandi navigando le voci:
File, View, Insert, Format, Dimension, Draw, Modify, Tools.


Nella parte di destra ci sono invece i pannelli per gestire le proprietà degli oggetti, i layer e gli xref.
Nella parte in basso una utilissima linea dei comandi.

Il modus operandi dei comandi di Kudo non è diverso dai comandi dei CAD 'AutoCAD compatibili'.
Per chi conosce già questo tipo di CAD non sarà difficile operare in Kudo.

Se non si conosce la corretta dicitura di un comando basta scrivere il suo nome sulla linea di comando. La linea di comando offre dei suggerimenti già durante la digitazione.

La presenza di un sistema di alias, simili a quelli di AutoCAD, consente di richiamare senza problemi anche comandi che hanno nomi diversi rispetto agli orignali AutoCAD.



L'immissione di un Invio o l'uso della barra spaziatrice richiamano l'ultimo comando utilizzato.

Infine la barra di stato che contiene gli interruttori dello spazio carta/spazio modello, Esnap (entity snap), Griglia, Ortho, Polare, Etrack, Lweight.

la barra di stato di Kudo

Ares Kudo supporta il menu contestuale con il click destro del mouse ed il Pan con la pressione della rotellina centrale.

Anche la modalità di editing Nome/Verbo (prima si seleziona l'oggetto poi si applica il comando senza necessità di selezionare gli oggetti) è supportata.

Un po' di comandi

Oltre alle classiche primitve grafiche segnalo i comandi per:

Linee di Mezzeria / Asse (Centerlines). Una volta create mantengono il loro status di oggetti particolari anche se non esiste una associatitivà con gli oggetti per le quali sono state generate.

Spline. Si costruiscono con una sequenza di punti in maniera dinamica e prima di chiudere il comando è possibile definire la tangenza del primo e ultimo vertice, proprio come accade con il corrispondente comando in AutoCAD.

Entcoprente (Wipeout). Supporta la visualizzazione del contorno e della generazione basata sulla selezione di una polilinea esistente.

Tratteggi e riempimenti. Sono supportati anche i riempimenti sfumati a 1 o 2 colori. Per i modelli di tratteggio sono disponibili i classici modelli standard di AutoCAD.
Oltre che la selezione oggetti per la definizione dei contorni è supportata la ricerca tramite punto interno.

Campi dati. In maniera limitata sono supportati anche i Campi Dati.
Per la loro creazione ci sono disponibili solo 3 categorie
  • Data e Ora
  • Documento
  • Variabili di setvar
Campi dati già presenti nel disegno, relativi per esempio ad oggetti (immagina un campo che fa riferiemnto al valore del raggio di un cerchio), non vengono aggiornati al variare dell'oggetto.

Multilinea. In Kudo si chiamano RICHLINE ma hanno le stesse proprietà delle Multilinee. Possibile definire anche nuovi stili.

Xrif, Blocchi, Layout e Layer

Gestione XRIF
Un apposito pannello consente di gestire i riferimenti esterni con le tipiche funzionalità di scarica, carica, stacca e modalità overlay o attaccato.
il  pannello per la gestione dei riferimenti esterni


Gestione Layer
Davvero completa. C'è infatti la possibilità di agire sullo stato di visibilita, congelamento, colore, tipo di linea, spessore di linea, blocco, descrizione, trasparenza, non stampabile ed infine lo stato per le nuove finestre in spazio modello. Disponibile sia il pannello che il comando con finestra di dialogo dedicata.
il pannello per la gestione dei layer
Layout
Tramite la barra di stato si accede ai Layout eventualmente presenti.
Nei Layout si possono creare finestre (Viewport) complete di tutte le loro proprietà (on/off, vista bloccata, scala ecc.).
Disponibile anche il comando per ritagliare una finestra (CLIPVIEWPORT) ma, a quanto ho potuto constatare, ha ancora qualche bug nella visualizzazione degli oggetti.

Blocchi
I blocchi possono essere inseriti selezionandoli dallo spazio cloud in uso.
È gestita l'anteprima e le pre impostazioni dei fattori di scala, rotazione e punto di inserimento.

Quello che manca è la possibilità di ridefinirli. Per farlo bisogna creare un nuovo blocco con lo stesso nome.

Blocchi dinamici
I blocchi dinamici vengono visualizzati correttamente ma non è possibile utilizzare le proprietà dinamiche.
C'è da ricordare che ARES Commander (la versione desktop del CAD) ha un proprio tipo di blocco dinamico chiamato Enanced Block, comunque non creabili in Kudo.

Gli attributi
Kudo non trascura questo oggetto accessorio del blocco che, se ben organizzato, consente di gestire al meglio le informazioni presenti negli elementi del disegno.

È possibile creare blocchi con attributi, modificarli tramite doppio click, esportare i valori degli attributi dei blocchi selezionati in un file di testo che viene scaricato nel browser, utilizzando il comando BLOCKATTRIBUTEOUTPUT. Inoltre è consentità la modifica delle proprietà degli attributi.

Salvataggio del file

Il salvataggio del file potrebbe essere superfluo perché l'aggiornamento del file in cloud è costante e se si chiude Kudo, alla successiva apertura, ci si ritrova il file aggiornato.

Abbiamo comunque a disposizione il comando Salva e Salva con nome che permette anche la creazione di DXF fino alla versione R12.

Per chi non volesse salvare lo stato attuale del disegno non resta che usare il comando UNDO specificando il numero di passi da annullare. Il numero di annullamenti è illimitato.

Altri tool per la gestione del disegno

SMARTSELCT il corrispondente di Selrapid di AutoCAD, utile per contare blocchi e selezionare oggetti in base alle loro proprietà.

SELECTMATCHING è il corrispondente di Seleziona Simile.

ISOLATELAYER per congelare tutti i layer tranne quello su cui giace l'oggetto selezionato.

Conclusioni

Nel momento in cui scrivo una licenza di Ares Kudo è disponibile a 99€/anno per utente.
Questa offerta sembra sia limitata nel tempo.
Per chi acquista invece la licenza di Ares Commander, sia Kudo che Touch (per tablet/smartphoe) sono inclusi.

Se invece lo si usa in modalità demo 30gg allo scadere del periodo resta utilizzabile ma come strumento per la semplice visualizzazione dei DWG, senza la possibilità di effettuare modifiche al file.

Quale sarà il CAD che utilizzeremo in mobilità in futuro non ha molta importanza, ma utilizzando Kudo si prende coscienza di quanto il gap in termini di prestazioni tra un CAD desktop ed uno in cloud si vada riducendo sempre più.



Nessun commento:

Posta un commento