Blocchi per data extraction e una riflessione sui fogli elettronici.
Abbiamo già parlato di come si possano estrarre dati in un database per analisi e computi. Vediamo di seguito qualche esempio su come preparare blocchi adatti all'estrazione, come porte, corpi illuminanti, postazioni di lavoro o arredi.
Ricordiamo che possiamo estrarre dal disegno i parametri di qualunque oggetto. Quello che non so se si possa fare è associare oggetti diversi, ad esempio il blocco con informazioni sulla camera (usato nel post di cui sopra) con i blocchi di porte e finestre della medesima, per creare un'ulteriore relazione. Le informazioni che possiamo estrarre dal blocco sono ad esempio il file (piano?) in cui si trova, il nome del blocco, informazioni sulla sua geometria, gli attributi e i parametri dinamici.
i blocchi possono essere preparati in lite ma per l'estrazione dati occorre la versione full.
Gli attributi possono anche essere invisibili (è una loro proprietà), ad esempio potremmo incorporare nell'istanza del blocco lampada informazioni come il produttore e modello, wattaggio, punto di accensione o altro senza creare blocchi per ciascuno (magari usando un blocco generico che dica solo se è incasso o lampadario) e senza stampare le informazioni sul disegno, ma sarebbero valori disponibili per l'estrazione.
con la variabile ATTMODE si controlla la visibilità degli attributi: 0 sono nascosti, 1 si vedono quelli definiti come visibili e 2 anche quelli invisibili.

Qui sopra un esempio si attributi invisibili mostrati con ATTMODE=2.
Per le porte, il mio consiglio è usare un blocco dinamico per anta singola e uno per anta doppia, con i parametri di larghezza e flipping sinistro-destro (non usiamo mirror ma estrarremo il valore SX o DX dallo stato del blocco). Nel blocco potremmo anche inserire le classiche dimensioni l e h, dove l è il valore di larghezza geometrico inserito automaticamente (field) mentre h un attributo che compiliamo manualmente, e un codice di tipo o identificativo univoco. Qui potremmo anche aggiungere tutta una serie di attributi, magari invisibili, come la classificazione EI o acustica, i tipi di maniglie, ferramenta e quant'altro. Per far funzionare correttamente il data extraction tuttavia dovrà appartenere tutto ad un singolo blocco, non potremmo ad esempio distinguere il blocco grafico con anta e apertura e un blocco con ID e dimensioni, poiché nell'estrazione di dati non avremmo la possibilità di mettere insieme le due informazioni (si potrebbe avendo l'accortezza di avere un attruibuto univoco in comune su cui eseguire una query di tipo join — ma meglio lasciar perdere perché procedura complessa e prona agli errori).

Qui sopra potete vedere un blocco con parametri (larghezza e verso) che compaiono automaticamente negli attributi (field), mentre restano da personalizzare altezza e codice.
Questo è il file d'esempio.
In maniera simile quindi si possono estrarre i dati relativi a prese, interruttori e luci, sanitari e arredi.
Excel (o Libreoffice Calc) come database
Nei fogli di calcolo non fate l'errore di farvi prendere dall'impaginazione impupazzata: rischiate di perdere i vantaggi di una base dati facilmente consultabile. Ogni riga deve rappresentare uno e un solo oggetto, con tutti i campi fondamentali compilati. Ad esempio una lista di locali, che indichi il piano, il blocco d'edificio, il nome univoco, la superficie, altezza finiture e così via, dovrà avere una colonna per ognuna di queste informazioni: l'informazione "piano primo" si ripeterà per tutti i locali del primo piano, non si farà una riga/colonna "piano primo" con sotto le relative camere. Questo impedirebbe un riordino con altre informazioni, l'estrazione di dati in una tabella pivot o qualsiasi altra query. Nemico numero uno sono le celle unite.

Sì lo so non sembra bello ma funziona. In Libreoffice dovrete selezionare l'area e scegliere il menù dati → definisci area mentre in M$ Excel sceglierete formatta come tabella. Ora potete filtrare e ordinare i dati.
Usando delle righe come titoli come nell'esempio sotto, con un riordino i locali finirebbero in piani sbagliati.

Questo sopra è da evitare.
A questo punto si possono anche introdurre concetti più avanzati come il controllo di campi duplicati, ottenuto attraverso la formattazione condizionale, che ci aiuta a verificare che i campi che non devono mai ripetersi siano effettivamente unici, oppure criteri di validità per limitare l'immissione di dati a solo quelli consentiti (evitando ad esempio concetti duplicati come piano terra e piano 0), ma tutto ciò meriterebbe una serie di post su un blog dedicato ai fogli elettronici e i database.