progeCAD, il CAD che guarda il contenuto!

Dxf, Dwg e auto-conversione

Scritto da Roberto Rossi il 09-2019

Oggi parleremo di una funzionalità particolare di progeCAD, quella che gli consente di riconoscere un file dal suo contenuto e non solo attraverso l'estensione associata al nome del file.

Scopriremo come funziona e quali vantaggi e svantaggi può portare.

Iniziamo...

I formati DXF e DWG

Prima di tutto spieghiamo cosa sono i file .dxf e i file .dwg.

Ovviamente tutti e due i formati descrivono un disegno CAD e, dal punto di vista dei dati, sono equivalenti. L'unica differenza sta nel come sono scritti i dati all'interno dei file.

Vediamo un esempio, guardiamo lo stesso file salvato in dxf e in dwg.

Visto che a livello di disegno sono equivalenti per capirne le differenze useremo il blocco note di windows. Iniziamo aprendo un file dwg:

Formato dwg

Vediamo ora un file dxf:

Formato dxf testo

Infine, giusto per la cronaca, vediamo una variante del formato dxf, la variante in forma binaria:

Formato dxf binario

Come si può vedere le differenze sono evidenti. Ogni formato ha un suo modo di rappresentare e memorizzare i dati all'interno del file.

I file DWG iniziano con 6 caratteri che indicano la versione(AC1024), il DXF in formato standard (con normali caratteri, comprensibili) si può distinguere in quanto è composto da tante linee di normalissimo testo. Infine il formato DXF, nella variante binaria, si riconosce dalla dicitura "AutoCAD Binary DXF" posta all'inizio.

Chi produce DXF?

A cosa servono i DXF? Non bastano i DWG?

Il formato DXF ha una caratteristica che lo distingue dal formato DWG, il fatto che le sue specifiche sono pubbliche e documentate direttamente da AutoDESK:

Informazioni sul formato DXF - AutoCAD 2020

Ciò significa che è possibile, per chiunque, leggere e scrivere file DXF seguendo le istruzioni contenute in questa documentazione.

I DWG invece sono più problematici e le specifiche su come questi vengano scritti e codificati non sono pubbliche.

Supponiamo che io voglia sviluppare una mia procedura che produce disegni compatibili con progeCAD, AutoCAD e un qualsiasi altro. La cosa più semplice è quella di produrre file DXF (non binari).

Ad esempio, per tutti quelli che sviluppano software con .NET e C#, esiste un'ottima libreria open source per leggere e scrivere i file DXF:

La libreria netDxf.

Oltre a ciò molti software consentono una esportazione dei dati proprio in formato DXF. Un esempio che mi piace citare è QGIS. QGIS è un'applicazione desktop GIS a sorgente aperto, molto simile nell'interfaccia utente e nelle funzioni ai pacchetti GIS commerciali:

QGIS

QGIS. Un Sistema di Informazione Geografica Libero e Open Source

Naturalmente QGIS è solo uno dei tanti software che producono anche file DXF.

Ma cosa fa progeCAD con i file DXF?

progeCAD possiede una caratteristica, una funzionalità, che mi ha semplificato la gestione dei file DXF prodotti da applicazioni terze.

Vediamo di cosa sto parlando.

progeCAD è in grado di riconoscere il formato dei file DXF e DWG indipendentemente dall'estensione che accompagna il nome del file.

Se, ad esempio, prendo un file esempio1.dxf e lo rinomino in esempio1.dwg progeCAD lo aprirà senza problemi. Al contrario altri CAD potrebbero impedire l'operazione di apertura in quando il formato interno e l'estensione non sono coerenti.

Ma perchè è importante questa caratteristica di progeCAD?

Supponiamo di avere un software di terze parti, un nostro software o un fornitore esterno che ci fornisce solo file DXF. Come procediamo per utilizzare i disegni?

In questo modo:

Processo di lavoro standard

In questo flusso di lavoro è necessario, prima di tutto, che l'operatore sia cosciente di cos'è un file DXF e come trattarlo. A questo punto sarà necessario aprire il file DXF, poi salvarlo con un nome diverso per modificare almeno l'estensione in DWG, quindi bisognerà eliminare il vecchio DXF per evitare doppioni o sovrapposizioni. Solo a questo punto sarà possibile iniziare il lavoro vero e proprio, sia esso di verifica, di modifica o di aggiunta. Abbiamo quindi 5 fasi ben distinte:

  1. Ricezione DXF.
  2. Apertura DXF.
  3. Salvataggio DWG.
  4. Eliminazione DXF.
  5. Modifica disegno.

Con progeCAD alcuni di questi passaggi possono essere considerati superflui. In particolare la fase 1., la 3. e la 4. Queste possono essere eliminate completamente sfruttando le funzionalità di auto-riconoscimento e auto-conversione.

Quindi, ecco i passaggi superflui:

Processo di lavoro standard 2

Ora vediamo come eliminare ciò che non serve.

Quale risultato con progeCAD?

Per ridurre le operazioni necessarie c'è una sola cosa da fare, rinominare il file iniziale da DXF a DWG.

Supponiamo che il nostro file iniziale si chiami esempio1.dxf. Rinominiamolo in esempio1.DWG. Apriamolo in progeCAD, il gioco è fatto!

Ed ecco come è ora il nostro processo di lavoro:

Processo di lavoro progeCAD

In questo caso il file originale DXF (rinominato in DWG) sarà aperto normalmente, senza che l'utente/operatore debba avere conoscenze sui file DXF. L'utente potrebbe anche ignorare completamente il formato interno del file DWG che andrà ad utilizzare. Una volta aperto progeCAD effettuerà automaticamente la conversione del formato senza che l'utente veda nulla e senza che debba fare nulla. Si potrà cosi iniziare subito a modificare il disegno. Al termine delle modifiche/aggiunte, quando l'utente cliccherà sul tasto salva, progeCAD salverà su disco un vero file DWG.

Dal punto di vista di chi esegue le operazioni di apertura, modifica e salvataggio, questo sistema renderà completamente trasparente il fatto che la fonte sia un file DXF.

Però...

Come per tutte le cose anche questo sistema presenta vantaggi e svantaggi.

L'idea di rinominare un file DXF in DWG potrebbe infatti creare una certa confusione in quanto si ottiene un file che appare in un formato anche se internamente è in un formato differente. Questo disordine è però mitigato dal fatto che è cosi solo fino a quando l'operatore non salverà il disegno con progeCAD, il quale sistemerà automaticamente la situazione.

L'uso di questa tecnica, nonostante non sia ortodosso, può semplificare in modo significativo il processo di lavoro e va valutato in base alla propria situazione.

Io non posso affermare che sia sempre vantaggioso ma posso dire che, in alcune specifiche circostanze, sicuramente lo è.

Sta ad ognuno di noi stabilire se sfruttare o meno le capacità di auto-riconoscimento e auto-conversione di progeCAD.

La condizione del "facciamolo"

Prima di concludere vorrei fare una riflessione sul quanto è opportuno sfruttare soluzioni alternative, come quella che ho proposto in questo articolo.

Quello che dirò è un'ovvietà, che probabilmente tutti sappiamo, ma credo sia bene ribadirla.

Quando si sceglie una soluzione, un metodo, o qualsiasi cosa che presenti pro e contro, c'è una condizione da rispettare, questa:

( V > s )

In questa espressione V rappresenta i vantaggi, mentre s rappresenta gli svantaggi.

Quando questa condizione risulta vera, significa che la soluzione che abbiamo trovato, la funzionalità che stiamo esaminando, l'idea che abbiamo formulato è sicuramente applicabile, indipendentemente dalla sua stranezza.

Bene. Per oggi è tutto.

Grazie per aver letto questo articolo.

Chiunque volesse esprimere il proprio parere può farlo scrivendomi attraverso i collegamenti/link presenti in tutte le pagine.