Il Bar dell'Ingegneria

Excel --> Autocad. Disegno Automatico camerette CLS da soli dati Excel

« Older   Newer »
 
  Share  
.
  1.     +1   -1
     
    .
    Avatar

    Junior Member

    Group
    Member
    Posts
    39
    Reputation
    0

    Status
    Offline
    Riporto il messaggio originale con afazio che ha dato origine al 3d:

    CITAZIONE
    Buongiorno sig. Afazio, ho visto i suoi 3d legati all'argomento VBA e Autocad. Mi complimento con lei per la passione e la dedizione di tutto il materiale postato online.

    Per motivi lavorativi mi sto cimentando in uno studio/ricerca per capire se è possibile eseguire alcuni disegni in autocad in modo rapido.
    La mia necessità sarebbe quella di disegnare dei pozzetti della rete fognaria (chiusino, cameretta in cls tonda o quadrata, tubi in entrata e uscita ecc...) in modo automatico, leggendo da un file excel nel quale, in una tabella dalla struttura molto rigida, sono contenuti tutti i dati necessari (affondamenti, diametri ecc)

    seppur i disegni siano molto semplici, attualmente tutti i pozzetti vengono disegnati a mano, modificando disegni precedenti (ho un disegno bozza che viene poi aggiustato continuamente generando i successivi) e avendone da fare circa qualche migliaio, il processo è davvero lungo e noioso.

    vorrei capire se sia fattibile una cosa del genere prima di barcamenarmi in studi che non portano a risultati, e se potesse darmi una mano/dritte (un suo progetto simile o in grado di generare un disegno partendo da un insieme di dati da excel per capire dal vivo una struttura da adattare alle mie esigenze).

    Nell'attesa di una sua risposta Le porgo i miei più cordiali saluti
    Davide

    lo sviluppo di questo software aprirebbe la strada a infinite possibilità di personalizzazione e generazione di modelli, perchè no, anche tridimensionali a partire dai rilievi sul campo di elementi molto simili tra di loro e abbastanza standard, come pozzetti delle acque nere e bianche, cabine del gas metano ecc...

    Edited by afazio - 6/10/2016, 12:42
    Attached Image
    esempio del pozzetto da disegnare, oggetto del top

     
    Top
    .
  2.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    ok. letto ed hai fatto bene anche inserendo l'immagine.

    Adesso ti illustro due o tre semplici regolette:
    - quanto verrà sviluppato qui al bar dovrà essere di pubblico e libero uso, anche eventuali tue aggiunte, modifiche o migliorie. Il codice che eventualmente pubblichi non dovrà avere alcuna limitazione o protezione;
    - se non desideri rendere pubblico quel che farai devi semplicemente tacerlo e non pubblicarlo, ma nel momento in cui lo metti qui al bar esso diventa automaticamente di pubblico download ed uso;
    - lo sviluppo e la discussione seguirà i tempi dettati dagli impegni reali dei vari utenti che decideranno di partecipare dando i loro contributi;
    - da questo momento in poi evita comunicazioni private.

    Saluti
     
    Top
    .
  3.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    2,939
    Reputation
    +187

    Status
    Offline
    Io aspetto la tabella "rigida". Poi posso dare il mio contributo, non tanto sul VBA di Excel, ma sulla possibilità di generare file di script che possano disegnare in automatico il pozzetto.

    (Il passaggio attraverso il file di script, per quanto assai meno elegante rispetto alla 'connessione' diretta Excel-Autocad, permette di svincolarsi totalmente da librerie e specifiche versioni di Autocad, con tutte le semplificazioni del caso).
     
    Top
    .
  4.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    CITAZIONE (zax2013 @ 30/9/2016, 11:12) 
    Io aspetto la tabella "rigida". Poi posso dare il mio contributo, non tanto sul VBA di Excel, ma sulla possibilità di generare file di script che possano disegnare in automatico il pozzetto.

    (Il passaggio attraverso il file di script, per quanto assai meno elegante rispetto alla 'connessione' diretta Excel-Autocad, permette di svincolarsi totalmente da librerie e specifiche versioni di Autocad, con tutte le semplificazioni del caso).

    Anche ricorrendo alla generazione di un file dxf ci si svincola dalle librerie specifiche delle versioni di autocad. Volendo seguire la via del dxf ecco che torna utilissima la mia "Consolle DXF".
     
    Top
    .
  5.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    2,939
    Reputation
    +187

    Status
    Offline
    Se si ha un disegno già 'impostato', ovvero con tutti i layer che servono, con gli stili di linea, di quota e di testo correttamente settati, ecc. è più facile di quel che si pensi "vestire" il disegno tramite script piuttosto che attraverso il dxf.

    Per "vestire" intendo retini, campiture, quotatura, ecc.
     
    Top
    .
  6.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Davide, io inizierei col cercare di capire come è impostata la tabella di cui parli, quali sono le dimensioni soggette a variazioni, se ne necessitao altre in aggiunta a quelle che mostrerai, quali e quanti sono le diverse tipologie di pozzetti ed in cosa consisterebbe la variazione.
    Per esempio, i dati riportati nello schema che hai mostrato nel messaggio di avvio, non sono sufficienti a far disegnare il pozzetto in automatico.
    Qualcuno deve pur dire al programma con quali spessori disegnare i vari elementi: spessore delle pareti, dimensioni del colletto per il chiusino, spessore della fondazione, numero di tubazioni che confluiscono o escono dal pozzetto, pareti coinvolte dai tubi, quote di innesto di ciascuna tubazione....
    Questi devo essere fissati insieme alle dimensioni caratteristiche del pozzetto.
     
    Top
    .
  7.     +1   -1
     
    .
    Avatar

    Junior Member

    Group
    Member
    Posts
    39
    Reputation
    0

    Status
    Offline
    stavo per condividere i link del file excel e del file dwg ma compare la scritta "hai inserito un url non valido" ... sia inserendo link dropbox sia inserendo dei tiny url .. cosa posso fare ?

    esatto afazio, la tabella contiene già molte informazioni per generare il disegno, (forse non tutte per farglielo fare in automatico, ad esempio mi hai fatto notare lo spessore del muro, fissato di default a 10cm ma non presente in tabella)
    Appena riuscirò a farmi accettare i link dal forum lo condividerò :)
     
    Top
    .
  8.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    CITAZIONE (DavideComi @ 30/9/2016, 13:08) 
    stavo per condividere i link del file excel e del file dwg ma compare la scritta "hai inserito un url non valido" ... sia inserendo link dropbox sia inserendo dei tiny url .. cosa posso fare ?

    esatto afazio, la tabella contiene già molte informazioni per generare il disegno, (forse non tutte per farglielo fare in automatico, ad esempio mi hai fatto notare lo spessore del muro, fissato di default a 10cm ma non presente in tabella)
    Appena riuscirò a farmi accettare i link dal forum lo condividerò :)

    Il sistema accetterà link da parte tua solo dopo il 5° tuo messaggio.
    Nel frattempo se lo posti in qualche modo per aggirare la limitazione, per esempio cambiando gli slash con altro simbolo, penserò io a editarlo.
     
    Top
    .
  9.     +1   -1
     
    .
    Avatar

    Junior Member

    Group
    Member
    Posts
    39
    Reputation
    0

    Status
    Offline
    ok perfetto.


    Scarica File Excel

    Scarica File dwg

    Edited by afazio - 30/9/2016, 13:42
     
    Top
    .
  10.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    L'anatomia di un pozzetto mi porta a distinguere quattro elementi diversi:
    - cameretta
    - collare
    - chiusino
    - tubi

    secondo lo schema della sezione che segue:

    Q5qK7vU



    Nello schema manca il parametro s2 che stabilisce la dimensione del dente dove si appoggia il chiusino.

    Ho indicato le dimensioni relative alla cameretta con l'indice "0", quelle relative al collare con l'indice "1", quelle relative al chiusino con l'indice "2" e quelle relative ai tubi con l'indice "i".
    Per questi ultimi, l'indice "i" varia per ogni tubo presente sulle pareti della cameretta.
    Nel caso di cameretta quadrata avremo 4 pareti e la posizione dell'eventuale tubo presente è fissata dai rapporti che ho indicato.
    Nel caso di cameretta circolare, l'indice i varia per ciascuno dei tubi presenti ed in questo caso necesssita altro parametro angolare per definirne l'esatta posizione.

    Il collare può essere anche eccentrico rispetto alla cameretta e la sua posizione planimetrica rispetto alla cameretta sarà definita da altri due rapporti.

    Infine anche il chiusino può essere eccentrico rispetto al collare ed anche in questo caso la sua posizione planimetrica rispetto al collare sarà definita da altri due rapporti.
     
    Top
    .
  11.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    La cameretta può avere forma quadrata o circolare, il collare può avere forma quadrata o circolare, l chiusino può' essere quadrato o circolare (per adesso non prevedo la forma rettangolare).
    Combinato il tutto, possiamo avere otto tipi diversi di pozzetto.
    Se poi consideriamo il fatto che il collare può essere presente oppure mancare, le tipologie di pozzetti diventano 16, e questo indipendentemente dal numero e disposizione delle tubazioni.
     
    Top
    .
  12.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    In sezione orizzontale abbiamo:

    Cameretta:

    iHhb4yF



    Collare:

    xDWOs9Z



    Qui non ho riportato le dimensioni del collare che possono leggersi dalla sezione verticale, ma ho evidenziato la posizione del centro del collare espressa come rapporto rispetto alle dimensioni della cameretta.

    I rapporti x/Lo e y/Lo sono variabili da 0 a 1
    Quando x/Lo = 0.0 allora il bordo interno sinistro del collare coincide col bordo interno sinistro della cameretta
    Quando x/Lo = 1.0 allora il bordo interno destro del collare coincide col bordo interno destro della cameretta
    Quando x/Lo = 0.5 allora il collare si trova centrato (secondo x) rispetto alla cameretta).

    Cosa analoga per il rapporto y/Lo

    Nel caso di cameretta circolare, data la simmetria, si può pensare di fissare unico rapporto.

    Cosa analoga può pensarsi per la posizione reciproca tra chiusino e collare.

    In questo modo avremo tutti i dati geometrici per poter disegnare il pozzetto, restando da definire ancora la questione del dente di appoggio del chiusino, e il disegno delle tubazioni.
     
    Top
    .
  13.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    In effetti quelli che ho indicato come x/Lo e y/Lo, dovendo rispettarsi le condizioni che ho espresso, saranno dati da formule leggermente diverse. Ma questi sono dettagli di implementazione che affronterò dopo.
     
    Top
    .
  14.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    2,939
    Reputation
    +187

    Status
    Offline
    Un parametro forse dimenticato ma a quanto pare importante è il senso di ingresso/uscita dei vari tubi al pozzetto.
     
    Top
    .
  15.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    CITAZIONE (zax2013 @ 1/10/2016, 11:44) 
    Un parametro forse dimenticato ma a quanto pare importante è il senso di ingresso/uscita dei vari tubi al pozzetto.

    Proprio questo non lo avevo dimenticato, semplicemente non l'ho specificato dato che come per la forma della cameretta o del colletto o del chiusino (se quadrato o circolare) si riduce ad un semplice flag (entrata o uscita) e a livello di disegno si traduce in una freccia in un verso o nell'altro.
    Magari forse mancano altri parametri che adesso non mi vengono in mente e che usciranno certamente se in qualche modo limitano la fase del disegno automatico oppure se finalizzati ad una qualche miglioria.

    Intanto stavo pensando che tutto il disegno si condensa in poche sub o funzioni dedicate da richiamare in sequenza.
    Per esempio possiamo scrivere una semplice funzione che disegni la sezione della cameretta passandole solo le coordinate del punto di ancoraggio (corrispondente col baricentro in pianta della cameretta) la dimensione L0 e lo spessore s0 ed il flag di forma.
    Ma considerando che anche la sezione del collare si riduce sostanzialmente ad un disegno uguale nel procedimento a quello della cameretta, la funzione sarebbe unica.

    Occorre quindi fin da adesso stabilire quali disegni dovremo far fare al programma.

    Penso:
    - una sezione orizzontale della cameretta
    - una sezione orizzontale del colletto ove si vedono in proiezione il contorno a tratto intero del perimetro esterno della cameretta e il contorno interno in tratteggio della cameretta

    - una pianta (vista dall'alto) in cui si vede il chiusino e i contorni dei sottostanti colletto e cameretta
    - due sezioni verticali

    - le quattro pareti con l'ubicazione dei tubi

    Per quanto riguarda il primo disegno, considerando che le tubazioni presenti sulle 4 pareti possono essere tutte a quota diversa, dovremmo decidere di adottare un disegno convenzionale che tagli tutti i tubi come se fossero tutti alla stessa quota.

    Edited by afazio - 1/10/2016, 12:40
     
    Top
    .
217 replies since 30/9/2016, 09:08   7895 views
  Share  
.