Discussione:
codice dxf per una polilinea
(troppo vecchio per rispondere)
ingenium75
2007-09-18 19:34:20 UTC
Permalink
ciao a tutti

spero che qualcuno riesca ad aiutarmi:
sto cercando di capire come generare una polilinea in "codice-dxf"

ho cercato un po' in giro e il codice "minimale" mi sembra di aver
capito che sia qualcosa di questo tipo:

0
SECTION
2
ENTITIES
0
LWPOLYLINE
5
DE
330
1F
100
AcDbEntity
8
nomelayer
100
AcDbPolyline
90
3
70
0
43
0.0
10
150.0
20
250.0
10
250.0
20
450.0
10
350.0
20
550.0
0
ENDSEC
0
EOF

purtroppo non funziona, mi crea una polilinea con 2 vertici
coincidenti nell'origine.
Mi sapete aiutare a capire l'errore??
DeViLo
2007-09-19 20:43:58 UTC
Permalink
Ti conviene far riferimento a release precedenti la 12 (non ricordo con
precisone quale) del dxf: è più pulito e semplice senza codici esadecimali
(tag 5) ed altri fronzoli che incasinano la vita in caso di scrittura
artigianale da altri prg
Post by ingenium75
5
DE
330
1F
100
AcDbEntity
8
nomelayer
100
AcDbPolyline
ora non ho sottomano le specifiche sorry ma una line è così
0
SECTION
2
ENTITIES
0
LINE
8
0
10
-3127.4860400927432
20
-2708.798464036428
30
0.0
11
-3127.4860400927432
21
-2709.1884640364278
31
0.0
0
ENDSEC
0
EOF
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
ingenium75
2007-09-19 21:02:17 UTC
Permalink
per le linee ho gi� individuato il codice minimale, cos� come per la
definizione di layer.

mi serve giusto la polilinea e non riesco a trovare l'inghippo :-
((((((

grazie comunque per l'aiuto
DeViLo
2007-09-19 21:22:20 UTC
Permalink
per le linee ho già individuato il codice minimale, così come per la
definizione di layer.
mi serve giusto la polilinea e non riesco a trovare l'inghippo :-
((((((
grazie comunque per l'aiuto
io credo che se elimini il tag 5 e quelli con nomi strani sei + a posto.
la release credo fosse stata la 10 o la 9 quella senza tag esad. e non
usare le lwpolyline ma solo le polyline (ameno mi sembra di ricordare che
nella 9/10 erano definite così.
buonanotte...
non è che percaso se un espertissimo di 3d?
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
ingenium75
2007-09-20 06:57:41 UTC
Permalink
non � che percaso se un espertissimo di 3d?
magari lo fossi...
sto cercando di fissare alcuni punti fissi della struttura dxf
per creare automaticamente un output in alcuni programmini di
ingegneria che mi sto scrivendo.

ciao
ingenium75
2007-09-19 21:17:05 UTC
Permalink
grande!! il tuo suggerimento mi ha messo sulla pista giusta!

il codice per la release 12 funzia

ecco un esempio

0
SECTION
2
ENTITIES
0
POLYLINE
5
3A
8
nomelayer
66
1
10
0.0
20
0.0
30
0.0
0
VERTEX
5
A5
8
0
10
0.0
20
0.0
30
0.0
0
VERTEX
5
A6
8
0
10
3.67
20
763.0
30
0.0
0
VERTEX
5
A7
8
0
10
2000.0
20
2000.0
30
0.0
0
SEQEND
5
A4
8
0
0
ENDSEC
0
EOF
SePrAm.com
2007-09-24 11:15:31 UTC
Permalink
Se ti interessa una routine già fatta (contenuta in
http://www.sepram.com/DEMO/LSP/EliminaVerticePoly.LSP) a cui passi una lista
di vertici e il layer su cui vuoi creare la poli:

;;;-------------------------------------------
(defun CreaPolilinea (lista-vertici piano)
(entmake (list
(cons 0 "POLYLINE")
(cons 8 piano)
(cons 70 8)
)
)
(setq k 0)
(repeat (length lista-vertici)
(setq V(nth k lista-vertici))
(setq VX(car V))
(setq VY(cadr V))
(setq VQ(caddr V))
(entmake (list
(cons 0 "VERTEX")
(cons 8 piano)
(cons 10 (list VX VY VQ))
(cons 70 32)
)
)
(setq k(+ k 1))
)
(entmake (list (cons 0 "SEQEND") (cons 8 piano)))
)
;;;-------------------------------------------

Ciao Claudio
Post by ingenium75
ciao a tutti
sto cercando di capire come generare una polilinea in "codice-dxf"
ho cercato un po' in giro e il codice "minimale" mi sembra di aver
0
SECTION
2
ENTITIES
0
LWPOLYLINE
5
DE
330
1F
100
AcDbEntity
8
nomelayer
100
AcDbPolyline
90
3
70
0
43
0.0
10
150.0
20
250.0
10
250.0
20
450.0
10
350.0
20
550.0
0
ENDSEC
0
EOF
purtroppo non funziona, mi crea una polilinea con 2 vertici
coincidenti nell'origine.
Mi sapete aiutare a capire l'errore??
Loading...