LISP

messaggio inserito martedì 15 giugno 2004 da Unico

[post n° 23007]

LISP

Io avrei il seguente problema irrisolto, nonostante qualche esperienza di creazione script.
Partendo da un disegno (es. cartografia) su un unico layer avrei bisogno di spostare su layer nuovi, creandoli quindi, tutti gli oggetti presenti raggruppandoli per colore.
Mi spiego : linee colore rosso da layer 0 a layer 1, linee colore giallo da layer 0 a layer 2, e così via......
Ho fatto qualche tentivo su piccoli disegni tutto ok, ma quando lavoro con cartografie da 5-6 mega va tutto a farsi benedire. Qualche help?
:
ciao, se ti può essere di supporto io non ho mai trovato una soluzione speriamo in qualcuno.
:
prova ad utilizzare la selezione rapida, la trovi nel pannello delle proprietà oggetto, (icona con imbuto e saetta), ti consente di selezionare rapidamente gli oggetti per colore, layer, tipo di oggetto, etc..).
:
con Notepad copiate il contenuto dalla prima parentesi all'ultima in un file e gli date l' estensione .LSP

una volta caricato in AutoCAD il comando è COL
---------------------------------------------------------

(DEFUN C:COL()(setvar"cmdecho"0)(setq NC 1)(repeat 255
(setq LIS(list(cons 62 NC))OLA(ssget "X" LIS)TN(ITOA NC))
(if OLA(progn(command"-layer""_n"TN"")
(command"_change"OLA"""_p""_la"TN"")))
(setq NC(1+ NC) per(/ (* NC 100) 255)per(rtos per 2 0)
perc(strcat "\rPercentuale: " per "%"))
(prompt perc))(setvar"cmdecho"1)(princ))
:
ho fatto come dettomi, inizia il comando mi calcola una percentuale fino a 100% i poi torna in comando:
non capisco cosa sbaglio. ciao andrea
:
dovresti ritrovarti i layer numerati contenenti i rispettivi oggetti colorati (come da richiesta di Unico)
ciao
:
in sostanza se parti da un dwg con solo il layer 0 contenente 255 oggetti con colori da 1 a 255, ti ritroverai 255 layer contenente ognuno il rispettivo oggetto colorato.
Il lisp è veloce e quindi come prima impressione sembra che non sia successo nulla.
Il messaggio 100 % è esatto e significa che l'operazione è conclusa
:
Grazie milla ciao andrea
:
e buon lavoro
Avvisami quando qualcuno risponde
Non mandarmi più avvisi

Se vuoi essere avvisato quando qualcuno interviene in questa discussione, indica un nome e il tuo indirizzo e-mail.