Vincoli per Attributi

Valentino G.

Utente poco attivo
professione: Ingegnere Edile
software: AutoCAD
regione: Toscana
Salve a tutti!
Vi scrivo in quanto fino ad oggi non ho mai trovato la necessità di definire attributi per creare blocchi dinamici, mentre invece mi sono voluto cimentare nella creazione di un blocco dinamico per un cartiglio, con tutti i campi editabili tramite attributi.
Mi sorge però un problema: il cartiglio che devo necessariamente realizzare ha, nell'angolo in alto a destra, come da foto :

Screenshot 2024-02-01 alle 19.16.39.png
- Scala tavola
- Piano (T-1-2...)
- Descrizione tavola
Avevo pensato quindi di creare tre attributi per i tre diversi testi e, per "oggetto" non ci sono problemi, in quanto con l'allineamento a destra, in base ai caratteri si estende a sinistra dove ha spazio a sufficienza; il problema mi sorge invece per l'attributo "piano", in quanto nella tavola potrebbe esserci T, T-1, T-1-2-3-4-5-... e così facendo varierebbe la larghezza del testo, andando a sovrapporsi con "oggetto".
Avevo quindi pensato di creare un vincolo dimensionale fra i due attributi, ma purtroppo mi prende solo come snap il punto di inserimento dell'attributo (dx) e non quello finale (sx).
Qualcuno ha qualche idea?

Grazie a tutti e buona serata
 

Tristan

Moderatore Civil 3D
Staff Forum
professione: Application Engineer
software: Autodesk Civil 3D, Revit e altre amenità
regione: Trentino
Non capisco quale sia il problema. Cambi il valore del vincolo finché non c'è più sovrapposizione
 

Valentino G.

Utente poco attivo
professione: Ingegnere Edile
software: AutoCAD
regione: Toscana
Non capisco quale sia il problema. Cambi il valore del vincolo finché non c'è più sovrapposizione
Ciao Tristan e grazie per l’interessamento. Cerco di spiegarmi meglio: i tre attributi hanno la giustificazione a destra, il che significa che il testo aumenta espandendosi verso sinistra. Di conseguenza, se una tavola contiene 10 piani, il testo sarà più lungo di una tavola che ha solo il piano T, e andrà a sovrapporsi all’attributo “oggetto”.
 

Tristan

Moderatore Civil 3D
Staff Forum
professione: Application Engineer
software: Autodesk Civil 3D, Revit e altre amenità
regione: Trentino
Questo lo avevo capito; ma quando crei il vincolo dimensionale, quello mica deve restare fisso ad un valore. Lo cambi per spaziare gli attributi qualora i testi si andassero a sovrapporre.
 

Valentino G.

Utente poco attivo
professione: Ingegnere Edile
software: AutoCAD
regione: Toscana
Grazie Tristan intanto per la disponibilità.
Io però ho problemi proprio col creare il vincolo! Infatti quando mi chiede di selezionare i punti, mi dà gli snap (prendendo in riferimento l’immagine di prima e l’attributo “Piano T”) soltanto alla destra di T, punto di inserimento dell’attributo, e non alla sinistra di P.
Spero di essermi spiegato meglio :)
 

Cristallo

Utente Standard
professione: Leggo e confronto
software: Lettura critica
regione: Fuori dalla cerchia
Poiché, come hai sperimentato, la lunghezza del testo potrebbe variare, è cosa buona e giusta che del testo si abbia il punto di snap sul suo inserimento(che è certo), non sulla sua fine (che non sappiamo noi quale sarà, figurati un programma).
Visto che DOPO lo sposterai dove più ti fa comodo, è così difficile inserirlo in fase di creazione del blocco in un punto "x", allineato all'inserimento dell'altro, ma senza una localizzazione matematicamente definita dalla lunghezza del testo precedente?
 

dsw

Rossano Praderi
professione: Libero Professionista
software: Vari
regione: Lombardia
Allego un file .dwg di esempio che potrebbe darvi uno spunto in più sulla soluzione finale del problema di allineamento/spaziatura del testo.

Nel file ho definito un blocco con tre attributi invisibili, ho aggiunto una linea per semplificare l'identificazione del blocco.

All'esterno del blocco ho inserito un testo multilinea con i tre campi associati agli attributi del blocco.

Purtroppo, per aggiornare il testo bisogna aggiornare i campi manualmente (con apposito comando).
 

Allegati

  • Alineamento_attributi.dwg
    279.5 KB · Views : 9

Valentino G.

Utente poco attivo
professione: Ingegnere Edile
software: AutoCAD
regione: Toscana
Poiché, come hai sperimentato, la lunghezza del testo potrebbe variare, è cosa buona e giusta che del testo si abbia il punto di snap sul suo inserimento(che è certo), non sulla sua fine (che non sappiamo noi quale sarà, figurati un programma).
Visto che DOPO lo sposterai dove più ti fa comodo, è così difficile inserirlo in fase di creazione del blocco in un punto "x", allineato all'inserimento dell'altro, ma senza una localizzazione matematicamente definita dalla lunghezza del testo precedente?
Certo, ma spostarlo a mano per decine e decine di tavole per volta potrebbe non essere la soluzione ottimale/precisa/veloce!
E comunque - secondo il mio punto di vista - non si tratterebbe di indovinare la combinazione del superenalotto! Semplicemente, in base a dove finisce la prima casella di testo (cioè la sua larghezza), il vincolo dimensionale collegato con il punto di inserimento dell'attributo a sinistra, lo distanzierebbe di tot unità.
In pratica, ciò che è riuscito a creare @dsw che ringrazio INFINITAMENTE!!!!
 

Cristallo

Utente Standard
professione: Leggo e confronto
software: Lettura critica
regione: Fuori dalla cerchia
Perdona @dsw, io trovo l'mtext con i campi, trovo il blocco ed inserisco i dati, ma poi come li aggiorni? Editando l'mtext e facendo puntare il campo dati al blocco che hai appena inserito?
 

Valentino G.

Utente poco attivo
professione: Ingegnere Edile
software: AutoCAD
regione: Toscana
Perdona @dsw, io trovo l'mtext con i campi, trovo il blocco ed inserisco i dati, ma poi come li aggiorni? Editando l'mtext e facendo puntare il campo dati al blocco che hai appena inserito?
Una volta che hai aggiornato il valore degli attributi nel blocco è sufficiente fare "rigenera" per vedere aggiornarsi i campi nell'mtext
 

dsw

Rossano Praderi
professione: Libero Professionista
software: Vari
regione: Lombardia
@Cristallo ha già risposto @Valentino G.

Quella che ho postato non è la migliore delle soluzioni ed ha delle limitazioni, personalmente preferisco gestire queste situazioni tramite codice (quando possibile)
 

Cristallo

Utente Standard
professione: Leggo e confronto
software: Lettura critica
regione: Fuori dalla cerchia
Ok, capito il funzionamento.
La traccia è buona, bisognerà implementarlo nel blocco cartiglio di Valentino.

C'e' modo via field di conoscere la textbox dell'attributo riempito?
 

dsw

Rossano Praderi
professione: Libero Professionista
software: Vari
regione: Lombardia
C'e' modo via field di conoscere la textbox dell'attributo riempito?
Se ho capito la domanda, la risposta è si.
C'è un piccolo problema, se si esegue la sincronizzazione/modifica del blocco, i riferimenti dei "field" vengono persi e bisogna ricollegarli.

Ho trovato interessante un thread sull'argomento nel sito Autodesk
 

dsw

Rossano Praderi
professione: Libero Professionista
software: Vari
regione: Lombardia
Condivido un aggiornamento dell'esempio che ho postato in precedenza.

Nel file trovate un secondo esempio, i campi non sono collegati agli attributi di un blocco ma alle proprietà personalizzate del disegno.

Usando questo metodo, i campi possono essere inseriti nella definizione di un blocco senza problemi di aggiornamento dati.
 

Allegati

  • Alineamento_attributi.dwg
    280.5 KB · Views : 3

Statistiche forum

Discussioni
59,306
Messaggi
505,268
Utenti registrati
110,816
Ultimo utente registrato
emicas

Staff online

Top