15 ottobre 2018

I comandi per la comparazione dei disegni

Oggi quasi tutti i CAD offrono un tool interno che permette di rilevare le differenze tra due versioni dello stesso disegno…

Per anni questo tipo di operazione è stata delegata a programmi esterni ai CAD.  La prima volta che ho visto un programma in grado di confrontare 2 disegni ed evidenziare le loro differenze, è stato alla fine degli anni ’90. Il programma si chiamava Auto Manager Workflow.

Strumenti del genere sono utili nel’ambito del lavoro collaborativo, dove il frequente scambio di file tra tecnici, non sempre viene accompagnato da una segnalazione delle modifiche grafiche apportate alle nuove versioni del file. Ma anche quando si è un po’… 'disordinati' e non si riesce a capire quale è l’ultima versione valida di un proprio lavoro.

In questo articolo analizzo i comandi per confrontare disegni presenti in 4 CAD : GStarCAD, ZWcad, BricsCAD e AutoCAD.

Come funziona il confronto

I comandi riescono ad effettuare il confronto solo degli oggetti presenti nello spazio modello, adottano i colori per evidenziare le differenze e confrontano 2 file alla volta.

Tutti i comandi supportano la maggior parte dei tipi di oggetti 2D. Alcuni comandi, oltre a mostrare le differenze, mettono a disposizione strumenti per l’acquisizione rapida degli oggetti modificati, per chi volesse integrarli all'interno del disegno corrente.

Una caratteristica importante dei tool di confronto è quella di riuscire a ‘scovare’ le differenze anche all'interno degli XRIF collegati ai file oggetto di confronto.

Un’altra caratteristica di rilievo  è quella di eseguire il confronto basandosi esclusivamente sulla posizione e proprietà degli oggetti nei 2 disegni (lo fanno BricsCAD e AutoCAD).
Altri tools (in GStarCAD e ZWcad)  basano il confronto analizzando gli stessi oggetti (identificati dallo stesso ID, handent) tra i 2 file. Questo però porta ad evidenziare erroneamente come 'modificati' oggetti identici che sono solo stati ridisegnati in uno dei 2 file.

La maggior parte dei  tool permettono di impostare di filtri di confronto basati sulle proprietà degli oggetti.

Solo uno riesce ad esportare i dati degli oggetti modificati in un file di testo esterno (ZWcad).

Il tool di AutoCAD è davvero preciso in quanto, tramite delle nuvolette, riesce ad individuare i sotto-oggetti - all'interno dell'oggetto - che ha subito una modifica.

Tabella riassuntiva

Per ottenere una prima panoramica sull'efficacia dei comandi mi sono costruito un disegno di test nel quale ho inserito una serie di oggetti particolari che poi, in un secondo disegno, ho modificato leggermente in maniera che tutti gli oggetti avessero delle differenze rispetto agli omologhi presenti nel primo disegno.

Ho riassunto nella tabella seguente il risultato del confronto tra i vari CAD per evidenziare rapidamente quali tipi di oggetti e/o modifiche riescono a rilevare.

Nei disegni di test sono presenti quindi: un solido 3D sottoposto ad operazioni booleane, un oggetto WIPEOUT (comando Entcopr), una quota lineare di cui ho modificato solo il testo, una Mline, una linea a cui ho cambiato la scala del tipolinea, un Testom a cui nel secondo disegno ho modificato il font, una campitura a cui ho modificato solo la scala, un blocco dinamico, un blocco con attributo, un xrif, una polilinea che – nel secondo disegno – è stata sostituita da un’altra polilinea passante per gli stessi punti, una polilinea a cui ho cambiato le spessore di stampa, una serie parametrica di cerchi e una superficie 3D ottenuta per rivoluzione.

Da notare che per gli XRIF tutti i sw si accorgono che c’è un XRIf diverso nel secondo file di test ma solo AutoCAD contrassegna in maniera puntuale le modifiche all'interno dell’XRIF.

GStarCAD : comandi CMP e OCMP 

CMP

Il comando CMP, accessibile dal ribbon degli Express, visualizza una finestra di dialogo nella quale è possibile specificare i nomi dei 2 file da confrontare.
la finestra di CMP
Il comando crea 2 nuovi file temporanei aggiungendo il suffisso “_old” a quello che è indicato come “Vecchio DWG” e “_new” a quello che è indicato come ‘Nuovo DWG’.

Dopo aver premuto il pulsante ‘Confronta’ i 2 file vengono entrambi aperti nell'editor grafico.
Attivando la casella ‘Salva risultato’ si possono salvare i 2 file in una cartella specificata.

In ognuno dei disegni gli oggetti appaiono in colori diversi secondo lo schema impostato nella finestra ‘Opzioni’. Il comando assegna colori diversi a 4 categorie di oggetti:
  • oggetti rimasti invariati
  • oggetti cancellati
  • oggetti aggiunti
  • oggetti modificati. 
le opzioni del comando CMP
Come si vede nella finestra di dialogo ‘Opzioni’ si ha la possibilità di controllare anche la precisione da adottare nel confronto.

Altri filtri (attivabili o no) sono il layer, il colore, il tipo linea, lo spessore di stampa, lo stile di testo e le entità nel blocco (intese come attributi).

OCMP

Questo secondo comando, etichettato come ‘Graphic Compare’  nell'icona, è più orientato all'azione… diciamo così.
Gli oggetti del confronto, contrassegnati con i colori relativi alla loro tipologia di modifica, vengono inseriti nel disegno corrente.

Il comando fa ancora di più. Esegue il confronto di oggetti equivalenti all'interno di uno stesso disegno. Questa è una funzionalità davvero utile perché può capitare che, nell'ambito di uno stesso file dwg, si conservino le varie versioni di uno stesso elaborato create durante le fasi della progettazione.
la finestra del comando OCMP e quella delle sue Opzioni
OCMP permette di selezionare, come termini di confronto, 2 set di selezione (opzione ‘Selezione oggetti’), stabilire dei punti base omologhi, ed eseguire il confronto creando un nuovo set di oggetti che è inseribile in un punto a scelta all'interno del disegno.

Il comando, come il precedente, offre la possibilità di personalizzare i risultati di ‘output’… questa volta anche con layer di giacenza e tipolinea.

C’è un unico piccolo problema: perché non hanno implementato il comando per supportare il confronto di quote, testi e blocchi ? Sembra incredibile ma questi sono esclusi dal confronto!

ZWcad : comando FCMP 

Il comando FCMP, accessibile dal ribbon degli Express, visualizza una finestra di dialogo molto simile alla precedente vista in GStarCAD. Cliccando sul pulsante ‘Opzioni’ la finestra si ingrandisce per mostrare, nella parte inferiore, le opzioni disponibili.
la finestra del comando FCMP
Il comando considera come ‘Differenza’ gli oggetti cancellati e/o aggiunti in uno dei 2 disegni e, come ‘Modificato’,  gli stessi oggetti che hanno proprietà diverse tra l’uno e l’altro disegno.

Ottima è la possibilità di inibire la visibilità di una determinata categoria di oggetti. Ad esempio, in grandi disegni per individuare subito le aree con modifica, è comodo non visualizzare tutto quello che è rimasto immutato.

Tra i filtri di confronto molto utile quello che non considera i ‘Dati geometrici’ così, disabilitandolo, è possibile concentrarsi solo sulle difformità relative a Layer e/o tipolinea degli oggetti.

Gli oggetti vengono posizionati su dei layer nominati:
  • ZW_FILECOMPARE_DIF (contiene nuovi oggetti)
  • ZW_FILECOMPARE_MOD (contiene oggetti modificati)
  • ZW_FILECOMPARE_SAM (contiene oggetti non modificati).
Attivando il segno di spunta sulla casella ‘File di Output’ è possibile specificare il nome di un file di output,  in formato CSV. Questo formato può essere aperto con Excel (o simili) per consultare, in forma tabellare, i dati degli oggetti che sono stati Rimossi e/o Modificati.
un esempio di output relativo agli oggetti Rimossi importato in Excel
Il comando non supporta i SOLIDI3D. Non solo non ne rileva le differenze geometriche ma nemmeno le proprietà classiche e la diversa posizione.

BricsCAD : comandi DWGCOMPARE e 3DCOMPARE 

DWGCOMPARE

Il comando di BricsCAD, a differenza dei 2 analizzati in precedenza, confronta il disegno correntemente aperto con un secondo disegno.

Le differenze sono evidenziate sempre tramite colori configurabili e che riguardano :
  • gli oggetti mancanti nell'altro disegno
  • gli oggetti modificati nel disegno corrente
  • gli oggetti modificati nell'altro disegno
  • gli oggetti che sono nuovi nell'altro disegno
La personalizzazione dei colori è, per la verità, un po’ scomoda, bisogna infatti impostare da riga di comando o tramite comando Opzioni i colori in 4 variabili dedicate:
CMPCLRMISS, CMPCLRMOD1, CMPCLRMOD2 e CMPCLRNEW.

Le rappresentazioni con questi colori appariranno nel disegno corrente sino a che non si sarà usciti da questa ‘modalità’ di confronto invocando il comando ENDCOMPARE.

In fase di confronto il ‘tipo di differenza’ diventa una proprietà dell’oggetto. Selezionando un oggetto, tra le sue proprietà, adesso compare “Tipo Differenza”:
nelle proprietà degli oggetti confrontati appare una nuova proprietà: "Tipo differenza"

Un ulteriore strumento per ‘leggere’ il confronto è quello di utilizzare il pannello “Struttura”. Nel pannello, in una struttura ad albero, sono organizzati 4 sotto-nodi: Mancante , Modificato (Originale),  Nuovo e Modificato che raccolgono gli handent (identificatore univoco) degli oggetti nuovi o modificati.
la struttura ad albero nella quale sono organizzati gli oggetti modificati
La selezione dell’identificatore nel pannello evidenzia l’oggetto nell'area grafica. È anche possibile eseguire uno zoom sul singolo oggetto richiamando il menu contestuale con click destro del mouse.

Il  comando non si ferma al semplice confronto tra file ma fornisce la possibilità di acquisire rapidamente gli oggetti modificati unendoli all'interno del disegno corrente.
Questo lo si fa molto intuitivamente selezionando gli oggetti e poi premendo il pulsante con il segno di spunta nella toolbar che richiama il comando MANTIENI, attivo solo durante la fase di comparazione.
la toolbar del comando Confronta


3DCOMPARE

Il comando 3DCOMPARE ha lo scopo di ricercare le differenze nei disegni contenenti solidi 3D e superfici 3D.

La tecnica che utilizza questo comando è quella di inserire come riferimenti esterni i 2 disegni oggetto del confronto in un disegno vuoto.

Le differenze sono mostrate in un apposito layout composto da 2 finestre affiancate.

Gli oggetti sono collocati su layer appositi e le differenze, per essere materializzate (e colorate), vengono generate come nuovi solidi e/o superfici.
Anche in questo caso è disponibile il browser della struttura degli oggetti che elenca gli elementi modificati.

Agendo sui pulsanti del ribbon (o nelle toolbar)
la toolbar del comando 3DCOMPARE
si può commutare rapidamente la vista degli oggetti tra quella normale a quella di confronto (con i diversi colori) oppure visualizzare le differenze nello spazio modello.

AutoCAD : comando CONFRONTA

Il ‘giovane’ comando CONFRONTA utilizza 3 colori per evidenziare, in un unico disegno, gli oggetti che sono stati modificati, aggiunti o rimossi.

Il comando descritto di seguito è quello della versione 2020. Nella versione precedente, 2019, il comando aveva una interfaccia leggermente diversa e confrontava 2 disegni inserendoli in un terzo disegno vuoto.

Il confronto dunque adesso avviene tra il disegno corrente ed un secondo disegno.

Al richiamo del comando esso richiede prima il nome del disegno da comparare e poi mostra una toolbar che contiene una serie di icone.
la Toolbar del comando Confronta
Il comando considera:
  • gli oggetti che esistono solo nel primo disegno
  • gli oggetti che esistono solo nel secondo disegno
  • gli oggetti che non sono stati modificati o che sono comuni ad entrambi i disegni.
Le parti modificate oltre ad avere un colore diverso sono racchiuse in REVCLOUD (fumetto di revisione o… biscotto Oro Saiwa) poste sul layer “0-Revisioni”.

Questa funzionalità può sembrare a prima vista superflua, ma non lo è: dove possibile la nuvoletta inquadra solo la parte di oggetto che è cambiata!

In queste immagini del mio test, ad esempio, si vede come per una serie parametrica di cerchi, un blocco con attributo, per un solido sottoposto a operazioni booleane, un xrif ed una quota, la nuvoletta inquadri solo la porzione dell’oggetto (un sotto oggetto) che è cambiata:


Cliccando sulla rotellina della toolbar appare un menù dal quale si possono impostare i colori da utilizzare per le differenze e per la nuvoletta che li racchiude. Si può includere o escludere dal confronto Testi e Campiture.
il menu con i parametri di configurazione del comando

Attenzione: per Testi (includibili o escludibili dal confronto) si intendono anche gli Attributi e i valori delle Quote.

L’esplorazione delle differenze è molto facile grazie alla frecce presenti nella toolbar che, in maniera sequenziale, eseguono lo zoom su ogni nuvoletta.

Le altre icone consentono di:
  • disabilitare momentaneamente la visualizzazione delle differenze
  • inglobare una differenza selezionata (gli oggetti) nel disegno corrente
  • esportare le comparazioni in un terzo disegno.
Il comando non tiene conto, ai fini del confronto, del diverso stile di stampa di un oggetto e della diversa scala del tipolinea e del tipolinea… queste sarebbero state cose molto utili.

Nel confronto non rientrano inoltre gli Oggetti OLE (quindi anche l’oggetto WIPEOUT o Entcopr), Apparecchio fotografico, Dati geografici, Oggetti sottoposti (DGN, DWF, PDF, immagini, modelli di coordinamento e nuvole di punti).
Non è possibile rilevare le modifiche alla proprietà DaBlocco o DaLayer per gli oggetti nidificati (per maggiori info vedi: “Informazioni sul confronto delle differenze tra i disegni”)

Conclusioni

Le brevi descrizioni dei comandi e la tabella comparativa all'inizio di questo articolo dovrebbero averti dato una panoramica sul funzionamento di questi tools.

Indipendentemente dal CAD che utilizzi, conoscere le specificità di ogni comando potrebbe tornare utile in futuro. Se dovesse sorgere la necessità di confrontare i tuoi disegni potresti - sfruttando le versioni Demo dei programmi analizzati - scegliere il tool più adatto ai tuoi file o al tipo di confronto che vorresti eseguire.

Nessun commento:

Posta un commento