17 giugno 2018

Come proteggere un file DWG


Più volte mi è capitato di leggere sui forum richieste riguardo la possibilità di ‘proteggere’ il disegno. Per protezione si intendeva la capacità di rendere non editabili e non riutilizzabili parti del disegno...



Questa strano desiderio di ‘sabotaggio’ dei propri disegni sorge quando ci si trova costretti a cedere malvolentieri i propri DWG. Cederli, per esempio, a clienti che non hanno ancora pagato o quando, la cessione dei file DWG sorgenti non era nei patti e... non è possibile dire di no.

Scopriamo quello che si può fare, con alcuni programmi freeware, per salvaguardare in qualche maniera il frutto delle proprie ore di lavoro e rendere difficile il riutilizzo e l’editazione dei disegni.  sebbene le funzioni di esportazione e importazione di PDF (sempre più prestanti nelle ultime versioni dei CAD), invalidino parzialmente alcune delle tecniche descritte di seguito.

Trasformare le entità

Il programma XLOCK.LSP è stato scritto da KozMos Inc. e quello che fa è, a mio avviso, geniale. Il programma si occupa di trasformare le linee presenti nel disegno in testi. Alcuni di voi penseranno di aver letto male… si, proprio TESTI. Ma come lo fa?

Occorre un piccolo ripasso riguardo i metodi di giustificazione dei testi. Oltre che ai classici allineamento a sinistra, a destra, centrato esiste anche l’ADATTA (Fit).
Con la giustificazione ADATTA il testo viene ‘spalmato’ fra 2 punti.
a sinistra un testo allineato a sinistra, al centro un testo allineato al centro ed a destra il testo adattato tra 2 punti. Notare come il sottolineato (tra T e .) si estenda come una liinea
Immaginate di ‘spalmare’ un testo ‘lineare’ fra i 2 punti . Un testo che assomigli ad un segmento lineare può essere un “-“ma ancora meglio se si utilizza il sottolineato su uno spazio vuoto (codice %%u ”_”).

Usando uno stile di testo con il font txt.shx il risultato che si ottiene è un testo perfettamente sotteso tra i 2 punti dati.

Il programma sostituisce tutte le linee con testi adattati che partono dal punto iniziale delle linea sino al punto finale. Le polilinee presenti sono esplose e le linee risultanti anch'esse trasformate.
In questa maniera il disegno non è editabile con i classici comandi in quanto, dove ci si aspetta di trovare un oggetto linea c’è un testo.  Provate a dare una occhiata al classico disegno di AutoCAD DB_SAMP.DWG che ho trasformato.

Il programma è stato originariamente pubblicato nel 1993. In rete ne esiste una versione aggiornata che trasforma anche le linee contenute nei blocchi e esplode i TESTIM,  MLINE, QUOTE. In questa revisione però ho riscontrato qualche bug in fase di reinserimento dei blocchi.

Vedere cosa ha modificato

Il programma fornisce 2 comandi supplementari, XL0 e XL1, che commutano i testi creati aggiungendo o rimuovendo la sottolineatura. In questa maniera è possibile percepire immediatamente quali oggetti sono stati trasformati.

I limiti del programma

I cerchi, archi e le ellissi restano immutate. Le linee tratteggiate non sono gestite, nel senso che la loro informazione di Tipolinea si perde.

Trasformare i blocchi dinamici

Per i blocchi dinamici, frutto del proprio ingegno e fantasia, una piccola protezione può essere fatta tramite il programma DB2SB.VLX, creato da XANADU.
Con DB2SB (cioè Dynamic Block to Single Block) si possono trasformare i blocchi dinamici inseriti nel disegno in blocchi statici (non più con le proprietà dinamiche).
Una volta caricato il programma DB2SB, occorre selezionare ogni singolo blocco dinamico presente.

Attenzione però:  in memoria la definizione del blocco dinamico è sempre disponibile. Pertanto, con un nuovo inserimento del blocco, saranno disponibili tutte le sue proprietà dinamiche originarie.

Blocchi non editabili e non esplodibili

Per definizione tutti i blocchi anonimi non sono editabili con l’editore di blocchi (comando MODIFBLOC).
Un programma per trasformare i blocchi o anche altri oggetti in un blocco anonimo è DETER.VLX.
Il programma aggiunge agli oggetti selezionati una complicazione in più: rende il blocco che li include non esplodibile con il comando Esplodi.
Il programma è realizzato da  Dotsoft (http://www.dotsoft.com).

Questa funzionalità è presente anche in GStarCAD. Nel menù degli Express Tools del programma si trova il comando ‘Blocca disegno’.
il comando Blocca Disegno negli Express tools di GStarCAD

Il sistema di ZWcad

Il sistema adottato da ZWcad è leggermente più raffinato. Con il suo comando BLOCCA (LOCKUP) crea sempre un blocco anonimo ma richiede anche una password. La password serve per ‘sbloccare’ gli oggetti con l’apposito comando di sblocco SBLOCCA (UNLOCK).
i comandi Blocca e sblocca disegno negli Express Tools di ZWcad
Naturalmente questo meccanismo funziona solo se i disegni si aprono con ZWcad. Se il disegno è aperto con un qualsiasi altro CAD ci si trova di fronte ad un semplice blocco anonimo cosi come creato da DETER.VLX descritto in precedenza.

Qualche considerazione

Se si pensa a quanto accade con alcuni formati di Microsoft Office (.xls, .doc) dove è possibile impostare il contenuto di un file per la sola lettura senza la possibilità di apportare modifiche ci si chiede:
Ma perché AutoDESK - creatrice del formato DWG - non ha mai implementato internamente un meccanismo di protezione con la modalità ‘a sola lettura’ relativa agli oggetti disegnati ?

Eppure il meccanismo non sarebbe difficile da implementare. C’è già. È quanto avviene con i PROXY Object creati da applicazioni di terze parti. I proxy object sono utilizzabili e editabili solo quando è caricata l’applicazione che li ha creati.

Immaginate dunque un comando apposito di AutoCAD che faccia selezionare gli oggetti, richieda una password e poi trasformi la selezione in un unico nuovo oggetto per il quale critta i dati geometrici (tipo quello che avviene per i SOLIDS) ed inibisce l’interazione con tutti i comandi.
Perché no?
Se qualcuno sa rispondere a questa domanda non esiti a lasciarmi un commento in calce a questo articolo.

Download

I 3 programmi descritti sono scaricabili anche dal mio sito, oltre che reperibili in rete, li ho raccolti per comodità nel file Protezione_dwg.zip.
Ogni programma va caricato con il comando APPLOAD. I comandi da digitare hanno lo stesso nome del file.

Conclusione

Si sa che per ogni ‘ostacolo’ digitale  posto sul cammino dell'utente esiste sempre un escamotage che, comunque, va almeno cercato.
L’applicazione contemporanea dei 3 strumenti descritti (Xlock, Db2sb e Deter) può almeno far perdere tempo a chi riceve (immeritatamente) i file DWG… meglio che niente.

Nessun commento:

Posta un commento