Newsgroup: it.comp.software.cad
Titolo: Personalizzare AutoCAD

Qualcuno è in grado di spiegarmi come personalizzare un comando di
AutoCAD in modo che dopo il mio primo input esegua l'opzione che io
desidero? Per esempio voglio farmi un tasto per il rotate - reference,
quindi per evitare di dovere digitare R dopo avere selezionato gli
oggetti da ruotare. In sintesi, mi interessa avere qualche spiegazione
sulla sintassi da inserire nel comando personalizzato...
Grazie  :))
Ciao ciao.
--
Gabriele Pranzo-Zaccaria   architetto
gabri...@tiscalinet.it
  ICQ 77540493
http://members.tripod.it/LightWorks/gabripranzo/gpranzo.htm

 wrote in message
qotuus079r8gv04ce...@4ax.com...


Per il rotate - R puoi usare direttamente il comando align (allinea)
Grazie, ma č cmq un po' macchinoso. Io vorrei un rotate in cui
seleiono il centro di rotazione, il punto di riferimento, poi muovo il
mouse e l'oggetto mi segue fino a quando clicco nella posizione
giusta... (v. rotate di quasi tutti gli altri programmi, da Rhino in
avanti).


Grazie  :))
Cacchio, Gabriele, lo sai che queste cose puoi chiedermele in e-mail!
Beh, andiamo al sodo, con uan piccola lezioncina che può essere utile
a tutti.
Un modo semplice per mettere un comando con una determinata opzione, è
quello di mettere una voce di menu nel menu corrente, io ricorro
spesso a trucchi del genere per farmi dei comandi che uso spesso.
Allora veniamo al problema che ha Gabriele:
[--]
ID_Move
[Mo&ve]$M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),GRIP),_move,^C^C_move)
ID_Rotate
[&Rotate]$M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),GRIP),_rotate,^C^C_rotate)
ID_Scale
[Sca&le]$M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),GRIP),_scale,^C^C_scale)
ID_Stretch
[Stretc&h]$M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),GRIP),_stretch,^C^C_stretch)
ID_Lengthen  [Len&gthen]^C^C_lengthen
[--]
Questa sopra è la parte di menu Modify (Modifica) che ha il comando
rotate nel file ACAD.MNU che appunto è il file che si occupa dei menu.
Analizziamo prima le varie parti dell'istruzione.
[--]
serve per inserire una separazioen orizzontale nel menu.
ID_Move
è il codice di identificazione univoco del comando in tutto il fiel di
menu,
[Mo&ve]
è il testo del comando che uscirà scritto. la & prima della V fa si
che questa lettera sarà quella che da tastiera si può premere per
selzionare velocemnete il coamndo dal menu (insieme a CTRL ovviamente)
$M=$(if,$(eq,$(substr,$(getvar,cmdnames),1,4),GRIP),_move,
Sono uan serie cdi comandi che non stiamo qui a commentare perchè
servono principalmente per gestire al meglio i possibili errori
(principalmente si occupano di come comportarsi se c'è già selezionato
un oggetto, ossia per la selezione nome-verbo), noi li trascureremo.
^C^C_move
^C sta per una pressione sul tasto ESC. Viene usato per uscire da
qualche comando già in uso, viene fatto due volte perchè alcuni
comandi per uscirne bisogna premere due volte ESC
_move è il comando vero è proprio.
Dunque, dopo questa lezioncina didattica come possiamo applicare
quanto appreso per risolvere il problema di Gabriele?
Basta aggiungere una nuova voce:
ID_RuotaPers [Ru&ota]^C^C_rotate;\\\_r;
il ; dopo raotate serve per dare invio, la \ per attendere un input
dell'utente, la prima serve per la selezione, la seconda quando da
l'invio (o tast destro)m, la terza per il punto centrale della
rotazion, e poi dà l'opzione _r (reference) dando invio dopo (;).
Sperando di essere stato d'aiuto.
Per avere ulteriori ragguagli potete vedere un tutorial su CADLandia
(è nella sezioen Articoli su AutoLisp) che insegna a crearvi i vostri
menu personalizzati) e se avete ancroa altre domande, inviatemele in
e-mail.
Dimenticavo il file MNU così modificato deve essere poi ricompilatoe
caricato in AutoCAD, trovate tutte le istruzioni sul tutorial su
CADLandia.
 --
Aniello Annunziata
Webmaster di CADLandia
aniello.a...@cadlandia.com
www.cadlandia.com

ID_RuotaPers [Ru&ota]^C^C_rotate;\\\_r;
Ora mi studierò bene la tua lezioncina. Però ieri sera sono arrivato
alla stessa conclusione dopo avere dato un'occhiata all'help in linea
a proposito della sintassi dei comandi  :))
Ovviamente non ce l'ho fatta al primo colpo, ma dopo qualche
tentativo...
