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
 Creazione automatica di elenco vie cittadine

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Faccine
Felice [:)] Davvero Felice [:D] Caldo [8D] Imbarazzato [:I]
Goloso [:P] Diavoletto [):] Occhiolino [;)] Clown [:o)]
Occhio Nero [B)] Palla Otto [8] Infelice [:(] Compiaciuto [8)]
Scioccato [:0] Arrabbiato [:(!] Morto [xx(] Assonnato [|)]
Bacio [:X] Approvazione [^] Disapprovazione [V] Domanda [?]
Seleziona altre faccine

    
 
   

V I S U A L I Z Z A    D I S C U S S I O N E
n/a Inserito il - 08 novembre 2010 : 13:56:49
Dato che e' apparsa una nuova stella nel firmamento Cadlandia (alludo a Terminator, degno erede di GP) provo a buttare li' un problema irrisolto qua in ditta, e chissa' mai che il miracolo avvenga.

Supponiamo di avere questa strada disegnata in rosso.

Se clicco su di essa, fra le sue proprieta' mi appare il nome della via.

Ora, si tratta di creare un classico elenco alfabetico delle strade, tipo:

...
Terminator's Street A1-F2
...

operazione che noi facciamo a mano, strada dopo strada, definendo per ognuna il quadrante d'arrivo e quello di partenza.

Grazie in anticipo per l'attenzione!
20   U L T I M E    R I S P O S T E    (in alto le più recenti)
Terminator Inserito il - 10 novembre 2010 : 14:07:33
Messaggio inserito da antoniovinci

Caro furlano,
debbo conoscerti di persona, perche' mandarti una damigiana di vodka via UPS mi costerebbe 1 mese di stipendio da statale polacco.


De nada, fa sempre piacere quando qualcuno apprezza i programmi creati. Devo dire che è stato piuttosto divertente sbizzarrirsi con questo programma

n/a Inserito il - 10 novembre 2010 : 13:18:02
Caro furlano,
debbo conoscerti di persona, perche' mandarti una damigiana di vodka via UPS mi costerebbe 1 mese di stipendio da statale polacco.

Per stressare il tuo programma, gli ho dato un array da piu' di 32000 poly: ebbene, m'ha sfornato il TXT in meno di 2 minuti, senza parole...



Terminator Inserito il - 10 novembre 2010 : 10:32:40
Messaggio inserito da antoniovinci

Peraltro l'alfabeto ha 26 lettere, quindi manca la colonna Kappa.



Ho commesso un tragico errore: manca appunto la "K". Basta che l'aggiungi alla variabile listalettere

(setq listalettere
'("A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X"
"Y" "Z")
)

Una volta esaurita la lista delle lettere, dopo la Z non c'era più nulla e quindi il programma andava in crash
Certo che se mi dimentico le lettere...

Chiedo perdono!
n/a Inserito il - 10 novembre 2010 : 09:28:47
Sempre meglio, ma guarda qua e prova tu stesso.

E' una rete 26x15 a maglie rettangolari: dando STAMPAVIE rispetto alla strada rossa, ottengo

error: bad argument type: stringp nil

Peraltro l'alfabeto ha 26 lettere, quindi manca la colonna Kappa.

Grazie
Terminator Inserito il - 10 novembre 2010 : 08:39:18
Basta che inserisci le righe in rosso al programma STAMPAVIE in questa posizione:

(princ
"\n************************************************by Terminator***"
filetesto
)
(princ "\n" filetesto)

(setq index 0)
(repeat (sslength grupoli)
(setq poly (ssname grupoli index)
vlpoly (vlax-ename->vla-object poly)
P10poli (vlax-curve-getStartpoint vlpoly)
P11poli (vlax-curve-getEndpoint vlpoly)
nomevia (cdr (assoc 5 (entget poly)))
)


(if (> (car P10poli) (car P11poli))
(setq Pxpoli P11poli
P11poli P10poli
P10poli Pxpoli
)
)


(setq numerolettera
0
numerodivhor
1
numerodivver
1
)


No, per fortuna non soffro d'insonnia. Al mattino mi alzo presto per andare a lavorare (40 km da casa) e il passaggio al PC in studio è d'obbligo...
n/a Inserito il - 10 novembre 2010 : 07:42:58
Messaggio inserito da Terminator
Adesso il programma è alla versione delta


Manca poco per arrivare all'omega...

Guarda questo bug: due polilinee che iniziano e terminano nei medesimi quadranti, ma che danno coordinate opposte nel TXT.

Questo perche' una pline e' stata disegnata da sx a dx, e l'altra da dx a sx: potresti fare in modo che la routine controlli la posizione reciproca dei 2 estremi, e crei quindi le coordinate sempre da A verso Z..?

La damigiana e' ormai piena, sto cercando il tappo.

Giuseppe Mauro Inserito il - 10 novembre 2010 : 06:56:36
Anto'.. gli devi fare una statua d'oro a sto ragazzo
Mado' Termi.. alle 5:54 scrivi.. waglio' ma soffri di insonnia?

Comunque grazie a nome di tutto il forum
Terminator Inserito il - 10 novembre 2010 : 05:54:53
Adesso il programma è alla versione delta, griglia elastica A-Z e numeri infiniti. Fammi sapere se funziona tutto a dovere.


Al prossimo lisp



Scarica allegato:

stradario3.zip
1,76 KB
Terminator Inserito il - 09 novembre 2010 : 13:46:57
Messaggio inserito da antoniovinci

Senza fretta, cerca di rendere elastica la definizione della maglia, con le colonne che possono andare da A a Z, e le righe da 1 ad infinito.


Ma che devi disegnare? L'area di San Francisco-Oakland e Los Angeles tutte insieme?
n/a Inserito il - 09 novembre 2010 : 13:28:38
Terminator,
ti giuro che mi sto commuovendo, e la cosa non capita spesso...

Prima di tradurre in polacco il T-miracolo per la mia obesa capessa, manca una cosa, la piu' importante: sei pronto?

La suddivisione A1-G5 e' troppo rigida, sa troppo di "caso particolare".

Senza fretta, cerca di rendere elastica la definizione della maglia, con le colonne che possono andare da A a Z, e le righe da 1 ad infinito.

Terminator Inserito il - 09 novembre 2010 : 13:14:58
Messaggio inserito da antoniovinci

Va bene, aspetto golosamente la versione che esporta verso TXT.

Ti annuncio che la damigiana e' mezza piena...




Ecco fatto!
Devo ancora migliorare quella griglia, se in futuro bisogna aggiungere altre caselle


Scarica allegato:

stradario2.zip
1,83 KB
n/a Inserito il - 09 novembre 2010 : 12:35:22
Va bene, aspetto golosamente la versione che esporta verso TXT.

Ti annuncio che la damigiana e' mezza piena...

Terminator Inserito il - 09 novembre 2010 : 12:28:12
Messaggio inserito da antoniovinci

Ok, sei sulla... via giusta.

Primo problema: avendo 100 strade, devo lanciare 100 volte il comando STAMPAVIE..?

In altre parole, e' possibile generare la lista "Handle Qp-Qa" ciclando automaticamente su TUTTE le polilinee selezionate?

Gli altri problemi dopo, per ora grazie!



Evidentemente no, questa versione ALFA del programma doveva solo essere una prova per verificare se i dati che erano visualizzati a video erano giusti. Ora devo solo usare una funzione repeat e fare in modo che il tutto venga sparato in un file txt.
n/a Inserito il - 09 novembre 2010 : 11:29:20
Ok, sei sulla... via giusta.

Primo problema: avendo 100 strade, devo lanciare 100 volte il comando STAMPAVIE..?

In altre parole, e' possibile generare la lista "Handle Qp-Qa" ciclando automaticamente su TUTTE le polilinee selezionate?

Gli altri problemi dopo, per ora grazie!

Terminator Inserito il - 09 novembre 2010 : 11:11:20


Scarica allegato:

stradario2.zip
1,66 KB
arri Inserito il - 09 novembre 2010 : 10:34:06
Messaggio inserito da Terminator

Nel caso qualcuno di noi non avesse installato gli express tools (cosa piuttosto improbabile), per buona misura ho preparato l'alternativa...


hai fatto bene

P.S.

se hai sottomano un lisp per eliminare gli XDATA sarebbe utile
n/a Inserito il - 09 novembre 2010 : 10:28:08
Mi e' venuta un'idea per semplificarti la vita, grande T.

Lascia stare i nomi delle vie, cioe' fai finta che non siano strade, ma polilinee stupide senza alcuna proprieta' estesa.

Prova a darmi un elenco tipo "HANDLE quadrante_partenza-quadrante_arrivo" ove "Handle" si deduce da qua.

Nell'esempio del DWG con la strada rossa, sarebbe quindi:

453 A1-F2

A collegare gli handles ai nomi delle vie ci penso poi io in Access, per ora mi basterebbe questo.

Grazie ancora, sto preparando la damigiana di vodka.





Terminator Inserito il - 09 novembre 2010 : 10:27:45
Nel caso qualcuno di noi non avesse installato gli express tools (cosa piuttosto improbabile), per buona misura ho preparato l'alternativa...
arri Inserito il - 09 novembre 2010 : 10:05:39
Messaggio inserito da Terminator

Piccola utility per verificare se esistono dati estesi e il nome dell'applicazione associata:

(defun C:VER3 ()
(setq ent (car (entsel "\nSelezionare entità: "))
datiestesi (assoc -3 (entget ent '("*")))
)

(if datiestesi
(setq listadatiestesi (cadr datiestesi))
(alert "Non è presente nessun dato esteso")
)

)

Dovrebbe venire fuori una descrizione di questo tipo:
("NOMEAPPLICAZIONE" (1000 . "TERMINATOR'S STREET"))


oppure xdlist degli Express tools
Terminator Inserito il - 09 novembre 2010 : 09:59:22
Piccola utility per verificare se esistono dati estesi e il nome dell'applicazione associata:

(defun C:VER3 ()
(setq ent (car (entsel "\nSelezionare entità: "))
datiestesi (assoc -3 (entget ent '("*")))
)

(if datiestesi
(setq listadatiestesi (cadr datiestesi))
(alert "Non è presente nessun dato esteso")
)

)

Dovrebbe venire fuori una descrizione di questo tipo:
("NOMEAPPLICAZIONE" (1000 . "TERMINATOR'S STREET"))

TuttoCAD Forum © 2001-2010 CADLandia Torna all'inizio della Pagina
Pagina generata in 0,21 secondi.