-
| .
|
|
|
cercando sul web è possibile scaricare un foglio di calcolo chiamato "rilievo stanze.xls" creato da gino di ruzza che consente di compensare le misure rilevate in sito di uno spazio quadrilatero non regolare (tipicamente una stanza di un fabbricato in muratura) fornendo le misure dei lati e delle diagonali.
il foglio incorpora una macro, chiamata "crea dxf", scritta da afazio, per la generazione del file dxf così da avere il disegno già bello e pronto.
la macro (nella versione del foglio che ho io, ma anche nella versione del foglio scaricabile da internet) contiene un bug che si attiva quando si cambia la scala di disegno del dxf.
le righe di codice incriminate sono le seguenti:
CODICE xx = CoOrdinate(contatore, 2) xy = CoOrdinate(contatore, 3) / sca
ne risulta che l'ordinata viene effettivamente scalata, mentre l'ascissa no.
per correggere l'errore è sufficiente modificare il codice in questo modo:
CODICE xx = CoOrdinate(contatore, 2) / sca xy = CoOrdinate(contatore, 3) / sca
di seguito il file già corretto.File Allegato
|
|
| .
|
-
| .
|
Junior Member
- Group
- Member
- Posts
- 32
- Reputation
- +2
- Status
- Offline
|
|
Aggiungere PtrSafe nel caso lo chieda su office a 64 bit
|
|
| .
|
-
| .
|
|
|
La procedura che Gino Di Ruzza ha importato nel suo foglio, io la avevo scritta relativamente al tracciamento dei diagrammi delle sollecitazioni per una travata. In quel caso avevo previsto la possibilità di scalare i valori delle sollecitazioni applicando un fattore di scala proprio su essi. Gino l'ha copiata non tenendo conto della specificità della procedura e volendo far disegnare la pianta di una stanza avrebbe dovuto applicare la scala anche alle ascisse.
A questo punto, per rendere più generica la macro si potrebbe pensare di introdurre due scale diverse una per le ascisse e l'altra per le ordinate e nel caso del disegno di una piantina imporre le due scale uguali tra loro.
Il foglio dal quale Di Ruzza ha importato la macro, lo avevo pubblicato sul sito di lexatus: Excel to Dxf
|
|
| .
|
-
| .
|
Junior Member
- Group
- Member
- Posts
- 4
- Reputation
- 0
- Status
- Offline
|
|
Buongiorno. Per chi è a digiuno di programmazione, c'è un'anima buona che modifichi il file per sistemi a 64 bit ? Grazie.
|
|
| .
|
-
| .
|
|
|
CITAZIONE (rossa2 @ 20/1/2022, 14:58) Per chi è a digiuno di programmazione, c'è un'anima buona che modifichi il file per sistemi a 64 bit ? non funziona?
|
|
| .
|
-
| .
|
Junior Member
- Group
- Member
- Posts
- 4
- Reputation
- 0
- Status
- Offline
|
|
Buongiorno. Purtroppo non sono capace di farlo funzionare perchè continua a segnalarmi che non va bene su sistemi a 64bit. Saluti.
|
|
| .
|
-
-
| .
|
Junior Member
- Group
- Member
- Posts
- 4
- Reputation
- 0
- Status
- Offline
|
|
Buongiorno. Ti ringrazio x l'interessamento, ma essendo completamente a digiuno di programmazione, mi dà altre errori, chiedendo il debug .... Sarei grato a chi volesse postare il file già adattato, altrimenti recupererò un vecchio PC a 32 bt. Cordiali saluti a tutti.
|
|
| .
|
-
| .
|
Junior Member
- Group
- Member
- Posts
- 1
- Reputation
- 0
- Status
- Offline
|
|
Aperto con libreoffice .... e funziona!
|
|
| .
|
-
| .
|
Junior Member
- Group
- Member
- Posts
- 2
- Reputation
- +1
- Status
- Offline
|
|
Salve, sperando che non sia cosa sgradita per l'autore, ho aggiunto al file la compensazione completa (ossia vengono ritenute tutte le misure da compensare e non solo le due diagonali). Sul layer spento "COMPENSAZIONE_COMPLETA" è presente la poligonale relativa di colore verde.File Allegato
|
|
| .
|
-
| .
|
|
|
CITAZIONE (JONNY78 @ 4/9/2022, 15:53) Salve, sperando che non sia cosa sgradita per l'autore, ho aggiunto al file la compensazione completa (ossia vengono ritenute tutte le misure da compensare e non solo le due diagonali). ho scaricato e provato le modifiche effettuate da jonny78. inserisco qui di seguito la schermata della prova (sono misure reali, effettivamente rilevate in una stanza fuori squadro).
in origine il foglio era costruito per l'inserimento di misure in metri. modificando la scala di rappresentazione, lo utilizzo inserendo le misure in cm (è stato così che mi sono accorto dell'errore sulla scala, già segnalato in apertura del thread).
già questo vuol dire che i decimali che leggiamo sono frazioni di cm (fino al centesimo di cm).
mi aspetto anche che le misure delle pareti siano pressoché esatte (rilevate con il misuratore laser) e le misure delle diagonali debbano - in qualche misura - crescere perché la dimensione "fisica" dello strumento non mi consente di far partire la misura esattamente dal punto più interno dell'angolo. e in effetti questo è quello che avviene con entrambe le compensazioni.
tuttavia, voler compensare - a posteriori - tutte le misure significa voler attribuire a tutte le misure lo stesso grado di incertezza, cosa che in realtà non è. le misure delle diagonali servono solo perché altrimenti il quadrilatero sarebbe articolato e non costruibile in maniera univoca ma il grado di affidabilità delle misure delle pareti (ad esempio, perché in questo caso è più facile che la misura venga presa in un piano orizzontale rispetto alla misura di una diagonale) è sicuramente maggiore.
non solo. per osservazione diretta, mettendo lo strumento nell'angolo tra 2 pareti, si può verificare che - per la dimensione fisica dello strumento - si perdono all'incirca 2 cm. se "fittiziamente" aggiungo questo 2 cm alle diagonali, ecco cosa trovo:
in pratica, la compensazione di tutte le misure aggiungendo alle diagonali la quantità che effettivamente viene perduta in fase di misurazione (seconda colonna della seconda figura) mi riporta quasi esattamente (a meno di mm e decimi di mm) alla compensazione del foglio originario nel quale vengono inserite le misure "lette" sullo strumento e senza manipolazioni di sorta (prima colonna della prima figura).
concludo quindi che jonny78 ha fatto un lavoro encomiabile e che gli va riconosciuto e dunque per questo lo ringrazio, ma che trova stretta applicazione quando le misure da compensare siano effettivamente tutte affette dalla stessa incertezza (caso che può verificarsi se misuro, ad esempio, un cortile oppure un terrazzo) potendo essere "approssimato" - a fini pratici - con il foglio originario quando misuro spazi interni delimitati da pareti. fermo restando che è possibile in ogni caso utilizzarlo sempre.
|
|
| .
|
-
| .
|
|
|
Se sai come manipolare gli algoritmi è possibile inserire un "peso" ad ogni misura.
Questo è quello che si fa usualmente nella compensazioni di reti topografiche, dove hai a che fare con misure di distanze lunghe, corte (affette quindi da differente precisione), angoli.
Edited by zax2013 - 19/9/2022, 11:18
|
|
| .
|
-
| .
|
|
|
Questo è uno degli esempi che molto più spesso vorrei vedere in internet. Io scrivo un codice dedicato a qualcosa, e lo distribuisco pubblicamente senza restrizioni di sorta. Qualcun altro intravede la possibilità di poterlo sfruttare per altri scopi, ma non si accorge di un possibile errore, non tanto nel codice ma nell'utilizzo. Altro utente prova e riprova e si accorge del bug aggiunto. Lo corregge e ripubblica liberamente. altro utente vede la possibilità di poter applicare la compensazione completa e pubblica altro foglio libero con codice liberamente visualizzabile e modificabile. Se io non avessi reso leggibile il mio codice... chissà... Grazie.
|
|
| .
|
12 replies since 27/9/2019, 12:56 2284 views
.