I CAD offrono vari strumenti per conteggiare i blocchi. Una breve analisi e un confronto fra i comandi disponibili nei diversi software...
[ N.B. questo articolo è stato scritto prima dell'uscita di AutoCAD 2022 con il suo nuovo comando CONTEGGIO. Chi volesse approfondire solo questo comando può leggere l'articolo dedicato]Non credo che esista nel mondo qualcuno che abbia contato i blocchi presenti in un disegno (intendo un numero elevato di blocchi), a mano.
Mi ricorda un po' la leggenda che girava nei primi anni '90, negli anni dell'avvento del CAD in Italia, quando qualcuno aveva visto un vecchio ingegnere poggiare il righello sullo schermo per verificare se il disegno visualizzato fosse in scala...
I metodi per conteggiare i blocchi sono numerosi e di facile utilizzo. Ho provato ad elencarli ed a verificare il loro funzionamento nei CAD AutoCAD, BricsCAD, GstarCAD, nanoCAD, progeCAD e ZWcad.
Distinguiamo i comandi semplici, che restituiscono il numero totale dei blocchi (bcount, selrapid, selectsimilar e filtra) da quelli più articolati che consentono di ottenere una tabella o salvare i dati in un file (estrdati e simili).
Le tabelle seguenti offrono un riassunto riguardo ai comandi ed alle loro capacità.
In questa tabella alcune caratteristiche dei 4 comandi per il semplice conteggio:
la presenza dei 4 comandi nei diversi CAD:
** = integrato nel pannello Proprietà * = negli Express Tools da scaricare free dal sito Bricsys
Infine, alcune caratteristiche del comando di estrazione dati finalizzato al computo dei blocchi descritto per i diversi CAD:
* = in nanoCAD non esiste un comando apposito ma lo si fa utilizzando le Tabelle ed il loro editor avanzato
Ma descriviamo nel dettaglio i comandi
Nella maggior parte dei CAD questo comando però non supporta i blocchi dinamici
Per la precisione non riconosce le istanze di blocco dinamico a cui sono state apportate delle modifiche tramite i tipici controlli dei blocchi dinamici.
Fa eccezione ZWcad, nel quale hanno implementato il comando in maniera che supporti questo tipo di blocchi.
Dopo aver selezionato gli oggetti (quelli diversi dai blocchi sono filtrati fuori dalla selezione) nella schermata testo viene riportato il conteggio totale per ogni diverso blocco rilevato:
Offre anche tutta una serie di parametri aggiuntivi da poter utilizzare come criterio per la selezione dei blocchi simili.
Non approfondiamo questa possibilità ma soffermiamoci sulla selezione di blocchi basata sul nome o, sfruttando i caratteri jolly, sui nomi simili (per saperne di più sui caratteri jolly leggi: "Selezione e sostituzione di testi nel disegno CAD").
Nell'immagine seguente, nella finestra di dialogo di SELRAPID, si notano le impostazioni per selezionare tutti i blocchi aventi uno specifico nome (riquadro a sinistra) e quelle per selezionare tutti i blocchi che abbiano un nome che inizi con "DR" (riquadro a destra), utilizzando l'operatore con i caratteri jolly.
Il numero totale di oggetti selezionati viene mostrato sulla riga di comando.
in nanoCAD l'interfaccia del comando è leggermente differente, ma i criteri sono gli stessi. L'operatore 'like' è usato per cercare tutti i blocchi che iniziano con "DR-"
Il numero totale dei blocchi trovati è mostrato in basso a sinistra nella finestra di dialogo.
Questo comando supporta il riconoscimento dei blocchi dinamici.
La ricerca avviene nell'intero disegno e non è possibile definire un'area entro cui ricercare, tranne che in nanoCAD dove, con l'opzione 'Regione' si può selezionare un'area specifica nel disegno.
Nelle impostazioni del comando bisogna che il criterio Nome sia attivo e, al massimo, anche il Layer se si vuole discriminare tra blocchi aventi lo stesso nome ma giacenti su layer diversi.
Il comando non visualizza sulla riga di comando il numero di blocchi rilevati ma li pre seleziona per un successivo comando.
Nel pannello delle proprietà, comunque, insieme al tipo di oggetto selezionato è indicato tra parantesi il numero di oggetti rilevati.
Con Selectsimilar è possibile selezionare contemporaneamente anche blocchi diversi.
Questo comando supporta il riconoscimento dei blocchi dinamici
Il vantaggio di questo comando è che può salvare su disco i 'criteri di ricerca'. Per chi fa operazioni ripetitive sarà molto comodo poterli richiamare nelle successive sessioni di disegno.
Nell'animazione sottostante un esempio di utilizzo per selezionare e conteggiare, in un sol colpo, 2 blocchi : Computer e Door nel disegno di esempio fornito con AutoCAD.
Il semplice criterio di selezione viene poi memorizzato per poter essere utilizzato in altri disegni.
In ZWcad il comando ha una interfaccia leggermente diversa, ma i principi restano gli stessi.
Cosa molto utile che offre ZWcad è che gli oggetti rilevati vengono elencati in una lista nella parte inferiore della finestra di dialogo ed è disponibile anche un tasto per 'zoomare' su ogni singola voce.
In BricsCAD non c'è il comando FILTRA, ma è inglobato nel pannello Proprietà.
Di seguito un esempio di utilizzo finalizzato alla selezione di blocchi con nome specificato.
Per chi fa operazioni ripetitive potrebbe essere utile 'salvare' queste istruzioni in icone personalizzate pronte per il richiamo quando necessarie.
Vediamo qualche esempio.
Questa istruzione : (sslength(ssget '((0 . "INSERT"))))
propone la selezione oggetti e restituisce il numero dei blocchi selezionati.
Questa istruzione è ancora più interessante: (sslength(ssget '((2 . "PIPPO"))))
Nell'ambito della selezione oggetti effettuata, restituisce il numero di blocchi aventi il nome specificato, in questto caso "PIPPO".
Quando si indica il nome del blocco si possono utilizzare i caratteri jolly.
Così è possibile, ad esempio, selezionare tutti i blocchi aventi un nome che comincia con una determinata stringna di testo.
Con (sslength(ssget '((2 . "LAMPADA*"))))
conterà solo i blocchi che hanno il nome che comincia con "LAMPADA" e poi qualsiasi altro carattere quindi, ad esempio, "Lampada1, Lampada2, Lampada_sicurezza ecc. .
Tipicamente in tutti i CAD descritti il comando si compone di un wizard multipagina che aiuta passo passo l'utente a comporre la struttura della tabella da generare. Non entro nel dettaglio nel descrivere i comandi.
In alcuni CAD (AutoCAD, BricsCAD e GStarCAD) si possono computare, in un sol colpo, i blocchi contenuti in file di disegno diversi.
I formati di output su file sono in genere file .CSV o.TXT o nei migliori dei casi XLS.
AutoCAD e GStarcad offrono anche il formato .MDB (Microsoft Data Base).
Mi piace segnalare che in fase di creazione della tabella, insieme a nomi blocchi e quantità, ZWcad offre la possibilità di inserire una colonna con la rappresentazione grafica del blocco (Block Preview), molto utile.
Come segnalato nella terza tabella all'inizio dell'articolo, nanoCAD non dispone di un comando apposito ma utilizza il comando Tabella per conteggiare i blocchi.
Le tabelle in nanoCAD sono uno strumento avanzatissimo, grazie ai link bidirezionali con gli oggetti ed all'editor ricco di funzionalità con supporto di espressioni, come Excel.
I passaggi per ottenere la colonna dei totali sono un po' articolati ma, dopo essersi impratichiti, diventa facile ottenere il risultato che offrono gli altri CAD. Per approfondire l'argomento guarda il video su nanoCAD inserito al termine di questa pagina.
Non si può non segnalare il programma di Lee Mac, Block Counter, che restituisce una tabella con anche la colonna con la rappresentazione grafica del blocco, il tutto configurabile tramite finestra di dialogo.
Il comando non funziona con progeCAD e nanoCAD.
Conosci altre tecniche per contare i blocchi o ottenere dei report grafici o su file? Scrivilo nei commenti qui sotto, in maniera da rendere l'articolo più completo a beneficio dei futuri lettori. Grazie!
Un 'video riassunto' per i comandi di
ZWcad
AutoCAD
nanoCAD
Mi ricorda un po' la leggenda che girava nei primi anni '90, negli anni dell'avvento del CAD in Italia, quando qualcuno aveva visto un vecchio ingegnere poggiare il righello sullo schermo per verificare se il disegno visualizzato fosse in scala...
I metodi per conteggiare i blocchi sono numerosi e di facile utilizzo. Ho provato ad elencarli ed a verificare il loro funzionamento nei CAD AutoCAD, BricsCAD, GstarCAD, nanoCAD, progeCAD e ZWcad.
Distinguiamo i comandi semplici, che restituiscono il numero totale dei blocchi (bcount, selrapid, selectsimilar e filtra) da quelli più articolati che consentono di ottenere una tabella o salvare i dati in un file (estrdati e simili).
Le tabelle seguenti offrono un riassunto riguardo ai comandi ed alle loro capacità.
In questa tabella alcune caratteristiche dei 4 comandi per il semplice conteggio:
COMANDI
|
||||
BCOUNT
|
SELRAPID
|
SELECTSIMILAR
|
FILTRA
|
|
Ricerca ristretta in area del disegno specificata |
Si
|
Si
|
No
Si (nanoCAD) |
Si
|
Riconoscimento blocchi dinamici |
No
Si (ZWcad) |
Si
|
Si
|
No
|
Conteggio distinto per ogni diverso nome di blocco |
Si
|
No
|
No
|
No
|
Selezione basata su altre proprietà oltre al nome |
No
|
Si
|
Si
|
Si
|
Salvataggio criteri di ricerca |
No
|
No
|
No
|
Si
|
la presenza dei 4 comandi nei diversi CAD:
AutoCAD
|
ZWcad
|
BricsCAD
|
GstarCAD
|
nanoCAD
|
progeCAD
|
|
BCOUNT
|
Si
|
Si
|
Si *
|
Si
|
No
|
Si
|
FILTRA
|
Si
|
Si
|
No
|
Si
|
No
|
Si
|
SELRAPID
|
Si
|
Si
|
Si **
|
Si
|
SI
|
Si
|
SELECTSIMILAR
|
Si
|
Si
|
Si
|
Si
|
Si
|
Si
|
Infine, alcune caratteristiche del comando di estrazione dati finalizzato al computo dei blocchi descritto per i diversi CAD:
AutoCAD
|
ZWcad
|
BricsCAD
|
GstarCAD
|
nanoCAD
|
progeCAD
|
|
Nome comando |
Estrdati
|
Dataextraction
|
Estrdati
|
Dataextraction
|
Table*
|
_Eattext
|
Estrazione da disegni diversi |
Si
|
No
|
Si
|
Si
|
No
|
No
|
Formati fle di esportazio |
Tabella + .csv .xls .mdb .txt
|
Tabella +.csv .xls
|
Tabella + Csv con scelta del separatore
|
Tabella + .csv .xls .mdb .txt
|
Tabella + .csv .txt .xls .xml
|
Tabella + .csv
|
Immagini blocchi in tabella |
No
|
Si
|
No
|
No
|
No
|
No
|
Selezione stile tabella |
Si
|
No
|
Si
|
Si
|
Si
|
No
|
Ma descriviamo nel dettaglio i comandi
BCOUNT
Comando presente negli Express Tools da molti anni. È un comando rapido e facile da utilizzare.Nella maggior parte dei CAD questo comando però non supporta i blocchi dinamici
Per la precisione non riconosce le istanze di blocco dinamico a cui sono state apportate delle modifiche tramite i tipici controlli dei blocchi dinamici.
Fa eccezione ZWcad, nel quale hanno implementato il comando in maniera che supporti questo tipo di blocchi.
Dopo aver selezionato gli oggetti (quelli diversi dai blocchi sono filtrati fuori dalla selezione) nella schermata testo viene riportato il conteggio totale per ogni diverso blocco rilevato:
l'output del comando BCOUNT, applicato al disegno di esempio fornito con AutoCAD: "Floor Plan Sample.dwg" |
SELRAPID (QSELECT)
Questo comando, come BCOUNT, permette di definire la zona di spazio entro cui contare i blocchi.Offre anche tutta una serie di parametri aggiuntivi da poter utilizzare come criterio per la selezione dei blocchi simili.
Non approfondiamo questa possibilità ma soffermiamoci sulla selezione di blocchi basata sul nome o, sfruttando i caratteri jolly, sui nomi simili (per saperne di più sui caratteri jolly leggi: "Selezione e sostituzione di testi nel disegno CAD").
Nell'immagine seguente, nella finestra di dialogo di SELRAPID, si notano le impostazioni per selezionare tutti i blocchi aventi uno specifico nome (riquadro a sinistra) e quelle per selezionare tutti i blocchi che abbiano un nome che inizi con "DR" (riquadro a destra), utilizzando l'operatore con i caratteri jolly.
la finestra di SELRAPID, a sinistra per cercare i blocchi aventi uno specifico nome e a destra per ricercare tutti i blocchi che hanno un nome che comincia con"DR" |
Il numero totale di oggetti selezionati viene mostrato sulla riga di comando.
in nanoCAD l'interfaccia del comando è leggermente differente, ma i criteri sono gli stessi. L'operatore 'like' è usato per cercare tutti i blocchi che iniziano con "DR-"
la finestra del comando QSELECT in nanoCAD ha una struttura completamente differente rispetto a quella degli altri CAD ma permette lo stesso tipo di azioni |
Questo comando supporta il riconoscimento dei blocchi dinamici.
SELECTSIMILAR
Anche con Seleziona simile è possibile conoscere il numero totale di istanze di uno specifico blocco, quello selezionato.La ricerca avviene nell'intero disegno e non è possibile definire un'area entro cui ricercare, tranne che in nanoCAD dove, con l'opzione 'Regione' si può selezionare un'area specifica nel disegno.
Nelle impostazioni del comando bisogna che il criterio Nome sia attivo e, al massimo, anche il Layer se si vuole discriminare tra blocchi aventi lo stesso nome ma giacenti su layer diversi.
le Impostazioni del comando SELECSIMILAR, il 'nome' deve essere spuntato per ottenere la selezione di blocchi con lo stesso nome |
Il comando non visualizza sulla riga di comando il numero di blocchi rilevati ma li pre seleziona per un successivo comando.
Nel pannello delle proprietà, comunque, insieme al tipo di oggetto selezionato è indicato tra parantesi il numero di oggetti rilevati.
la tavoozza Proprietà indica il numero totale di oggetti selezionati |
Questo comando supporta il riconoscimento dei blocchi dinamici
FILTRA
L'interfaccia di questo comando può spaventare a prima vista, ma bastano pochi semplici passi per utilizzarlo per il nostro scopo. Chi volesse approfondire il funzionamento del comando FILTER può consultare la guida di AutoCAD.Il vantaggio di questo comando è che può salvare su disco i 'criteri di ricerca'. Per chi fa operazioni ripetitive sarà molto comodo poterli richiamare nelle successive sessioni di disegno.
Nell'animazione sottostante un esempio di utilizzo per selezionare e conteggiare, in un sol colpo, 2 blocchi : Computer e Door nel disegno di esempio fornito con AutoCAD.
Il semplice criterio di selezione viene poi memorizzato per poter essere utilizzato in altri disegni.
un esempio di utilizzo del comando FILTRA (FILTER) |
In ZWcad il comando ha una interfaccia leggermente diversa, ma i principi restano gli stessi.
Cosa molto utile che offre ZWcad è che gli oggetti rilevati vengono elencati in una lista nella parte inferiore della finestra di dialogo ed è disponibile anche un tasto per 'zoomare' su ogni singola voce.
la finestra del comando FILTRA di ZWcad, Da notare la parte inferiore con l'elenco dei risultati trovati. |
In BricsCAD non c'è il comando FILTRA, ma è inglobato nel pannello Proprietà.
Di seguito un esempio di utilizzo finalizzato alla selezione di blocchi con nome specificato.
il FILTRA di BricsCAD, integrato nel pannello delle proprietà |
ISTRUZIONI AutoLISP
Anche con delle brevi e semplici istruzioni del linguaggio AutoLISP si possono contare i blocchi.Per chi fa operazioni ripetitive potrebbe essere utile 'salvare' queste istruzioni in icone personalizzate pronte per il richiamo quando necessarie.
Vediamo qualche esempio.
Questa istruzione : (sslength(ssget '((0 . "INSERT"))))
propone la selezione oggetti e restituisce il numero dei blocchi selezionati.
Questa istruzione è ancora più interessante: (sslength(ssget '((2 . "PIPPO"))))
Nell'ambito della selezione oggetti effettuata, restituisce il numero di blocchi aventi il nome specificato, in questto caso "PIPPO".
Quando si indica il nome del blocco si possono utilizzare i caratteri jolly.
Così è possibile, ad esempio, selezionare tutti i blocchi aventi un nome che comincia con una determinata stringna di testo.
Con (sslength(ssget '((2 . "LAMPADA*"))))
conterà solo i blocchi che hanno il nome che comincia con "LAMPADA" e poi qualsiasi altro carattere quindi, ad esempio, "Lampada1, Lampada2, Lampada_sicurezza ecc. .
ESTRDATI e simili
Il comando Estrai Dati, sebbene il nome sia fuorviante, può essere utilizzato per conteggiare i blocchi. Questo comando crea una tabella (un oggetto grafico) da inserire nel disegno o un file in cui esportare i dati.Tipicamente in tutti i CAD descritti il comando si compone di un wizard multipagina che aiuta passo passo l'utente a comporre la struttura della tabella da generare. Non entro nel dettaglio nel descrivere i comandi.
In alcuni CAD (AutoCAD, BricsCAD e GStarCAD) si possono computare, in un sol colpo, i blocchi contenuti in file di disegno diversi.
I formati di output su file sono in genere file .CSV o.TXT o nei migliori dei casi XLS.
AutoCAD e GStarcad offrono anche il formato .MDB (Microsoft Data Base).
Mi piace segnalare che in fase di creazione della tabella, insieme a nomi blocchi e quantità, ZWcad offre la possibilità di inserire una colonna con la rappresentazione grafica del blocco (Block Preview), molto utile.
la tabella generata da ZWcad con la colonna con la rappresentazione dei blocchi |
Come segnalato nella terza tabella all'inizio dell'articolo, nanoCAD non dispone di un comando apposito ma utilizza il comando Tabella per conteggiare i blocchi.
Le tabelle in nanoCAD sono uno strumento avanzatissimo, grazie ai link bidirezionali con gli oggetti ed all'editor ricco di funzionalità con supporto di espressioni, come Excel.
I passaggi per ottenere la colonna dei totali sono un po' articolati ma, dopo essersi impratichiti, diventa facile ottenere il risultato che offrono gli altri CAD. Per approfondire l'argomento guarda il video su nanoCAD inserito al termine di questa pagina.
Contare tutti i blocchi
La maniera più rapida per ottenere il numero complessivo di blocchi presenti nel disegno resta comunque l'interrogazione nel pannello proprietà della selezione corrente.
Come si vede nell'animazione seguente nella lista a discesa del pannello sono elencati i tipi di oggetti ed il loro numero, bisogna scegliere: "Riferimento di blocco".
Come si vede nell'animazione seguente nella lista a discesa del pannello sono elencati i tipi di oggetti ed il loro numero, bisogna scegliere: "Riferimento di blocco".
Programmi esterni
Sono numerosi i programmi da caricare nel CAD che si possono trovare in rete per computare il numero di blocchi ed ottenere una tabella riassuntiva.Non si può non segnalare il programma di Lee Mac, Block Counter, che restituisce una tabella con anche la colonna con la rappresentazione grafica del blocco, il tutto configurabile tramite finestra di dialogo.
Il comando non funziona con progeCAD e nanoCAD.
Conosci altre tecniche per contare i blocchi o ottenere dei report grafici o su file? Scrivilo nei commenti qui sotto, in maniera da rendere l'articolo più completo a beneficio dei futuri lettori. Grazie!
Un 'video riassunto' per i comandi di
ZWcad
AutoCAD
nanoCAD
Salve. Perchè non parlare di DATAEXTRACTION o ESTRDATI?
RispondiEliminaSalve. Il comando ESTRDATI è citato nel paragrafo "ESTRDATI e simili" che è il terzultimo paragrafo dell'articolo.
EliminaSalve, cerco la funzione conta blocchi su DRAFTSIGHT ... qualcuno può aiutarmi? Grazie
RispondiEliminaCiao.
RispondiEliminaNon conosco nel dettaglio Draftsight ma potresti provare con il comando SelectMatching oppure con SelectionFilter
Salve , Su Mac come fate? Estrdati non esiste non è chiaro per quale motivo
RispondiEliminaSu MAC sembra che non è amcora disponibile.
EliminaIl motivo è perche (credo) nelle finestre del Wizard ci sono controlli gradici di dati tabellari tipici dell'ambiente Windows, legati a dll che funzionano solo in quel sistema operativo.
Se devi estrarre solo attibuti puoi provare il vecchio comando ESTRATT
https://help.autodesk.com/view/ACD/2024/ITA/?guid=GUID-BE49A430-DACA-4B9C-A0B0-34EB55D0EE26