davide MILANO : [post n° 35263]

AIUTO!!! - ASPIRANTE IN DIFFICOLTA'!

Devo modificare circa 1800 disegni con Autocad 2000 LT. Devo cambiare ad un testo (lineare) il colore (da Magenta e Layer, e viceversa) e Stile di testo. E' possibile creare una macro (a combinazione tasti o bottone) per evitare di entrare ogni volta nel menù proprietà e fare queste modifiche???
Ciao e grazie a tutti,
davide
delli :
se usi il filtro? non credo che ci metti molto più che caricare una macro...

x raf: mi ricordo di una lisp in autocad R12 che diceva tipo: chtext (cambia testo) e selezionava tutti i testi cambiando le varie proprietà... ma non credo che sia comunque più veloce che usare un filtro per ogni file

insomma... mi sa che è comunque un lavoraccio davide

bye bye
davide MILANO :
Macro non ne ho mai usate, quindi non pensavo di doverle caricare per ogni disegno...tieni presente che ogni disegno è la base di partenza di quello successivo (li creo io man mano) e il filtro non mi serve in quanto modifico (inverto le proprietà) di solo due testi, evidenziando uno e disevidenziando l'altro...graziegraziegrazie!
davide
gg :
c'è bisogno di uno script, ma non può mai funzionare con LT. che non accetta AutoLISP.
lo script è di questo tipo:
Supponiamo che il nuovo stile di testo si chiami "peppe" e il nuovo colore sia ciano (4).

crea sul desktop un nuovo documento di testo e lo chiami: cambiatesto.lsp
cliccaci due volte sopra e ti si apre il blocco note.
ci copi dentro:

(defun c:cambiatesto ()
(setq nuovocolore 4)
(setq nuovostile "peppe")
(setq e (entsel))
(setq get (entget (car e)))
(setq get (subst (cons 7 nuovostile) (assoc 7 get) get))
(setq get (subst (cons 62 nuovocolore) (assoc 62 get) get))
(entmod get)
)

salva e chiudi.
apri il tuo AutoCAD (normale, non LT)
carica il file lisp che hai creato prima (comando _appload, selezioni il file, premi su "load", e poi su "close").
dalla riga di comando chiami il comando:
Command: CAMBIATESTO
selezioni l'oggetto (il testo da modificare)
e lui fa il resto.

se il colore deve essere BYBLOCK
devi sostituire la seconda riga con:
(setq nuovocolore 0)

se il colore deve essere BYLAYER
devi sostituire la seconda riga con:
(setq nuovocolore 256)

in bocca al pupo.
raf :
prendendo come riferimento l'esempio di gg,
ti crei un pulsante e gli inserisci qesta riga

^C^CTEXTSTYLE;peppe;_CHPROP;\;_C;4;;
raf :
la macro sopra modificava solo il colore,
questa modifica anche lo stile in peppe

^C^CTEXTSTYLE;peppe;_CHPROP;\;_C;6;;_CHANGE;_P;;;;peppe;;;;
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.