Accendere più layer con un pulsante

zintonio

Utente Junior
professione: Ingegnere elettrico
software: AutoCAD 2008, VB
regione: Abruzzo
Salve,
Ho bisogno di un aiuto a creare una lisp che mi consente di accendere un layer e spegnere tutti gli altri. Faccio un esempio cosi da essere più chiaro:

premendo il tasto 5 della tastiera mi si deve accendere il layer B5,T5 e G5 e quindi spegnere tutti gli altri layer.
Quindi premendo il tasto 3 si devono accendere B3,T3 e G3 e così via.

Spero di essere stato chiaro
Grazie in anticipo
 

rpor66

Utente Standard
professione: Programmatore
software: Lisp, Vba per Autocad, BricsCad e GstarCAD, CadWorx
regione: Sicilia
il comando in lisp (IsolaP num) opera nel seguente modo:
(IsolaP 1) crea i layer B1 T1 G1, rende attivo B1 e spegne il resto.
(IsolaP 2) crea i layer B2 T2 G2, rende attivo B2 e spegne il resto, etc...

(IsolaP 0) accende tutti i layer.

E mi fermo qua.

Per quello che riguarda l'assegnazione dei tasti, puoi associare il comando ad una sequenza di tasti Control+1, Control+2 etc., oppure Alt+1, Alt+2 etc.
Puoi anche crearti una toolbar e associare il comando.

Per questo apri una nuova discussione, se non sei in grado di farlo, ovviamente.

Ciao
 

Allegati

  • IsolaPianoBTG.LSP
    481 bytes · Views : 47

zintonio

Utente Junior
professione: Ingegnere elettrico
software: AutoCAD 2008, VB
regione: Abruzzo
Grazie Rpor66
E' esattamente quello che intendevo. Come cedo la lisp accende i layer BTG e spegne il resto. Se voglio congelare e scongelare al posto di _on devo utilizzare il comando _G e _SC giusto?

Ora provo ad associare a una sequenza di pulsanti la lisp. Se non riesco o trovo problemi apro una nuova discussione.

Grazie ancora
saluti
 

rpor66

Utente Standard
professione: Programmatore
software: Lisp, Vba per Autocad, BricsCad e GstarCAD, CadWorx
regione: Sicilia
[?/Make/Set/New/Rename/ON/OFF/Color/Ltype/LWeight/MATerial/Plot/Freeze/Thaw/LOck/Unlock/stAte/Description/rEconcile]

Questi sono i comandi che puoi utilizzare con il comando _layer.
Nel tuo caso per congelare/scongelare usa _F (congela) e _T (scongela).

Ciao
 

zintonio

Utente Junior
professione: Ingegnere elettrico
software: AutoCAD 2008, VB
regione: Abruzzo
OK!

Da come sto notando, se devo assegnare una sequenza di pulsanti al comando (isolap 1 ecc) devo creare tante assegnazioni quanti sono i layer. Nel senso, che se ho layer fino a B18 T18 E G18, per vedere ciascun layer devo creare 18 sequenze di tasti. Esiste un metodo per evitare di fare ciò. Oppure qualche comando che usa il numero che inserisco nel comando (es. CTRL+1, usa l'1 per accendere B1, T1, G1)

Spero di essere stato chiaro, Grazie.
 

rpor66

Utente Standard
professione: Programmatore
software: Lisp, Vba per Autocad, BricsCad e GstarCAD, CadWorx
regione: Sicilia
(isolaP (getint "\nNum:"))

Bye
 

zintonio

Utente Junior
professione: Ingegnere elettrico
software: AutoCAD 2008, VB
regione: Abruzzo
Ok!

Ho provato ad associare ad una sequenza di pulanti il seguente codice:
^C^C(isolaP (getint "\nNum:"))

Ma non và...nel senso che devo cliccare 2 volte su invio per far partire la lisp.

Sbaglio qualcosa?
 

zintonio

Utente Junior
professione: Ingegnere elettrico
software: AutoCAD 2008, VB
regione: Abruzzo
ho risolto! mettendo set num getint ("Num:") nel listato e ho associato alla sequenza il comando ^C^C_isolaP.

Volevo chiedere se è possibile scorrere i layer con i pulsanti freccia su/giù o con i pulsanti page up o page down. Se è possibile mi potreste dare una dritta?

Grazie
 

rpor66

Utente Standard
professione: Programmatore
software: Lisp, Vba per Autocad, BricsCad e GstarCAD, CadWorx
regione: Sicilia
inserisci uno spazio dopo l'ultima parentesi, equivale ad 1 invio
 

Statistiche forum

Discussioni
59,421
Messaggi
506,186
Utenti registrati
111,235
Ultimo utente registrato
Archisilone6

Utenti online

Top