Ma perché esistono diversi tipi di polilinea ?
Forse non te ne sei mai accorto. Oppure le hai notate quando ti sei imbattuto in qualche disegno derivato da rilievi topografici o riaprendo un vecchio disegno. O, ancora, quando hai avuto a che fare con un disegno prodotto da software per la gestione del CAM.Quelle che per te normalmente si chiamano Polilinee, in quei disegno assumono il nome di Polilinea 2D o Polilinea 3D.
selezionando la polilinea nella finestra delle proprieta viene mostrato il tipo di oggetto |
È facile intuire che una polilinea 3D congiunge dei punti aventi coordinate Z differenti... ma che differenza c'è tra Polilinea (in inglese LWPolyline) e Polilinea 2D (2D Polyline) ?
Scoprimo quali sono le caratteristiche e differenze tra questi tipi di polilinee.
I 3 tipi
Polilinea 2D (2D Polyline)
Sono le polilinee originarie, quelle presenti sin dalle prime versioni di AutoCAD. Sono polilinee i cui vertici giacciono tutti alla stessa quota.Se le ispezioniamo con il comando LISTA si nota come nella struttura di dati le informazioni, per ogni singolo vertice, siano ridondanti.
POLILINEA Layer: "0"
Spazio: Spazio modello
Gestore = 242
Aperta
larghezza iniziale 0.0000
larghezza finale 0.0000
area 382407.9247
lunghezza 2372.4751
VERTICE Layer: "0"
Spazio: Spazio modello
Gestore = 243
al punto, X=2032.7092 Y=3152.4706 Z= 0.0000
larghezza iniziale 0.0000
larghezza finale 0.0000
VERTICE Layer: "0"
Spazio: Spazio modello
Gestore = 245
al punto, X=3746.9614 Y=3216.9185 Z= 0.0000
larghezza iniziale 0.0000
larghezza finale 0.0000
FINE DELLA SEQUENZA Layer: "0"
Spazio: Spazio modello
Gestore = 247
Infatti per ogni vertice c’è l’informazione del layer, quella del gestore (handent) e quella dello spazio.
In aggiunta è presente un dato di chiusura chiamato “Fine della sequenza” anche’esso con le stesse informazioni.
Tutti questi dati sono inutili, perché già assegnate all'oggetto principale polilinea.
È questo il motivo per cui - con la versione 14 di AutoCAD - fu introdotto un nuovo tipo di polilinea, la Lwpolyline o, in italiano, semplicemente Polilinea.
Polilinea (LWPolyline)
Il prefisso LW è la contrazione di Lite Weigth, peso leggero. Infatti queste polilinee memorizzano le informazioni riguardo ai vertici che la compongono in maniera ottimizzata, migliorando il ‘peso’ in termini di kb del file DWG.Esplorando sempre con il comando LISTA questo tipo di polilinea otteniamo:
LWPOLYLINE Layer: "0" Spazio: Spazio modello
Gestore = 241
Aperta
larghezza costante 0.0000
area 366224.5450
lunghezza 2311.9461
al punto X=2087.0221 Y=2680.9835 Z= 0.0000
al punto X=2748.9611 Y=2050.0727 Z= 0.0000
al punto X=4130.5466 Y=1839.7690 Z= 0.0000
Come si vede, per ogni vertice, si memorizzano solo le coordinate X e Y.
Viene visualizzato anche il valore della coordinata Z , per completezza, ma questo corrisponde al valore dell’Elevazione posseduta dalla Polilinea e, nei dati interni dell’oggetto, non c'è traccia del valore Z dei vertici (parola di programmatore :-) ).
Dalla versione 14 dunque il programma tende a creare sempre Polilinee ottimizzate, le LWPolyline.
Polilinea 3D (3D Polyline)
Sono polilinee che possono contenere solo segmenti lineari e i vertici che la rappresentano possono avere coordinata Z diversa. Queste polilinee non supportano la proprieta “Larghezza”.Anche queste sono memorizzate con una struttura di dati ridondante. Nel risultato prodotto dal comando LISTA si nota come, in questo caso, il valore delle coordinata Z sia variabile.
POLILINEA Layer: "0"
Spazio: Spazio modello
Gestore = 24f
Aperta spazio
area 150475.0474
lunghezza 1139.2070
VERTICE Layer: "0"
Spazio: Spazio modello
Gestore = 251
al punto, X=1614.9188 Y=2128.5643 Z= 33.0000
VERTICE Layer: "0"
Spazio: Spazio modello
Gestore = 254
al punto, X=2517.8715 Y=1874.1648 Z= 42.0000
FINE DELLA SEQUENZA Layer: "0"
Spazio: Spazio modello
Gestore = 250
Risparmio di spazio
Per avere idea di quanto l’utilizzo di Lwpolyline riduca le dimensioni del file DWG, rispetto all'utilizzo delle Polilinee 2D, ho fatto un test: ho creato 2 disegni, con 600 polilinee ognuna composta da 10 vertici.
Nel primo disegno ho utilizzato le LWPolyline e la sua dimensione finale è stata di 97KB, nel secondo le polyline 2D e la sua dimensione finale è stata di 208KB.
Conversione tra tipi
AutoCAD mette a disposizione un paio di comandi per trasformare le polilinee.Da Polilinea (LWPolyline) a Polilinea 2D (Polyline) e viceversa.
Il comando CONVERTIPOLI (Convertpoly) permette di cambiare il tipo di polilinea 2D da 'Lite' a'Heavy' o viceversa.
Può essere utile trasformare una LWPolyline in semplice polilinea quando, per esempio, si utilizzano vecchi programmi AutoLISP che , essendo stati scritti prima della R14, prevedevano di trattare i dati di polilinee 2D.
Oppure qunado bisogna ‘dare in pasto’ il disegno ad un programa di una macchina a controllo numerico, ve ne sono molte ancora con software non aggiornati che non riconoscono le LWpolyline.
Da Polilinea 2D (Polyline) a Polilinea (LWPolyline)
Un altro comando è CONVERTI (Convert) che converte le polilinee 2D selezionate in Lwpolyline.. Questa trasformazione può essere eseguita anche automaticamente, all'apertura del disegno, se si imposta la variabile PLINETYPE a 2.Da Polilinea 3D (3D Polyline) a Polilinea (LWPolyline)
In questo caso non ci sono comandi diretti per eseguire la trasformazione. Tra l’altro, per forza di cose, questa è una operazione che fa perdere l’informazione relativa alla coordinata Z di ogni vertice.Una tecnica che si può adottare è quella di ‘appiattire’ la polilinea, cioè renderla con tutti i vertici giacenti alla stessa quota.
Per farlo bisogna esploderla (comando Esplodi), trasformandola in semplici linee.
Successivamente selezionare le linee risultanti (usare l’opzione selezione oggetto ”P”, precedente) e assegnare a tutti i vertici la stessa Z.
Per assegnare ad ogni linea derivata la stessa Z basta selezionarle tutte e, nelle caselle “Z iniziale” e “Z finale” delle proprietà, inserire il valore 0.
Infine, ri-trasformarla in polilinea con il comando Unisci o Editapl.
Per chi va di fretta si può utilizzare questo programma free proposto dalla rivista Cadalyst di nome: Pline-3d-2d
Da polilinea 2D a polilinea 3D
Può esserci anche questa esigenza: partire da una polilinea bidimensionale per trasformarla in 3D assegnando in seguito i valori Z ai vari vertici.Ci sono molti programmi free in rete, segnalo questo di John W. Anstaettche, si chiama
LW-to-3D.lsp ed è stato estratto dal forum AUGI.
Creazione di polilinee
Le polilinee si creano con il comando Plinea, ma anche con il comando Anello (Donut), Poligono (Polygon), Rettangolo (Rectangle), Fumettorev (Revcloud), Schizzo (Sketch), Ppoli (Bpoly).
È possibile crearla anche con il comando Ellisse, a condizione che la variabile PELLIPSE sia = a 1.
l'ellisse sulla destra è stata creata con PELLIPSE = a 1, si notano i vertici dei tanti archi che la formano |
Una Polilinea si può ottenere anche trasformando una Spline (comando EDITSPLINE). In questo caso valutare l'impostazione della variabile PLINECONVERTMODE : se questa variabile ha valore 0 la Polilinea sarà approssimata tramite linee, se valore 1 tramite archi.
In maniera indiretta si possono creare anche unendo archi e linee tramite il comando EDITPL (Pedit) o UNISCI (Join).Le polilinee 3D, invece, si ottengono utilizzando il comando 3DPoli (3DPoly).
Se ci fosse la necessità di creare delle polilinee vecchio stile (2D Polyline e non LWpolyline) bisogna impostare la variabile PLINETYPE con il valore pari a 0. Da quel momento, tutte le nuove polilinee create, saranno del tipo Polilinea 2D.
Una Polilinea si può ottenere anche trasformando una Spline (comando EDITSPLINE). In questo caso valutare l'impostazione della variabile PLINECONVERTMODE : se questa variabile ha valore 0 la Polilinea sarà approssimata tramite linee, se valore 1 tramite archi.
In maniera indiretta si possono creare anche unendo archi e linee tramite il comando EDITPL (Pedit) o UNISCI (Join).
Le polilinee 3D, invece, si ottengono utilizzando il comando 3DPoli (3DPoly).
Se ci fosse la necessità di creare delle polilinee vecchio stile (2D Polyline e non LWpolyline) bisogna impostare la variabile PLINETYPE con il valore pari a 0. Da quel momento, tutte le nuove polilinee create, saranno del tipo Polilinea 2D.
Nessun commento:
Posta un commento