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"))
|