Autore |
Discussione  |
blubossa
Utente Senior
102 Messaggi |
Inserito il - 23 novembre 2010 : 22:30:52
|
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 |
 |
|
Terminator
Utente Master
725 Messaggi |
Inserito il - 23 novembre 2010 : 23:19:32
|
Meno male che funziona, perché se fosse per la spiegazione...ahi ahi  |
 |
|
joseph
Utente Master

Regione: Lombardia
Prov.: Cremona
Città: Casalmaggiore
1884 Messaggi |
Inserito il - 23 novembre 2010 : 23:34:29
|
| 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"? |
 |
|
GM_FEMMINIELLO_*OSO
Nuovo Arrivato

5 Messaggi |
Inserito il - 24 novembre 2010 : 07:30:43
|
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...
 |
 |
|
Terminator
Utente Master
725 Messaggi |
Inserito il - 24 novembre 2010 : 08:16:49
|
Credo che blu per "intestazione di riga" intendesse riferirsi al numero di riga visibile in basso a destra |
 |
|
blubossa
Utente Senior
102 Messaggi |
Inserito il - 24 novembre 2010 : 08:24:11
|
è 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
|
|
 |
|
Terminator
Utente Master
725 Messaggi |
Inserito il - 24 novembre 2010 : 08:30:23
|
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 |
 |
|
blubossa
Utente Senior
102 Messaggi |
Inserito il - 24 novembre 2010 : 08:41:40
|
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.
|
|
 |
|
Terminator
Utente Master
725 Messaggi |
Inserito il - 24 novembre 2010 : 09:06:27
|
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 |
 |
|
blubossa
Utente Senior
102 Messaggi |
Inserito il - 25 novembre 2010 : 12:23:08
|
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 |
 |
|
blubossa
Utente Senior
102 Messaggi |
Inserito il - 25 novembre 2010 : 13:08:14
|
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.
|
 |
|
Terminator
Utente Master
725 Messaggi |
Inserito il - 25 novembre 2010 : 13:09:33
|
Io sto provando il programma sia sulla 2011 che sulla 2007, tutto a posto. Mi sembra così strano che ancora ti dà qualche problema... |
 |
|
Terminator
Utente Master
725 Messaggi |
Inserito il - 25 novembre 2010 : 14:05:26
|
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 |
 |
|
blubossa
Utente Senior
102 Messaggi |
Inserito il - 25 novembre 2010 : 14:51:07
|
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...
|
|
 |
|
Terminator
Utente Master
725 Messaggi |
Inserito il - 25 novembre 2010 : 14:56:13
|
Butta via tutto e usa questo:
Scarica allegato:
test.zip 4,28 KB |
 |
|
blubossa
Utente Senior
102 Messaggi |
Inserito il - 25 novembre 2010 : 15:20:43
|
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
|
|
 |
|
Terminator
Utente Master
725 Messaggi |
Inserito il - 25 novembre 2010 : 15:56:40
|
| 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. |
 |
|
Discussione  |
|