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 Precedente
Autore Discussione Precedente Discussione Discussione Successiva
Pagina: di 2

blubossa
Utente Senior



102 Messaggi

Inserito il - 23 novembre 2010 : 22:30:52  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
beh proprio chiaro non è ma domani me lo studio meglio......
scusa, visto che ci sono molte righe da controllare, è possibilè visualizzare le intestazioni di riga nell'editor di visual lisp?

grazie di tutto
bb
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 23 novembre 2010 : 23:19:32  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Meno male che funziona, perché se fosse per la spiegazione...ahi ahi
Torna all'inizio della Pagina

joseph
Utente Master



Regione: Lombardia
Prov.: Cremona
Città: Casalmaggiore


1884 Messaggi

Inserito il - 23 novembre 2010 : 23:34:29  Mostra Profilo Invia a joseph un Messaggio Privato  Rispondi Quotando
Messaggio inserito da blubossa

beh proprio chiaro non è ma domani me lo studio meglio......
scusa, visto che ci sono molte righe da controllare, è possibilè visualizzare le intestazioni di riga nell'editor di visual lisp?

grazie di tutto
bb


Cosa intendi di preciso con "intestazioni di riga"?
Torna all'inizio della Pagina

GM_FEMMINIELLO_*OSO
Nuovo Arrivato




5 Messaggi

Inserito il - 24 novembre 2010 : 07:30:43  Mostra Profilo Invia a GM_FEMMINIELLO_*OSO un Messaggio Privato  Rispondi Quotando
OT x Mauro geom.Giuseppe

Sparcime,
per mancanza di tempo, mi tocca limitare a 1-2 al giorno il numero di secchiate di letame da buttarti in faccia, e che ti donano tanto.

Siccome sei chiuso in un angolo come uno scarrafone coleroso, ti tendo una mano, per l'ennesima volta.

Molla la poltrona di Moderatore, e ti giuro che all'istante verranno rimossi i "complimenti" che hai ricevuto da ieri dall'Araba Fenice...

Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 24 novembre 2010 : 08:16:49  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Credo che blu per "intestazione di riga" intendesse riferirsi al numero di riga visibile in basso a destra
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 24 novembre 2010 : 08:24:11  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
è proprio quel numero, forse sarebbe più comodo vederlo direttamente nell'editor all'inizio di ogni riga, ma credo che non sia possibile....
ciao

Messaggio inserito da Terminator

Credo che blu per "intestazione di riga" intendesse riferirsi al numero di riga visibile in basso a destra
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 24 novembre 2010 : 08:30:23  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Lo puoi vedere se usi altri editor tipo Ultraedit e SciTE tanto per citare due.
Comunque ti faccio una sintesi sperando di essere un po' più chiaro (le modifiche che vedi in rosso sono sul nuovo file che ti ho inviato):

Righe 155-160:
(if (or (= b70 1) (= b70 129))
      (setq b90	(1+ b90)
	    pl	(reverse (cdr (reverse pl)))
	    pl	(append pl (list (car pl) (cadr pl) (caddr pl) (cadddr pl)))
      )
)


Righe 181-189:

(setq vi 1)
  (while (> b90 vi)
   (setq p1  (trans (trans (cdr (nth (* vi 5) pl)) en 0) 0 1)
	 b42 (cdr (nth (- (* vi 5) 2) pl))
	 fb  (if (or (not b42) (zerop b42))
	      (setq b42 nil)
	      b42
	     )
   )


Invece di:
(SETQ vi 0)
    (while (> b90 vi)
      (setq p1	(trans (trans (cdr (nth (* vi 4) pl)) en 0) 0 1)
	    b42	(cdr (nth (+ (* vi 4) 3) pl))
	    fb	(if (or (not b42) (zerop b42))
		  (setq b42 nil)
		  b42
		)
      )


Righe 190-219:

(if fb
    (progn
     (setq a  (distance pp p1)
	   ra (+ (/ a 4 fb) (* 0.25 a fb))
     )
     (if (minusp fb)
      (setq cc " G03")
      (setq cc " G02")
     )
     (gm_w (strcat "\nN" (itoa n) cc))
     (if (not (equal p1 pp 0.000001))
      (gm_w (strcat " X" (rtos (car p1) 2 4)))
     )
     (if (not (equal p1 pp 0.000001))
      (gm_w (strcat " Y" (rtos (cadr p1) 2 4)))
     )
     (gm_w " R")
     (gm_w (rtos (abs ra) 2 4))
    )
    (progn
     (setq cc " G01")
     (gm_w (strcat "\nN" (itoa n) cc))
     (if (not (equal p1 pp 0.000001))
      (gm_w (strcat " X" (rtos (car p1) 2 4)))
     )
     (if (not (equal p1 pp 0.000001))
      (gm_w (strcat " Y" (rtos (cadr p1) 2 4)))
     )
    )
   )

Invece di:

(if fb
	(progn
	  (setq	a  (distance pp p1)
		ra (+ (/ a 4 fb) (* 0.25 a fb))
	  )
	  (if (minusp fb)
	    (setq cc " G03")
	    (setq cc " G02")
	  )
	  ;;;(if (= cp cc)           <-- riga eliminata
	  ;;;  (setq cc "")          <-- riga eliminata
	  ;;;)                       <-- riga eliminata
	  (gm_w (strcat "\nN" (itoa n) cc))
	  (gm_w " R")
	  (gm_w (rtos (abs ra) 2 4))
	)
	(progn
	  (setq cc " G01")
	  ;;;(if (= cp cc)           <-- riga eliminata
	  ;;;  (setq cc "")          <-- riga eliminata
	  ;;;)                       <-- riga eliminata
	  (gm_w (strcat "\nN" (itoa n) cc))
	  (if (not (equal (car p1) (car pp) 0.000001))
	    (gm_w (strcat " X" (rtos (car p1) 2 4)))
	  )
	  (if (not (equal (cadr p1) (cadr pp) 0.000001))
	    (gm_w (strcat " Y" (rtos (cadr p1) 2 4)))
	  )
	)
      )


Dato che abbiamo pure un ex-docente, vale a dire Joseph (una persona che sa il fatto suo tra l'altro, da quel poco che ho potuto capire causa la mia recente "entrata" nel forum), gli chiedo consiglio se questa spiegazione possa andare bene oppure, se fosse possibile, essere più sintetici.

Modificato da - Terminator in data 24 novembre 2010 09:03:19
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 24 novembre 2010 : 08:41:40  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
scusami terminator,
ma sulla versione 2008 di autocad funzionerà il programma?? siccome parli del fatto che autodesk abbia cambiato la codifica della polilinea nelle ultime versioni.....spero proprio di si.

ciao
bb

Messaggio inserito da Terminator

Lo puoi vedere se usi altri editor tipo Ultraedit e SciTE tanto per citare due.
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 24 novembre 2010 : 09:06:27  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Non vorrei sbagliarmi ma mi sembra che la codifica nuova sia stata introdotta con la 2008, infatti il programma non gira sulla 2007. Ad ogni modo se mi dai un po' di tempo posso fare in modo che il programma sia gestibile su tutte le versioni di AutoCAD, basta inserire un if a seconda delle versioni e il codice sarà cambiato da 4 a 5.

Per esempio si potrebbe usare una piccola routine di questo tipo:
(defun codpoli (/ numvertice)
 (if (>= (atoi (substr (ver) 13 4)) 2008)
  (setq numvertice 5)
  (setq numvertice 4)
 )
)


Ad ogni modo ho preparato l'ultima release del programma che funziona su tutte le versioni di AutoCAD:

Scarica allegato:

test.zip
4,29 KB

Dato che non ho la possibilità di verificare se la versione 2008 ha la nuova codifica delle polilinee basta modificare il numero scritto in rosso:

(if (>= (atoi (substr (ver) 13 4)) 2008) <-- dalla versione scritta parte la nuova codifica
  (progn
   (setq intervallovertici
			    5
	 intervallocodice42 2
   )
  )
  (progn
   (setq intervallovertici
			    4
	 intervallocodice42 1
   )
  )
 )


Queste righe di programma si trovano proprio in cima.

Modificato da - Terminator in data 25 novembre 2010 10:35:15
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 25 novembre 2010 : 12:23:08  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
ciao Terminator,
grazie della tua tempestività e della tua disponibilità, appena posso faccio la prova sia con la 2008 che con la 2005.

ho provato a fare il test di quello indicato da joseph ma con la polilinea continua a non funzionare nonostante l'abbia provato sulla 2005 di AutoCad.

Era giusto per completezza di informazione.

ciao
bb
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 25 novembre 2010 : 13:08:14  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
ciao Terminator,
ho fatto il test sulla versione 2008 dell'ultima versione che hai fatto del programma e non funziona, oggi proverò sulla versione 2005 di autocad.

Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 25 novembre 2010 : 13:09:33  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Io sto provando il programma sia sulla 2011 che sulla 2007, tutto a posto. Mi sembra così strano che ancora ti dà qualche problema...
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 25 novembre 2010 : 14:05:26  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Ho avuto la possibilità di verificare il programma pure sulla versione 2008 e ho visto che in effetti esiste ancora la vecchia codifica delle polilinee senza il famigerato codice 91, quindi il programma funziona, però bisogna effettuare la modifica indicata nel mio post precedente (sostituire 2008 con 2009). Un'altra possibilità potrebbe essere quella di sfruttare le funzioni vlax-curve..., per farla in barba alle varie versioni di AutoCAD, ma questo comporterebbe la riscrittura di parte del programma.
Più di questo non so proprio cosa fare...

Modificato da - Terminator in data 25 novembre 2010 14:20:44
Torna all'inizio della Pagina

blubossa
Utente Senior



102 Messaggi

Inserito il - 25 novembre 2010 : 14:51:07  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
scusa, ma io il test sulla versione 2008 l'ho fatto proprio con la routine in cui hai inserito la parte del codice riferita alla versione ed è proprio questa che non funziona, ma da quello che ho capito dovrei inserire nel codice 2009, per fare il test sulla 2008??
spero di essere stato chiaro tutte queste versioni mi stanno rinc....

ciao e grazie
bb


Messaggio inserito da Terminator

Ho avuto la possibilità di verificare il programma pure sulla versione 2008 e ho visto che in effetti esiste ancora la vecchia codifica delle polilinee senza il famigerato codice 91, quindi il programma funziona, però bisogna effettuare la modifica indicata nel mio post precedente (sostituire 2008 con 2009). Un'altra possibilità potrebbe essere quella di sfruttare le funzioni vlax-curve..., per farla in barba alle varie versioni di AutoCAD, ma questo comporterebbe la riscrittura di parte del programma.
Più di questo non so proprio cosa fare...
Torna all'inizio della Pagina

Terminator
Utente Master



725 Messaggi

Inserito il - 25 novembre 2010 : 14:56:13  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Butta via tutto e usa questo:

Scarica allegato:

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

blubossa
Utente Senior



102 Messaggi

Inserito il - 25 novembre 2010 : 15:20:43  Mostra Profilo Invia a blubossa un Messaggio Privato  Rispondi Quotando
cambiando l'ordine dei progn all'interno dell'if il programma sembra funzionare correttamente....testato sia sulla 2005 che sulla 2008

ciao


Messaggio inserito da Terminator

Butta via tutto e usa questo:

Scarica allegato:

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

Terminator
Utente Master



725 Messaggi

Inserito il - 25 novembre 2010 : 15:56:40  Mostra Profilo Invia a Terminator un Messaggio Privato  Rispondi Quotando
Messaggio inserito da blubossa

cambiando l'ordine dei progn all'interno dell'if il programma sembra funzionare correttamente....testato sia sulla 2005 che sulla 2008


Bene! Tu comunque usa l'ultima versione che ti ho inviato, la versione 2008 usava ancora la vecchia codifica, non vorrei che ci siano problemi con versioni successive.
Torna all'inizio della Pagina
Pagina: di 2 Discussione Precedente Discussione Discussione Successiva  
Pagina Precedente
 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 2,45 secondi.