Docfa 3.0 - Polilinee - Come risolvere il problema

Se durante l'importazione del file .DXF con il relativo layer "Docfa_Poligoni" compare la seguente finestra di errore:

Polilinea non chiusa

avete certamente una o più polilinee aperte.

Lo stesso errore però può capitare anche se tutte le vostre polilinee sono chiuse, ma avete attivato una opzione di AutoCAD® che permette di visualizzare il tipolinea delle polilinee in modo tale che il tratteggio sia continuo e non interrotto ad ogni vertice, come nella figura seguente.

tlineagen

Questa impostazione, che di default è disabilitata, viene modificata impostando la variabile di sistema "PLINEGEN" a "1", dopo di che tutte le nuove Polilinee che verranno create avranno la nuova impostazione.

E' qui che sorge il problema con il Docfa 3.0, infatti l'impostazione viene codificata in bit nello stesso codice DXF che serve per indicare che una Polilinea è aperta o chiusa, secondo questo schema:

LWPOLYLINE:
70 - Flag della polilinea (codificato in bit); default è 0:
1 = chiusa
128 = plinegen

POLYLINE:
70 - Flag della polilinea (codificato in bit); default è 0:
1 = Questa è una polilinea chiusa (o una mesh poligonale chiusa
verso la direzione M).
2 = Sono stati aggiunti dei vertici adattati alla curva.
4 = Sono stati aggiunti dei vertici adattati alla spline.
8 = Questa è una polilinea 3D.
16 = Questa è una mesh poligonale 3D.
32 = La mesh poligonale è chiusa verso la direzione N.
64 = Questa polilinea è una mesh poliedrica.
128 = Il modello del tipo di linea è generato in maniera continua
attorno al vertice di questa polilinea.

La "LWPOLYLINE" è come la normale "POLYLINE", solo che occupa meno
spazio e viene visualizzata/rigenerata più velocemente da AutoCAD®, ma non può essere usata (se non ricordo male) per le spline e per le mesh.

La codifica in Bit significa che per attivare ciascuna opzione, devo sommare i singoli valori, ad esempio se ho una Polilinea chiusa (valore = 1) che ha dei vertici aggiunti alla spline (valore = 4) e il tipo di linea è generato in maniera continua (valore = 128), il relativo codice DXF 70 sarà pari a 1+4+128=133. Ugualmente anche una semplice Polilinea chiusa (1) con il tipo line generato in maniera continua (128), il valore DXF 70 sarà pari a 1+128=129.

Il Docfa per sapere se la Polilinea è aperta o chiusa va a leggere il codice DXF 70 e se trova "1" è chiusa... se trova un valore diverso (es. 129 cioè 1+128) dice che è aperta rifiutando completamente il Layer Docfa_Poligoni.

Occorre quindi ricordarsi di disabilitare questa funzione (chi la usa) prima di creare le Polilinee per il Layer Docfa_Poligoni, oppure usare il comando "AI_PROPCHK" di AutoCAD® per modificare singolarmente ogni Polilinea creata.

In alternativa potete scaricare un piccolo file in lisp chiamato "Docfa3.lsp"; questo programmino permette di selezionare una o più Polilinee e indica quanti sono realmente aperte (evidenziandole), quante sono chiuse e quante erano impostate per la visualizzazione del tipo linea uniforme (ovviamente quell'impostazione viene rimossa dalla Polilinea).

Legal / Importante

Il programmino in Lisp è liberamente scaricabile ed utilizzabile; potete copiarlo ai colleghi amici etc. Viene fornito così com'è senza nessuna garanzia implicita o esplicita. All'interno del file è disponibile sia la Licenza d'uso che una breve descrizione per utilizzarlo.

Scarica il file Lisp

 

Se però vuoi risolvere in maniera definitiva i problemi, scarica il menu GRATUITO per AutoCAD® DoCFaCAD.

I più letti

Chi e' online

Abbiamo 16 ospiti e nessun utente online