TuttoCAD Forum

TuttoCAD Forum
[ Home | Registrati | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Album Fotografico | Download | | Cerca | FAQ ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 1 - TuttoCAD Software
 AutoLISP
 aiuto su esportazione polilinea
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Pagina Successiva
Autore Discussione Precedente Discussione Discussione Successiva
Pagina: di 2

blubossa
Utente Senior



102 Messaggi

Inserito il - 22 novembre 2010 : 16:14:04  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
ciao a tutti,
sto cercando di risolvere un problema relativo all'esportazione dei vertici della polilinea e dei raggi, in allegato posto sia il lisp che dcl che ho cercato di correggere senza riuscirci, inoltre ho allegato il file di testo errato e quello corretto.

spero che qualcuno possa aiutarmi a risolvere.
grazie

BB

Scarica allegato:

test.rar
56,52 KB

Scarica allegato:

TEST5.dwg
46,82 KB

Terminator
Utente Master



725 Messaggi

Inserito il - 22 novembre 2010 : 17:50:32  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Prova così:


Scarica allegato:

test.zip
4,2 KB

Senza che riscrivo tutto il listato ho apportato questa correzione alla riga 103 del programma:


   (setq p1  (trans (trans (cdr (nth (* vi 5) pl)) en 0) 0 1)
	 b42 (cdr (nth (+ (* vi 5) 3) pl))
	 fb  (if (or (not b42) (zerop b42))
	      (setq b42 nil)
	      b42
	     )
   )


Il codice 42 si trova anch'esso dopo 5 elementi della lista e non 4 come era scritto. Nelle versioni più recenti di AutoCAD è stato aggiunto il codice 91 (identificatore del vertice) dopo il codice 42 (curvatura), invece nelle versioni precedenti questo codice non esisteva.

10 Coordinate vertice
40 Larghezza iniziale
41 Larghezza finale
42 Curvatura
91 Identificatore del vertice
10 Coordinate vertice successivo

La sequenza dei vertici era effettivamente giusta (1 ogni 5 elementi).

PS: Alla riga 82 e 83 dovrebbe essere scritto pure il 5 al posto del 4, ma nella funzione è ininfluente

Modificato da - Terminator in data 22 novembre 2010 18:15:20
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 22 novembre 2010 : 18:48:57  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
ciao Terminator,
ho provato ma continua ad andare in errore..........

grazie
bb




Messaggio inserito da Terminator

Prova così:


Scarica allegato:

test.zip
4,2 KB

Senza che riscrivo tutto il listato ho apportato questa correzione alla riga 103 del programma:


   (setq p1  (trans (trans (cdr (nth (* vi 5) pl)) en 0) 0 1)
	 b42 (cdr (nth (+ (* vi 5) 3) pl))
	 fb  (if (or (not b42) (zerop b42))
	      (setq b42 nil)
	      b42
	     )
   )


Il codice 42 si trova anch'esso dopo 5 elementi della lista e non 4 come era scritto. Nelle versioni più recenti di AutoCAD è stato aggiunto il codice 91 (identificatore del vertice) dopo il codice 42 (curvatura), invece nelle versioni precedenti questo codice non esisteva.

10 Coordinate vertice
40 Larghezza iniziale
41 Larghezza finale
42 Curvatura
91 Identificatore del vertice
10 Coordinate vertice successivo

La sequenza dei vertici era effettivamente giusta (1 ogni 5 elementi).

PS: Alla riga 82 e 83 dovrebbe essere scritto pure il 5 al posto del 4, ma nella funzione è ininfluente
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 22 novembre 2010 : 18:51:55  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Molto strano, sul mio Autocad 2011 funziona, che versione hai?
Al limite prova con questo:

Scarica allegato:

test.zip
4,19 KB

PS: il DWG dovresti allegarlo zippato


Modificato da - Terminator in data 22 novembre 2010 18:56:23
Torna all'inizio della Pagina

GP
Utente Master


Regione: Piemonte
Prov.: Vercelli


2776 Messaggi

Inserito il - 22 novembre 2010 : 19:19:43  Mostra Profilo Invia a GP un Messaggio Privato  Rispondi Quotando
Qualche command da "underscorizzare"?
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 22 novembre 2010 : 19:41:42  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando

Messaggio inserito da GP:

Qualche command da "underscorizzare"?


Si, effettivamente ci sono 2 SELECT da "underscorizzare" (bello questo termine), ma facendo girare il programma test.lsp step by step, questi 2 SELECT non vengono chiamati in causa. Almeno fino a quando non si aggiunge o si rimuove un'entità dal gruppo di selezione. Il problema è nell'entità polilinea. Infatti il codice di errore numberp significa che il programma si aspetta un numero reale e invece gli viene propinata una lista e secondo me può essere solamente nella sequenza errata che ho accennato prima. Aspettiamo lumi da blubossa...

Modificato da - Terminator in data 22 novembre 2010 21:24:47
Torna all'inizio della Pagina

joseph
Utente Master



Regione: Lombardia
Prov.: Cremona
Città: Casalmaggiore


1884 Messaggi

Inserito il - 22 novembre 2010 : 21:45:11  Mostra Profilo Invia a joseph un Messaggio Privato  Rispondi Quotando
Il file originale (http://forum.cad.pl/prosty-generator-g-code-z-poziomu-autocad-a-vba-autolisp-t72519-10.html) funziona o no?
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 22 novembre 2010 : 22:20:42  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Come sta scritto sui commenti, il file originale funziona per versioni AutoCAD fino alla 2007. Per le versioni successive bisogna effettuare quella modifica che avevo suggerito all'inizio (infatti sul mio pc funziona). Probabilmente blubossa ha una versione di AutoCAD dopo la 2007 e ha effettuato solo mezza correzione sul file lisp, dimenticandosi di aggiornare anche il codice 42. In ogni caso la mia è solo una supposizione.
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 22 novembre 2010 : 23:35:21  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
ciao Terminator,
purtroppo adesso non posso provare a testare il file che hai corretto ho una versione troppo vecchia, farò il test domani con la versione 2010 con cui ho fatto le altre prove.

posso utilizzare il file che hai allegato?

scusatemi per il dwg non zippato

grazie
bb
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 23 novembre 2010 : 08:25:42  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
ciao Terminator,
ho provato ad utilizzare il file che hai allegato e continua a non funzionare, ecco il risultato
%
:TY
(CIAO)
N5 G90 G21
N10 G00 G99
N15 M05 M09
N20 T21 M03 M08
N25 S800
N30 F200
N35 G00 Z3
N40 G00 X0 Y0
N45 G01 Z-2
N50 G01; errore: tipo di argomento errato: punto 2D/3D: 0

possibile che tra versione 2010,che io uso, e la 2011 ci sia qualcosa di diverso?? ti è possibile fare una prova con la 2010?

grazie
bb


Messaggio inserito da Terminator

Molto strano, sul mio Autocad 2011 funziona, che versione hai?
Al limite prova con questo:

Scarica allegato:

test.zip
4,19 KB

PS: il DWG dovresti allegarlo zippato


Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 23 novembre 2010 : 08:51:13  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
Ciao Terminator,ho fatto tutte le correzioni che hai indicato nelle varie righe ed il risultato che ottengo lo vedi nel file A, mentre io mi aspettavo il file B.
Ti ho allegato anche l'immagine del dcl per vedere i dati inseriti.

sembra che un passo in avanti è stato fatto.

bb

Scarica allegato:

test1.rar
45,4 KB
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 23 novembre 2010 : 09:01:58  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Intanto non si inchioda come prima!
Almeno il problema codici è risolto...

Puoi allegarmi il dwg dove hai effettuato la prova? Grazie!
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 23 novembre 2010 : 09:32:39  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
Messaggio inserito da Terminator

Intanto non si inchioda come prima!
Almeno il problema codici è risolto...

Puoi allegarmi il dwg dove hai effettuato la prova? Grazie!



Scarica allegato:

TEST5.rar
12,86 KB
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 23 novembre 2010 : 09:34:17  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
scusa ho inserito senza messaggio.....
quello che ti ho allegato è lo stesso su cui ho fatto tutti gli altri test...

ciao
bb


Messaggio inserito da blubossa

<div align="center" id="quote2"><table class="quote"><tr><td class="quotetd"></td></tr><tr><td class="quotetd2"><span class="quotetext">Messaggio inserito da Terminator

Intanto non si inchioda come prima!
Almeno il problema codici è risolto...

Puoi allegarmi il dwg dove hai effettuato la prova? Grazie!

</span></td></tr></table></div align="center" id="quote2">

Scarica allegato:

TEST5.rar
12,86 KB
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 23 novembre 2010 : 11:54:54  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
ho riprovato e nuovamente non funziona!!!!

ecco nuovamente lo stesso risultato:


%
:RR
(ERGR)
N5 G90 G21
N10 G00 G99
N15 M05 M09
N20 T32 M03 M08
N25 S600
N30 F50
N35 G00 Z2
N40 G00 X0 Y0
N45 G01 Z-3
N50 G01; errore: tipo di argomento errato: punto 2D/3D: 0

non riesco a capire cosa succede..........
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 23 novembre 2010 : 12:20:04  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Sto meditando sul programma, spero di farti avere una risposta al più presto...
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 23 novembre 2010 : 14:48:45  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando

Dovrebbe andare (il condizionale è d'obbligo):

Testato su AutoCAD 2011, l'output è lo stesso del file .nc che mi hai inviato. Prova in ogni caso più volte.

Scarica allegato:

test.zip
4,2 KB
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 23 novembre 2010 : 15:22:07  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
ciao Terminator,
ho provato diverse volte e.........sembra davvero funzionare correttamente dico sembra solo perchè vorrei fare altri test.

mi fai capire dov'era l'errore??
aveva ragione GP sul tuo conto
grazie tante...

bb


Messaggio inserito da Terminator


Dovrebbe andare (il condizionale è d'obbligo):

Testato su AutoCAD 2011, l'output è lo stesso del file .nc che mi hai inviato. Prova in ogni caso più volte.

Scarica allegato:

test.zip
4,2 KB
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 23 novembre 2010 : 15:55:35  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Aspetto che tu finisca le prove e dopo ti spiego tutto, non vorrei vendere la pelle dell'orso prima che sia ucciso...
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 23 novembre 2010 : 16:30:29  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
ciao Terminator,
ho continuato a fare diverse prove e pare proprio che l'orso sia morto...........



Messaggio inserito da Terminator

Aspetto che tu finisca le prove e dopo ti spiego tutto, non vorrei vendere la pelle dell'orso prima che sia ucciso...
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 23 novembre 2010 : 18:25:36  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Messaggio inserito da blubossa

...pare proprio che l'orso sia morto...


Scarica allegato:

test.zip
4,23 KB]

Intanto inoltro l'ultima versione del programma dato che se la polilinea è chiusa io posso avere non solo un valore 1 della variabile PLINEGEN, ma anche 129. Avevo il problema che mancava l'ultima riga di testo nel file .nc, quando devo far coincidere il primo vertice con l'ultimo

Come da help in linea:
PLINEGEN - Imposta la modalità di generazione dei modelli di tipo di linea attorno ai vertici di una polilinea 2D.
In parole povere se ho una linea tratteggiata i vertici possono essere non visibili dato che lo "spazio" del tratteggio cade su uno di loro.

Le righe dalla 155 alla 160 riguardano la modifica che dicevo prima (PLINEGEN)

Ma il cuore del programma è tutto nelle righe 181-232.
Intanto bisognava partire dalla variabile vi=1 e non dallo 0 (riga 181). Le righe 183-184 sono state modificate tenendo conto della codifica polilinee cambiata nelle ultime versioni AutoCAD (il famoso codice 91) e quindi aumentando il valore da 4 a 5.
Caso strano, quando c'era il raggio, non venivano considerate le coordinate x e y e quindi il programma stampava solo il raggio (righe 199-207).

In ultimo c'erano queste righe secondo me anomale:
(equal (car p1) (car pp) 0.000001)
(equal (cadr p1) (cadr pp) 0.000001)

invece delle più logiche:
(equal p1 pp 0.000001)
(equal p1 pp 0.000001)

Dato che bisognava confrontare le coordinate dei vertici e non solo le x e le y singole dei vertici.

Spero di essere stato chiaro e mi scuso fin d'ora se la spiegazione è stata un po' farraginosa. Anche in ufficio mi dicono che non so spiegare bene le cose su AutoCAD.



Torna all'inizio della Pagina
Pagina: di 2 Discussione Precedente Discussione Discussione Successiva  
Pagina Successiva
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
TuttoCAD Forum © 2001-2010 CADLandia Torna all'inizio della Pagina
Pagina generata in 8,53 secondi.