UNO.1. INTRODUCCIÓN
Un menú de AutoCAD es una secuencia de órdenes del programa agrupadas en un archivo de texto que podemos visualizar con cualquier editor ASCII. Los archivos de menú, en principio, tienen la extensión .MNU, además existen otros que ya se comentarán más adelante. El archivo de menús que proporciona AutoCAD es el llamado ACAD.MNU, que se encuentra en el directorio \SUPPORT\ del programa. En él residen todas las definiciones necesarias para el funcionamiento de los menús desplegables de AutoCAD, de las barras de herramientas, el menú de pantalla, los botones del ratón (o los del dispositivo señalador correspondiente), menús de imágenes, textos auxiliares de ayuda y algunas teclas rápidas. Este menú es susceptible de ser editado y alterado al gusto, así como también tenemos la posibilidad de crear nuestros propios menús personalizados para AutoCAD.
La mejor forma de aprender cómo funcionan estos menús es recurriendo al ya proporcionado por Autodesk es su programa estrella. Para ello, únicamente debemos abrir ACAD.MNU, como ya se ha dicho con cualquier editor ASCII. Recordemos que se encuentra en el directorio \SUPPORT\ de AutoCAD 14.
UNO.2. EL ARCHIVO ACAD.MNU
Como podemos apreciar, lo primero que nos encontramos en este archivo de menú, es una serie de líneas en las que Autodesk explica la forma de proveer este archivo y que es posible modificarlo a nuestro gusto. Generalmente, este texto estará escrito en inglés. Pero fijémonos en los dos primeros caracteres impresos en cada línea (//). Estos dos caracteres de barra seguidos indican que lo que viene a continuación es un texto explicativo o una aclaración que no debe ser procesada por AutoCAD. Todo lo que se escriba tras // será ignorado por el programa. Además, también podemos introducir líneas blancas completas para separar sin que AutoCAD interprete nada en ellas. Pero ojo, no deberemos abusar de ello ya que, en estas explicaciones entre secciones no significan nada, pero más adelante, bajo cada sección, pueden significar mucho. Es decir, abusar si se quiere, pero con control de dónde. Deberemos tener también en cuenta que un alto contenido de explicaciones o líneas blancas aumentará el tamaño del fichero y, por lo tanto, el tiempo empleado por AutoCAD para procesarlo.
La primera línea que, podríamos decir, tiene sentido para AutoCAD es la que dice ***MENUGROUP=ACAD. Los caracteres *** son indicativo de categoría sección. Un archivo .MNU de AutoCAD puede tener hasta 31 secciones distintas. Los 31 nombres que adoptan esta serie de secciones son normalizados y no pueden alterarse. Cada uno de ellos hace referencia a un dispositivo y debe ocupar una sola línea en el archivo.
Concretamente, este ***MENUGROUP= especifica el nombre de grupo de archivos de menú, en este caso ACAD (nombre del archivo). Este nombre es una cadena de 32 caracteres como máximo y que no puede contener ni espacios ni signos de puntuación. Su nombre no ha de coincidir obligatoriamente con el nombre del archivo que lo contiene, pero es conveniente para evitar fallos o equivocaciones por nuestra parte.
UNO.2.1. Las secciones ***BUTTONS y ***AUX
Las cuatro secciones siguientes, desde ***BUTTONS1 hasta ***BUTTONS4, definen la actuación de los pulsadores del dispositivo señalador de AutoCAD (ratón, lápiz óptico o digitalizador de tableta). Concretamente ***BUTTONS1 define el modo de actuar de todos los botones del dispositivo. Bajo esta sección se escribe una línea por cada botón configurado, además de la acción que debe realizar al ser pulsado. Esto a partir del segundo pulsador, ya que el primero es reservado para la entrada de datos y elección de órdenes y es el pulsador principal por defecto del sistema. Esto nos lleva a pensar que, en el caso de un dispositivo tipo lápiz digitalizador, el cual sólo posee un pulsador, todas las demás definiciones de botones serán ignoradas.
Lo demás que encontramos bajo esta sección son las referencias a submenús o a alias necesarias para que los pulsadores funcionen. Estas referencias serán explicadas más adelante. Por lo general, esta sección de ***BUTTONS1 en concreto, y también las siguientes secciones ***BUTTONS, no han de ser modificadas por el usuario, ya que puede ser molesto tener que acostumbrarse a un nuevo juego con los pulsadores diferente al actual.
***BUTTONS2 a ***BUTTONS4, por su lado, especifican la acción combinada de ciertas teclas con los pulsadores del dispositivo. Concretamente sus definiciones son las siguientes:
***BUTTONS2 ------> SHIFT + botón
***BUTTONS3 ------> CTRL + botón
***BUTTONS4 ------> CTRL + SHIFT + botón
Las secciones siguientes que nos encontramos en ACAD.MNU son las cuatro que van desde ***AUX1 hasta ***AUX4. El funcionamiento de ellas es exactamente el mismo que el de las secciones ***BUTTONS, pero con las particularidad de que están orientadas a los dispositivos señaladores de entornos Macintosh y estaciones de trabajo.
UNO.2.2. Menús desplegables (secciones ***POP)
A continuación topamos con las secciones ***POP. Las secciones ***POP definen la apariencia de los menús desplegables y de cascada de AutoCAD 14, así como las órdenes que se ejecutarán al hacer clic en cada elemento.
Las secciones ***POP1 a ***POP16 guardan las definiciones de los menús desplegables de la barra de menús de AutoCAD (Archivo, Edición, Ver,... ,?). En el archivo ACAD.MNU están definidas de la ***POP1 a la ***POP10, correspondiéndose con cada uno de los elementos que nos encontramos en dicha barra de menús. Podemos definir, entonces, hasta un máximo de ***POP16. Además de esto, disponemos de otras dos secciones especiales: ***POP0, que define el menú de cursor de referencia a objetos (el que aparece al pulsar el botón central del ratón o SHIFT + botón derecho o CTRL + botón derecho) y ***POP17, que define el menú de cursor contextual de pinzamientos (el aparecido al pulsar botón derecho tras mostrar los puntos de pinzamiento).
Después del indicativo de sección, podemos apreciar otro que comienza con dos asteriscos (**). El indicativo ** es categoría de submenú, pero en este caso, en la sección ***POP, es lo que se denomina alias. Estos alias definen un nombre para el menú desplegable según su función (no son obligatorios). Después, podremos referenciar dicho menú desplegable por su identificador de sección o por su alias (ya se verá más adelante).
Lo siguiente que vemos, la primera línea tras el indicativo de sección —o tras el de sección y alias si lo hubiera— es el título del menú desplegable. Para este título se permiten 14 caracteres como máximo, pero es conveniente limitar este número debido a la posterior alineación en la barra de menús de AutoCAD. Si esta línea en la que se indica el título no existiera, el menú no funcionaría. Además, ha de ser la inmediatamente posterior al indicativo de sección o alias, esto es, no puede haber un espacio en blanco. Decir también que, este título, no puede contener comandos asignados, esto es, no se puede utilizar como una opción —lo que se explica a continuación—.
Tras el título del desplegable se describen las diferentes opciones que se desplegarán. Como vemos, el título de cada una de ellas, lo que se verá en pantalla, va encerrado entre corchetes, aunque esto no es estrictamente necesario. La diferencia estriba en que la colocación de corchetes permite la introducción de un máximo de 78 caracteres para el primer menú (el situado más a la izquierda). Al desplegarse los nombres aparecen alineados por la izquierda. Si no se escribieran los corchetes, AutoCAD truncaría todos los nombres a 8 caracteres. Por supuesto, la opción más larga determina el ancho de persiana desplegada.
Los títulos de opciones pueden contener una letra subrayada, la cual será el acceso a la opción por medio del teclado. Así mismo, el nombre de título puede contener también una letra subrayada para acceder a él mediante ALT + letra. Este carácter subrayado se consigue anteponiendo el símbolo & (ampersand) al carácter en cuestión. Así:
[&Archivo] Archivo
[&Nuevo] Nuevo
[C&oordenada] Coordenada
[Al&tura] Altura
NOTA: Existía antiguamente otra forma de indicar el subrayado de una de las letras de la cadena, y era especificar cuál de ellas iba a ser la subrayada, de la siguiente forma: [/AArchivo]. Cuidado, porque esto ya no funciona (o no debería).
Debemos tener muy en cuenta no repetir dentro de un mismo menú desplegable la misma letra subrayada para dos opciones diferentes, ya que, en el peor de los casos, sólo funcionaría la opción que antes se encuentre, y eso no nos interesa. Lo mismo ha de comprobarse con los desplegable dentro de un mismo archivo de menú, e incluso en diversos archivos de menú parciales cargados al mismo tiempo.
La sintaxis de estas opciones no es complicada. Veamos un ejemplo:
ID_Line [&Línea]^C^C_line
Lo situado más a la izquierda (ID_Line) es una simple etiqueta que después utilizaremos para referenciar determinados textos de ayuda rápida que aparecen en la barra o línea de estado (en la sección ***HELPSTRING) y para referenciar teclas rápidas (en la sección ***ACCELERATORS). No es necesario incluir esta etiqueta, pero puede servir como veremos.
Tras ello, y luego de un espacio o tabulador (da igual el número de espacios, todos se interpretan como uno), aparece la definición textual (entre corchetes) que será la visualizada en pantalla ([&Línea]). Como podemos apreciar, aparecerá con el primer carácter subrayado.
Por último, se escribe la orden en cuestión de AutoCAD que será ejecutada al pinchar con el cursor del dispositivo señalador en la opción correspondiente. Además, suelen incluirse dos caracteres CTRL+C seguidos (^C^C) para anular cualquier orden anterior en proceso no terminada (tecla ESC en Windows), excepto en comandos transparentes.
La orden que se ejecutará podrá indicarse en castellano —si trabajamos con la edición española de AutoCAD— o con su equivalente inglesa antecedida por un guión de subrayado (_) —tanto si trabajamos con la versión española como con la inglesa—. Téngase en cuenta que lo que se indica tras el último corchete de cierre es lo mismo que si se escribiera en la línea de comandos de AutoCAD. Así, las siguientes órdenes son análogas:
[&Círculo]^C^Ccirculo (sólo versión castellana)
[&Círculo]^C^C_circle (versiones castellana e inglesa)
[&Círculo]^C^Ccircle (sólo versión inglesa)
Existe la posibilidad de presentar alguna de estas opciones, en algún momento, con un tono apagado (gris claro), con el fin de indicar que, en ese momento, la opción no está disponible. Para realizar esto deberemos escribir una tilde (~) antes del nombre propio de la opción. Por ejemplo:
[~A&tributos nuevos]
Recordemos que el carácter tilde se corresponde con el código ASCII 126 y se escribe manteniendo pulsada la tecla ALT y tecleando 126 en el teclado numérico.
Este tipo de opciones apagadas han de ir envueltas bajo una condición, es decir, la opción estará apagada siempre y cuando se cumpla determinada condición y si, por el contrario, no se cumple, se encenderá —o viceversa—. Este tipo de ordenes aprenderemos a realizarlas más adelante.
También podemos introducir una línea separadora entre grupos de comandos. Esta línea podemos conseguirla añadiendo una opción de menú que sea exclusivamente dos guiones entre corchetes, esto es [--]. Una igual la podemos observar en ACAD.MNU, en la sección ***POP1, entre la opción [&Abrir] y [&Guardar]. Esta línea, luego en pantalla, tendrá una longitud igual a la opción más larga, siempre que ésta no sobrepase los 39 caracteres.
A veces, es conveniente indicar al lado del nombre de opción, y con un espacio tabulado, la combinación de teclas (si las hubiere) rápidas para acceder a dicha opción de una forma acelerada. Esto se consigue con el mecanismo \t de la forma que vemos a continuación como ejemplo del archivo que estamos estudiando:
[&Nuevo...\tCtrl+N]^C^C_new
De esta manera (sin incluir ningún espacio) se indica que la combinación CTRL+N también accede al cuadro de diálogo Nuevo. Esta combinación de teclas rápidas puede ser definida en la última sección de un archivo de menús, llamada ***ACCELERATORS (explicada más adelante).
NOTA: Apréciese que, en los menús desplegables, a las opciones que abren cuadros de diálogo se les suelen añadir tres puntos suspensivos detrás del nombre. Esto no es obligatorio, pero se ha convertido en un estándar de Windows para discriminar este tipo de opciones de las que se ejecutan nada más seleccionarlas. En AutoCAD tampoco es así exactamente, ya la inmensa mayoría de las órdenes no se ejecutan directamente y piden opciones en la línea de comandos, pero la técnica se utiliza de todos modos para las que abren cuadros de diálogo.
En este archivo ACAD.MNU
también podemos apreciar otro juego de caracteres propios de las
secciones ***POP
de los archivos de menú de AutoCAD. Estos caracteres son:
->, que indica
el principio de un menú de cascada y <-,
que indica el final del menú de cascada. Es el caso siguiente del
ACAD.MNU:
NOTA:
Como podemos comprobar en este ejemplo, las órdenes invocadas (.X,
.Y...) no son
antecedidas por caracteres ^C.
Esto se debe a que son comandos transparentes de AutoCAD y no sería
conveniente cerrar el proceso de la orden en curso para ejecutarlos, sino
todo lo contrario. Cuidado con los comandos transparentes que son precedidos
de apóstrofo (’)
y su correspondiente no transparente no lo lleva; hay que utilizarlos tal
y como se utilizarían en la línea de comandos.
Los dos caracteres de apertura ->
(guión y mayor que) indican el título de una opción
de menú que se desplegará en menú de cascada. Al representarse
en los menú de AutoCAD, aparecerá una pequeña
flecha negra, indicando hacia la derecha, que muestra la presencia de un
menú de cascada posterior y que se despliega a partir de ahí.
Los dos caracteres de final de menú de cascada <-
(guión y menor que) han de colocarse en la última opción
de dicho submenú de cascada e indican la vuelta al menú desplegable.
Se pueden anidar (meter unos dentro
de otros) diversos menús de cascada, pero con la particularidad
de que, al final, deberán aparecer tanto caracteres <-
como niveles de anidamiento se hayan producido. Veamos otro ejemplo del
archivo por defecto de menús de AutoCAD:
Como podemos apreciar, al existir
un doble anidamiento, hemos de cerrarlo al final con dos grupos de caracteres
de cierre (<-<-).
En conclusión, deberá haber tantos <-
como -> haya.
Además conviene terminar cualquier menú o submenú
con una línea en blanco, de esta forma, cualquier menú que
se referencie (ya lo veremos) se superpondrá totalmente al anterior.
NOTA:
Nótese que, a partir de la siguiente línea al segundo anidamiento,
cada comando _purge
está separado de su parámetro u opción (_a,
_lt, _m...)
por un espacio blanco. Como ya se dijo, escribir las órdenes aquí
es como hacerlo en la línea de comandos, y en ella, escribiríamos
el comando, pulsaríamos INTRO
(= Barra Espaciadora
o carácter espacio) y escribiríamos la abreviatura
de la opción correspondiente. Tras esto, volveríamos a pulsar
INTRO. Este
último INTRO
se corresponde con el último carácter de retorno de carro
de cada línea, es decir, al acabar de escribir cada una de las líneas
hay que pulsar ENTER
(también en la última del archivo si fuera una instrucción
u orden).
En conclusión, podríamos
decir que las diversas sintaxis que se inscriben bajo esta sección
se pueden generalizar como las que siguen:
etiqueta [nombre_del_desplegable]
etiqueta [opción_de_menú]^C^Corden_de_AutoCAD
etiqueta [->entrada_a_menú_de_cascada]
etiqueta [<-salida_de_menú_de_cascada]
[--]
UNO.2.3. Las barras de herramientas
(la sección ***TOOLBARS)
La sección ***TOOLBARS
describe el aspecto y función de todas las barras de herramientas
incluidas en ACAD.MNU.
Nosotros podremos modificarlas o crear nuevas barras, ya sea dentro de
este archivo de menús o dentro de uno propio. Cada barra de herramientas
se define como un submenú de la sección ***TOOLBARS,
es decir, con el indicativo de submenú (**).
Es posible especificar cinco tipos
distintos de elementos en la creación de barras de herramientas.
La sintaxis general de dichos tipos es que sigue (lo indicado en letra
itálica
se corresponde con variables que se sustituirán por valores o palabras
claves):
etiqueta [_Flyout("nombre_botón_desplegable", id_pequeño,
id_grande,
etiqueta [_Control(_elemento)]
[--]
La etiqueta
realiza la misma función explicada en las secciones ***POP
de menús desplegables, es decir, es un identificador para referenciar
pequeños textos de ayuda que aparecen en la línea de estado
de AutoCAD y que se definen en los archivos de menús en la
sección ***HELPSTRINGS,
que veremos posteriormente. También se utiliza en la sección
***ACCELERATORS.
Esta etiqueta de referencia puede incluirse o no.
Tras la etiqueta aparece el tipo
de elemento, con sus modificadores o parámetros entre paréntesis,
entre corchetes. Vamos a explicar cada uno de ellos por separado y en el
orden indicado.
El primero, _Toolbar,
establece las características de la definición de barra de
herramientas. Sus opciones tienen el siguiente significado:
·
_visible.
Debe ser una palabra clave de visibilidad. Puede ser _Show
o _Hide, según
se quiera visible u oculta. Mayúsculas o minúsculas.
·
valx.
Es un valor numérico que especifica la coordenada X (en pixeles)
desde el lado izquierdo de la pantalla hasta el lado izquierdo de la barra
de herramientas.
·
valy.
es otro valor numérico que indica la coordenada Y (en pixeles) desde
el lado superior de la pantalla hasta la parte superior de la barra.
·
filas.
Un valor que indica el número de filas de la barra de herramientas.
Unos ejemplo de ACAD.MNU
son los siguientes: ID_TbDraw [_Toolbar("Dibujo",
_Left, _Show, 0, 0, 1)]
ID_TbModifII [_Toolbar("Modificar
II", _Floating, _Hide, 100, 270, 1)]
ID_TbModify [_Toolbar("Modificar",
_Left, _Show, 1, 0, 1)]
NOTA: No
olvidar los espacios tras las comas.
El segundo elemento es _Button.
Éste define un botón de la barra de herramientas. Sus opciones
tienen el significado siguiente:
·
id_pequeño.
Es una cadena alfanumérica que define el recurso de imagen pequeña
(mapa de bits de 16 ´
15), esto es, cuál es el icono que se representará en el
botón. Podemos crear iconos nuevos en formato .BMP
y referenciarlo, pero esto ya lo veremos más adelante, desde el
propio AutoCAD. La cadena en cuestión puede contener los
caracteres –
y _.
·
id_grande.
Cadena que define el recurso de imagen grande (24 ´
22). Por lo demás, igual al anterior.
·
macro.
es la macroinstrucción o, instrucción simple, que ejecuta
los comandos, o el comando, en cuestión de AutoCAD asignada
al botón.
Los ejemplos siguientes son definiciones
de botones en ACAD.MNU: ID_Arc [_Button("Arco", ICON_16_ARC3PT,
ICON_24_ARC3PT)]^C^C_arc
ID_Image [_Button("Imagen", ICON_16_IMAGE,
ICON_24_IMAGE)]^C^C_image
ID_Xref [_Button("RefX", ICON_16_XREATT,
ICON_24_XREATT)]^C^C_xref
NOTA: No
olvidar los espacios tras las comas.
El tercer elemento que vamos a explicar es _Flyout,
que define un botón desplegable en una barra de herramientas. Las
opciones y su significado son las que siguen:
·
id_pequeño.
Es una cadena alfanumérica que define el recurso de imagen pequeña
(mapa de bits de 16 ´
15), esto es, cuál es el icono que se representará en el
botón. Podemos crear iconos nuevos en formato .BMP
y referenciarlo, pero esto ya lo veremos más adelante, desde el
propio AutoCAD. La cadena en cuestión puede contener los
caracteres –
y _.
·
id_grande.
Cadena que define el recurso de imagen grande (24 ´
22). Por lo demás, igual al anterior.
·
_icono.
Debe ser una palabra clave que controla si en el botón principal
(el que siempre está a la vista) debe visualizarse el icono propio
o el último seleccionado. Acepta sólo _OwnIcon
(icono propio) u _OtherIcon
(otro icono), ya sea en mayúsculas o minúsculas.
·
alias.
Hace referencia a la barra de herramientas que debe mostrarse tras el desplegado.
El alias referencia a un submenú de barra de herramientas definido
con la sintaxis estándar **nombre_submenú.
Este submenú, evidentemente, puede ser uno de AutoCAD o uno
propio creado por el usuario. El nombre del alias estará formado
por el nombre del grupo de menús, seguido de un punto y del propio
nombre del submenú. Por ejemplo, ACAD.TB_ZOOM.
·
macro.
Cadena de comando. No es imprescindible si en el submenú referenciado
están todos los botones definidos. De todas formas, aún así,
puede interesar ejecutar uno o varios comandos.
ID_TbZoom [_Flyout("Zoom",
ICON_16_ZOOM, ICON_24_ZOOM, _OtherIcon, ACAD.TB_ZOOM)]
ID_TbInsert [_Flyout("Bloque",
ICON_16_BLOCK, ICON_24_BLOCK, _OtherIcon, ACAD.TB_INSERT)]
ID_TbUcs [_Flyout("SCP", ICON_16_UCS,
ICON_24_UCS, _OtherIcon, ACAD.TB_UCS)]
ID_TbInquiry [_Flyout("Consultar",
ICON_16_LIST, ICON_24_LIST, _OtherIcon, ACAD.TB_INQUIRY)]
NOTA: No
olvidar los espacios tras las comas. Estos tres elementos son los típicos
que aparecen en la barra de herramientas de Propiedades de objetos.
Sus definiciones en ACAD.MNU
son las siguientes:
ID_CtrlLayer [_Control(_Layer)]
ID_CtrlColor [_Control(_Color)]
ID_CtrlLinet [_Control(_Linetype)]
El quinto y último elemento
es [--]. Al
igual que en los menús desplegables, lo que hace este elemento es
separar grupos, en este caso, de botones. Ahora, en lugar de ser una línea
divisoria, es un pequeño intersticio o espacio vacío entre
botones de iconos —ya sea en horizontal o vertical, dependiendo de la posición
que adopte la barra de herramientas—.
UNO.2.4. La sección ***IMAGE
de menús de imágenes
Los menús de imágenes
de AutoCAD son aquellos que se nos presentan en una ventana en la
que podemos elegir una imagen, o icono, o su correspondiente nombre. Un
ejemplo, de los tres que incluye AutoCAD en ACAD.MNU,
es el cuadro de objetos 3D predefinidos (cubo, cono, cuña, etc.)
y que podemos abrir bajo Dibujo>Superficies>Superficies
3D...
Las especificaciones necesarias para
la creación de este tipo de menús se encuentran recogidas
en la sección ***IMAGE.
La manera general de crear este tipo de menús es similar a la que
se ha estudiado en la sección de desplegables ***POP,
la diferencia reside en la presentación de las opciones, ya que
en estos menús el proceso que realizará una opción
se representa mediante un elemento gráfico. Dicho elemento no es
otro que un archivo de foto de AutoCAD o un elemento de una fototeca
(la creación de bibliotecas de fotos se explica en el MÓDULO
NUEVE de este curso).
Estos menús de iconos son
visualizados en una ventana dividida en dos partes en la que se muestra,
por un lado y a la izquierda, una lista de los términos correspondientes
a los iconos y, por otro lado y a la derecha, los iconos propiamente dichos.
Esta parte derecha la componen cinco filas de cuatro iconos cada una. Evidentemente,
si incluimos más iconos tenemos la posibilidad de visualizar otras
ventanas más navegando con los botones creados a tal efecto.
Veamos un ejemplo del ACAD.MNU:
[acad(Box3d,Prisma rectang.)]^C^Cai_box
El texto que se presenta entre corchetes
([]) corresponde
a la llamada a la foto —en este caso dentro de una fototeca— que, además,
permite incluir una cadena que será la que se presente el la zona
izquierda del menú de imagen. Lo que sigue a todo ello, como sabemos
ya, es la orden o comando de AutoCAD que debe ejecutarse. Así,
las opciones de sintaxis, en cuanto al texto entre corchetes, que podemos
utilizar bajo esta sección y su resultado en pantalla son las siguientes:
Sintaxis ------------ Área
de iconos ------------ Área de texto
[nombre_de_foto] -------
foto ------------------- nombre del fichero
[nombre_de_foto,texto]
- foto ------------------- texto
[fototeca(foto)]
--------- foto ------------------- nombre de la foto
[fototeca(foto,texto)]
- foto ------------------- texto
[espacio_blanco]
--------- vacío ------------------ espacio blanco
[texto]
------------------- vacío ------------------ texto
El caso anterior expuesto se correspondería
con la cuarta sintaxis de la lista.
El título del menú
será visualizado en la barra de título de la ventana de menú
con un máximo de 40 caracteres. Este título se corresponde
con la primera línea de la sección o submenú (entre
corchetes) tras el propio indicador de sección o submenú.
Ejemplo:
El texto [Definición
de variable Spline] es el título de
cuadro de menú.
UNO.2.5. El arcaico menú
de pantalla de AutoCAD bajo la sección ***SCREEN
En los "tiempos heroicos" de AutoCAD,
el único acceso a los comandos del programa, aparte de la línea
de comandos, era un menú formado por una columna de órdenes,
que se iban superponiendo mientras las ejecutábamos, y sito en la
parte derecha del área de dibujo del programa. Hoy en día,
para nostálgicos de aquellas versiones, seguimos disponiendo de
una parte configurable en archivos de menú con el fin de utilizar
éste de pantalla. Por defecto, al correr AutoCAD 14, no se
muestra dicho menú, sin embargo, podemos visualizarlo desde Herr.>Preferencias...,
en la pestaña Visual., activando la opción Mostrar
menú de pantalla de AutoCAD en la ventana de dibujo.
La sección ***SCREEN,
podríamos decir que es la opción "por defecto" en un archivo
de menús. Esto significa que, si al principio de un fichero .MNU
no aparece un indicativo de sección, todas las opciones sin especificador
de sección (hasta que aparezca uno) son asignadas al identificador
de pantalla ***SCREEN.
La sintaxis es muy parecida a la
de los menús desplegables, obviando la etiqueta que aquí
no se puede utilizar:
[texto]comando
El primer submenú que se presenta
bajo el identificador de sección es el que aparecerá primero
al cargar el archivo de menú. Obviamente, éste ha de ser
el que contenga las referencias más generales, si es que hay otros
submenús. Así, el primer submenú que incorpora ACAD.MNU
es:
Desde él se hacen referencia
a los otros submenús incluidos (veremos esto al hablar de submenús).
Los demás submenús mantienen la sintaxis indicada, por ejemplo:
[Nuevo ]^C^C_new
[Abrir ]^C^C_open
[Guardar ]^C^C_qsave
[Guarcomo]^C^C_saveas
[Exportar]^C^C_export
[Config ]^C^C_config
...
El texto entre corchetes es el que
se presentará en pantalla. Este texto está limitado, bajo
esta sección de menú, a ocho caracteres.
Como hemos dicho, los comandos se
colocan en formato de columna. El número de líneas permitidas
en dicha columna dependerá del monitor de vídeo y, evidentemente,
de la tarjeta gráfica instalada en el equipo. De esta forma, el
fichero suministrado por Autodesk con AutoCAD prevé un máximo
de 26 líneas. Cuando no se puedan introducir todas las opciones
necesitadas en una sola columna, se introducen referencias a diferentes
páginas del mismo submenú para poder visualizar todo.
La siguiente tabla muestra una relación
entre las tarjetas de vídeo y el número de líneas
máximo permitido:
Tarjeta ----------> Líneas
CGA color --------> 21
CGA monocromo --> 22
EGA -------------> 21
VGA -------------> 26
Los sistemas SuperVGA y otros de
alta resolución permite mayor número de líneas en
pantalla.
Un menú de pantalla se despliega
sobre el anterior visualizado. En principio, lo hace desde la primera línea
útil, superponiendo sus opciones a todas las anteriores. Si deseamos
que esta superposición comience desde otra línea, para dejar
opciones generales al descubierto por ejemplo, únicamente deberemos
indicar tras el submenú, y luego de un espacio en blanco, el número
de línea desde el que queremos que empiece a desplegarse. Este es
el caso de todos los submenús incluidos en ACAD.MNU
(excepto el primero) que comienzan su visualización en la línea
3. Veamos algún ejemplo:
**ASSIST 3
**06_FORMAT 3
**101_SOLIDS 3
**AREA 3
De esta forma se impide sobreescribir
las dos primeras líneas del menú general: AutoCAD
y * * * *,
que hacen referencia al propio submenú principal o general y al
submenú de modos de referencia a objetos, respectivamente.
Repasando el archivo ACAD.MNU,
podemos apreciar también unos grandes espacios en blanco entre un
submenú y otro. El objeto de este espaciado se corresponde con la
necesidad de tapar las opciones de un submenú anterior cuando otro,
más corto, se superpone. Como norma general, se ampliarán
los submenús con tantas líneas blancas como sean necesarias
para completar el cómputo total de líneas. De esta manera,
nos aseguramos de que ninguna opción de ningún submenú
permanezca visible al llamar a otro submenú.
Apreciamos también en este
archivo, que todos los submenús se completan con líneas blancas,
pero no hasta la última (26) sino hasta la antepenúltima
(24). La misión de esta táctica consiste en que las dos últimas
opciones del submenú general (ASISTIR
y ÚLTIMO)
queden, también, siempre visibles.
De la misma forma, se hace conveniente
rellenar con espacios blancos todos los nombres de opciones dentro de los
corchetes has ocho caracteres. Así evitamos la desagradable visión
de comandos "montados" sobre otros, y todas las opciones taparán
a las anteriores perfectamente:
[VER 1 ]
[AYUDA ]
[DESDE ]
[Redibuj ]
[RefX ]
Por último, decir que toda
sección ***SCREEN
ha de terminar con un indicador de submenú **ENDSCREEN
para que todo funcione correctamente y el último submenú
real no tenga problemas en saber dónde termina.
UNO.2.6. Configuración
del tablero digitalizador bajo las secciones ***TABLET
Bajo las cuatro secciones posibles
del menú de tableta, ***TABLET1 a ***TABLET4, se encuentran las
definiciones necesarias para el funcionamiento de la tableta o tablero
digitalizador.
Las casillas o celdas de la plantilla
suministrada con AutoCAD 14 deberán coincidir con las especificaciones
de estas secciones. Esta plantilla la podemos encontrar, preparada para
imprimir o trazar a escala natural y pegar o fijar a la tableta, bajo el
nombre de archivo TABLET14.DWG en
el directorio \SAMPLE\
de AutoCAD 14. Aún así, podemos modificar los términos
de funcionamiento del tablero.
NOTA:
Modificar estas secciones, así como las que hacían referencia
a los pulsadores del dispositivo señalador, no es buena idea, ya
que cambiaría la forma y el hábito adquirido de trabajar
con AutoCAD. En el caso de la sección que nos ocupa, habría
que variar hasta los iconos de sitio en la plantilla —por ello nos la entregan
como fichero de dibujo— o modificarla por completo. No tiene mucho sentido,
a no ser que sean cambios justificados y que reviertan comodidad y productividad
en el dibujo y diseño.
En las áreas del tablero digitalizador,
la configuración de cada una de ellas (comando TABLERO
de AutoCAD, opción CFG)
determina el número de casillas en que se encuentra dividida (número
de filas ´
número de columnas). Internamente, estas casillas se ordenan de
izquierda a derecha y de arriba abajo. El orden en que se encuentran las
opciones en las secciones ***TABLET
en el archivo de menú es lo que determina a qué casilla concreta
del tablero se asocia. Basta con pinchar en dicha casilla para que se ejecute
el contenido de la línea del archivo de menú asociado.
Bajo ***TABLET1
se encuentran las definiciones del primer menú de tableta, esto
es, el correspondiente al área superior de la plantilla; concretamente
englobado por 25 columnas (1
a 25) y 9 filas
(A a I).
Bajo ***TABLET2,
las definiciones del menú segundo, el del extremo izquierdo de 11
columnas (1
a 11) y 9 filas
(J a R).
Bajo ***TABLET3,
las de menú tercero; las que se corresponden con 3 columnas (23
a 25) y 9
filas (J a
R). Lo que
queda en la plantilla corresponde al área gráfica de dibujo.
Por lo demás, decir que su
funcionamiento es igual al de los demás menús, con la particularidad
de que, en éste, los textos entre corchetes no tienen ningún
efecto visual en pantalla, por lo que sólo se escriben —sin ser
necesario— como referencias o aclaraciones de posición.
Hoy día, con el uso del ratón
y la versatilidad de los menús desplegables y la barras de herramientas,
el uso de las tabletas digitalizadoras se reduce escasamente a la digitalización
o al "calcado" de planos y poco más.
UNO.2.7. ***HELPSTRINGS;
las cadenas de ayuda
Si seguimos examinando detenidamente
ACAD.MNU, nos
encontramos, casi al final del mismo, con la sección ***HELPSTRINGS.
Esta sección es la encargada de recoger todos aquellos pequeños
textos de ayuda a comandos que son identificados por su etiqueta ID.
Esta línea de ayuda es la que se presenta en la línea de
estado de AutoCAD cuando nos posicionamos con el cursor sobre un
botón de barra de herramientas o sobre una opción de menú
desplegable. La etiqueta ID
es la que se ha comentado al hablar de la sección ***POP
y de la sección ***TOOLBARS. Estas
secciones, además de ***ACCELERATORS,
***SCREEN y
***TABLET,
son las únicas donde tienen sentido las etiquetas identificadoras.
La sintaxis bajo la sección
***HELPSTRINGS
es asaz sencilla:
etiqueta
[texto_de_ayuda]
Así, los siguientes ejemplos
son lo suficientemente demostrativos:
ID_Line [Crea segmentos de línea
recta: linea]
ID_Pan [Desplaza la vista del
dibujo en la ventana gráfica actual: encuadre]
ID_Replay [Visualiza una imagen
BMP, TGA o TIFF: reproducir]
ID_Rotate [Desplaza los objetos
alrededor de un punto base: gira]
La etiqueta ID
ha de coincidir, evidentemente, con la que señalemos antes de los
comandos correspondientes tanto en menús desplegables como en barras
de herramientas. De este modo, la etiqueta ID_Line
(helpstring de la orden de dibujo de líneas simples) del
primer ejemplo, coincide exactamente con las etiquetas que se corresponden
con la orden LINEA
de la sección ***POP:
ID_Line [&Línea]^C^C_line
y con el botón análogo de la sección ***TOOLBARS:
ID_Line [_Button("Línea", ICON_16_LINE,
ICON_24_LINE)]^C^C_line.
Como vemos en estos casos del archivo
de menús por defecto de AutoCAD, la cadena de ayuda está
formada por un pequeño texto aclaratorio de la función del
comando, además del correspondiente comando textual que habríamos
de introducir por teclado para obtener el mismo efecto. Nosotros podemos
escribir el texto que deseemos, siempre teniendo en cuenta no sobrepasar
el ancho de la pantalla. Además, decir también que no es
obligatorio que las etiquetas comiencen por ID_,
pero que aclaran mucho la interpretación general de un archivo de
menús si así lo hacen, ya que podríamos confundir
comandos con líneas y etcétera.
UNO.2.8. Teclas rápidas
bajo ***ACCELERATORS.
Bajo esta última sección
del ACAD.MNU
se encuentra la definición de teclas rápidas o aceleradoras
Windows. El uso de estas combinaciones —o no— de teclas proporcionan al
usuario un rápido acceso a los comandos más utilizados de
AutoCAD 14.
Como sabemos, por ejemplo, la combinación
CTRL+A produce
los mismos efectos que el comando ABRE
en la línea de comandos. También podemos acceder a este comando
mediante el menú desplegable Archivo>Abrir...
o a través del botón correspondiente en la barra de herramientas
Estándar o en la tableta (casilla T-25).
La manera en que está especificada
esta combinación de teclas rápidas en la sección ***ACCELERATORS
del archivo de menús ACAD.MNU
es la siguiente:
ID_Open [CONTROL+"A"]
Hay dos modos de definir teclas aceleradoras.
La primera consiste en utilizar un identificador de etiqueta ya existente
seguido de un título, entre corchetes, formado por uno o varios
modificadores (separados mediante el símbolo de adición +)
un símbolo +
y carácter único o una cadena de tecla virtual especial entre
comillas dobles. Es decir, con las siguientes sintaxis:
etiqueta
[modif+modif...+"carácter"]
etiqueta [modif+modif...+"tecla_virtual"]
Algunos ejemplos son los siguientes:
ID_Line [CONTROL+"L"]
ID_Circle [CONTROL+SHIFT+"C"]
ID_Cancel ["ESCAPE"]
ID_Ellipse [SHIFT+"F11"]
La segunda forma consiste en utilizar
un título con un modificador y una cadena de tecla seguido de una
secuencia de comandos. Podemos definir así, combinaciones de teclas
que no tienen referencia de etiqueta. Sus sintaxis generales podrían
ser las siguientes:
[modif+modif...+"carácter"]^C^Ccomando_de_AutoCAD
[modif+modif...+"tecla_virtual"]^C^Ccomando_de_AutoCAD
Algunos ejemplos:
[CONTROL+"Q"]^C^C_quit
[SHIFT+CONTROL+"HOME"]^C^C_move
["ESCAPE"]^C^C_quit
De esta forma indicamos el comando
que queremos que se ejecute tras la pulsación de la combinación
de teclas.
Los modificadores aceptados son los
que se ven en la tabla siguiente:
Cadena ----------> Descripción
CONTROL
----------> Tecla Control
de la mayoría de los teclados
SHIFT
------------> Tecla Mayúsculas,
izquierda o derecha
COMMAND
----------> Tecla APPLE
de los ordenadores Macintosh
META
-------------> Tecla META
en teclado UNIX
Y las teclas virtuales especiales
son las siguientes:
Cadena ----------> Descripción
F1
----------------> Tecla F1
F2
----------------> Tecla F2
F3
----------------> Tecla F3
F4
----------------> Tecla F4
F5
----------------> Tecla F5
F6
----------------> Tecla F6
F7
----------------> Tecla F7
F8
----------------> Tecla F8
F9
----------------> Tecla F9
F10
---------------> Tecla F10
F11
---------------> Tecla F11
F12
---------------> Tecla F12
HOME
--------------> Tecla Inicio
END
---------------> Tecla Fin
INSERT
------------> Tecla Insert
DELETE
------------> Tecla Supr
NUMPAD0
-----------> Tecla 0
del teclado numérico
NUMPAD1
-----------> Tecla 1
del teclado numérico
NUMPAD2
-----------> Tecla 2
del teclado numérico
NUMPAD3
-----------> Tecla 3
del teclado numérico
NUMPAD4
-----------> Tecla 4
del teclado numérico
NUMPAD5
-----------> Tecla 5
del teclado numérico
NUMPAD6
-----------> Tecla 6
del teclado numérico
NUMPAD7
-----------> Tecla 7
del teclado numérico
NUMPAD8
-----------> Tecla 8
del teclado numérico
NUMPAD9
-----------> Tecla 9
del teclado numérico
UP
-----------------> Tecla cursor Arriba
DOWN
---------------> Tecla cursor Abajo
LEFT
---------------> Tecla cursor Izquierda
RIGHT
--------------> Tecla cursor Derecha
ESCAPE
-------------> Tecla Esc
NOTA:
Como veremos mucho más adelante, las etiquetas o identificadores
ID también
sirven para poder cambiar el estado de una opción de menú
(activado/desactivado o marcado/no marcado) desde macros de menús
o mediante AutoLISP. También para su utilización como argumento
en el acceso a archivos de ayuda personalizados (también se verá).
UNO.3. SUBMENÚS
Un submenú, como ya se ha
comentado, es aquel que, debajo de una sección, define un nuevo
menú o subsección. Estos submenús son identificables
por comenzar con dos asteriscos (**)
en lugar de tres (***),
que era categoría de sección. A este identificador le sigue
un nombre que identifica al submenú. Este nombre puede contener
hasta 33 caracteres alfanuméricos, además de algunos especiales
como $ (símbolo
de dólar), -
(guión) o _
(guión de subrayado). El identificador debe estar en una sola línea
del archivo de menú y puede contener espacios en blanco.
Todas las opciones que se escriban
tras el identificador de submenú —hasta el siguiente identificador
de submenú o de sección— pertenecen a dicho submenú.
Los nombres de submenú habrán de ser únicos; no puede
haber dos repetidos. Es posible, sin embargo, dar varios nombres a un mismo
submenú.
En el archivo ACAD.MNU podemos identificar
muchos submenús como los siguientes:
**SNAP
**INSERT
**TB_INQUIRY
**image_poly
**01_FILE
Todos ellos se encuentran en diferentes
secciones de menú y tienen la propiedad de dividir la información
en grupos de características homólogas. Así, bajo
la sección ***TOOLBARS,
cada barra de herramientas definida se encuentra bajo un submenú.
Esto, en principio, no es obligatorio,
pero es que la característica más importante de la división
en submenús, reside en la posibilidad de hacer referencia a ellos
desde cualquier punto del archivo de menús. Esto varía un
poco en la secciones ***POP,
***AUX y ***BUTTONS,
ya que ellas no admiten submenús; los títulos que comienzan
con ** bajo
estas secciones no son submenús, sino una especie de nombres mnemotécnicos
para su mejor comprensión llamados, como ya se comentó, alias.
Sin embargo pueden ser referenciadas, desde la versión 14 de AutoCAD,
las propias secciones o, incluso, el nombre de alias.
UNO.3.1. Referencias a submenús
Como hemos apuntado, se puede llamar
(activar) a un submenú desde cualquier punto del archivo de menú.
La forma de hacerlo responde a la siguientes sintaxis:
$inicial=nombre_grupo_menús.nombre_submenú
Esto es, primero el símbolo
de dólar ($)
seguido de la inicial del identificador de sección al que pertenece
el submenú, el símbolo de igual (=),
el nombre del grupo de menús (identificador ***MENUGROUP=),
un punto (.)
y, por último, el nombre completo del submenú referenciado.
Las iniciales de los identificadores
de sección son las siguientes:
Iniciales ----------> Sección
B1
– B4 ----------->
***BUTTONS1
a ***BUTTONS4
(menús de pulsadores)
A1
– A4 ----------->
***AUX1 a ***AUX4
(menús auxiliares)
P0
----------------> ***POP0
(menú de cursor)
P1
– P16 ---------->
***POP1 a ***POP16
(menús desplegables)
S
-----------------> ***SCREEN
(menú de pantalla)
I
-----------------> ***IMAGE
(menús de imágenes)
T1
– T4 ----------->
***TABLET1
a ***TABLET4
(menús de tableta)
Así, si quisiéramos
realizar una llamada al submenú **Bloques_Sanitarios
situado bajo la sección ***IMAGE
de un archivo del menús con nombre de grupo ***MENUGROUP=BLOQUES,
escribiríamos lo siguiente:
$I=BLOQUES.Bloques_Sanitarios
Las mayúsculas y minúsculas
son indiferentes en todo el archivo .MNU,
ya que AutoCAD convierte todo a mayúsculas —excepto contenidos
textuales que serán mostrados como tales— al compilar el archivo
(se explicará más adelante), pero es conveniente realizar
distinciones entre secciones y submenús únicamente para obtener
mayor claridad.
NOTA:
Antiguamente no era necesario indicar el nombre de grupo en una llamada
a un submenú, hoy sí. La razón estriba en que, como
ya veremos, AutoCAD 14 puede tener más de un archivo de menú
cargado y, al referenciar un submenú, deberemos indicarle en qué
archivo de menú de los cargados se encuentra. Si únicamente
existiera un menú cargado, no haría falta indicar este nombre
de grupo, pero siempre conviene hacerlo por los futuros menús parciales
que se puedan cargar; evitando así errores venideros.
Cada vez que se activa un submenú
(sólo los de pantalla), AutoCAD guarda en una pila el menú
o submenú desde el cual se ha llamado al nuevo. Si se desea salir
del nuevo submenú para volver al anterior (proceso muy frecuente),
basta introducir en el archivo una llamada sin identificador de submenú.
De esta forma, si se encontrara activado un submenú y se produjera
una llamada a un nuevo submenú así:
$S=COTAS_HOR
el nuevo submenú queda activado
y el anterior se almacena en pila. Si entre las opciones de este nuevo
submenú se encuentra una llamada del tipo:
$S=
en el momento en que esa llamada
es leída por el programa (al ejecutar la opción en que se
encuentre), se abandona el submenú correspondiente mostrándose
el anterior.
UNO.3.1.1. Llamadas a los submenús
de las distintas secciones
Las referencias a los submenús
se realizan de forma muy parecida en cada una de las secciones de un archivo
de menú. Lo único que diferencia los procesos son pequeñas
variaciones que vamos a comentar ahora.
Cuando se invoca a un submenú
que se encuentra bajo la sección ***SCREEN
de menú de pantalla, se da lugar a un despliegue en persiana que
superpone al menú anterior. Por defecto, este despliegue se realiza
desde la primera línea válida del menú, visualizándose
los textos de las opciones, uno debajo de otro, en el orden en que fueron
escritos. Si se quiere que esto no suceda así —esto ya se comentó—
se puede especificar el número de línea donde queremos que
empiece, después del identificador de submenú y tras un espacio:
**Ins_Bloq 3
De esta manera, si quisiéramos
llamar a este submenú desde otro punto del archivo .MNU,
normalmente desde una opción del propio menú de pantalla,
podríamos hacer lo siguiente:
[Insertar]$S=BLOQUES.Ins_Bloq
Según este método,
y siempre que el nombre de grupo del archivo de menús que contiene
dicho submenú tuviera por nombre BLOQUES,
al seleccionar (pinchar) la opción Insertar
se activaría (se mostraría) el submenú **Ins_Bloq
a partir de la tercera línea.
Podemos también realizar varias
llamadas que, en el caso del menú de pantalla, habrán de
superponerse sin taparse —añadiendo las líneas en blanco
pertinentes— y, a la vez, ejecutar un comando:
[MATRIZ:]$S=X $S=ARRAY ^C^C_ARRAY
Las llamadas a submenús en
el menú de tablero, secciones ***TABLET,
se utilizan de igual modo, pero hay existe una pequeña puntualización
que se explica en la sección UNO.4.3.3.
Por su parte, los menús desplegables
bajo las secciones ***POP,
tienen un tratamiento especial. No se admiten submenús en secciones
***POP, pero
se puede hacer referencia a la sección propiamente dicha, de la
siguiente forma:
$Pn=*
siendo n
el número de la sección ***POP.
Un ejemplo puede ser el siguiente:
[Desplegar Menú Herramientas]$P6=*
De esta forma, al seleccionar esta
opción, se desplegará el menú correspondiente y se
esconderá el actual (si se llama desde otra parte de una sección
***POP).
NOTA:
También podemos referenciar el alias de la sección.
Una línea en blanco después
de cada submenú anula todas las opciones que puedan quedar del menú
anterior. Para que todo menú referenciado anule completamente al
anterior es buena costumbre incluir, al final de cada sección o
submenú, la citada línea en blanco. Ejemplo:
***MENUGROUP=BLOQUES
NOTA:
Recordar dos cosas ya explicadas. La primera que es conveniente teclear
las órdenes en inglés con el carácter de subrayado
delante; de esta forma podrá ser interpretado por cualquier versión
de AutoCAD cualquiera que sea su idioma. Y la segunda, distinguir
secciones de submenús, o caracteres de control, de comandos, etcétera,
con mayúsculas y minúsculas a nuestro gusto, por dar mayor
claridad y comprensión. Por último, decir que ejemplos como
el anterior no son muy utilizados, pero son perfectamente lícitos.
En los menús de imágenes
bajo la sección ***IMAGE
las referencias a submenús se realizan de la forma siguiente. Para
llamar a un submenú de imagen desde otro cualquiera (imagen, desplegable,
pantalla...) hay que referenciarlo y después activarlo para que
se visualice. Lo más lógico parece ser referenciar un menú
de imagen desde un desplegable o un botón de barra de herramientas;
de la siguiente manera, por ejemplo:
***MENUGROUP=ROCA
***IMAGE
Bajo las secciones ***BUTTONS
(menú de pulsadores) las llamadas a submenús se utilizan
de igual modo, teniendo en cuenta, que si llamamos a un alias o una sección
que esté bajo ***POP
o a un submenú que esté bajo ***IMAGE,
habremos de activarlos con los métodos explicados. En estas secciones
de ***BUTTONS
no se admiten submenús.
Una clara referencia a submenús
en el menú de pulsadores lo observamos en el archivo ACAD.MNU
(el siguiente ejemplo puede variar en dicho archivo, ya que para el botón
derecho se establece una condicional en DIESEL):
Como ya hemos comentado, bajo ***BUTTONS1
se establecen las funciones de todos los pulsadores accionados de manera
sencilla —comenzando por el segundo; el primero es para aceptar datos y
no se puede redefinir—. En este caso del ratón del sistema, el segundo
pulsador (botón derecho) realiza un INTRO
—carácter punto y coma (;)—
y, el tercero (botón central) llama a la sección ***POP0
(con alias **SNAP);
menú de cursor de modos de referencia a objetos.
Como vemos, en ***BUTTONS2
y ***BUTTONS3
se hace referencia al mismo submenú en la primera, y única,
probablemente, línea; ciertamente, al pulsar SHIFT
+ botón derecho o CTRL
+ botón derecho se activa el menú de cursor. ***BUTTONS4,
normalmente, estará vacío.
Además, en los menús
de pulsadores podemos utilizar la contrabarra para introducir las coordenadas
del cursor automáticamente. Por ejemplo:
La forma de actuar en menús
bajo ***AUX
es la misma.
UNO.4. CARACTERES ESPECIALES,
DE CONTROL Y OTROS MECANISMOS
A parte de todo lo estudiado, existen
otro tipo de caracteres especiales, caracteres de control y otros mecanismos
de edición de menús que se indican a continuación.
UNO.4.1. Caracteres especiales
En todas las secciones de un archivo
de menú podemos incluir diversos caracteres especiales que AutoCAD
reconoce como tales. Estos caracteres especiales son:
;
----------> igual a un INTRO
o a un espacio blanco
+
----------> determina la continuidad en otra línea del archivo ASCII
de una opción
\
----------> interrumpe la opción para que el usuario introduzca
un dato
_
----------> antepuesto a un comando en inglés, hace que se admita
el comando en cualquier versión idiomática de AutoCAD
<<
----------> ángulos en grados sexagesimales
*
----------> repetición de opciones completas de menú
AutoCAD añade automáticamente
a cada opción de menú un espacio en blanco al final. Esto
lo realiza para aceptar la orden como si hubiera sido introducida por teclado.
Los espacios en blancos pueden ser sustituidos por caracteres punto y coma
(;), siendo
a veces necesaria esta elección. Por ejemplo, la siguiente opción
de menú escribe un texto en pantalla:
[ACABADO]^C^C_text;80,20;3.5;0;Exento
de rebabas;;;en cara vista;
El texto en cuestión comienza
con el comando _text.
Tras él, escribimos un ;
para aceptar el comando (=INTRO),
luego las coordenadas del punto de inicio y otro ;
para entrarlas. Después, la altura del texto y la rotación
con sus correspondientes ;
detrás de cada uno para aceptar. Más tarde, el texto en cuestión.
Los tres caracteres ;
que le siguen son tres INTROS
para, primero, entrar el texto; segundo, repetir la orden TEXTO
y, tercero, situar el punto de inicio bajo el anterior (formato párrafo
alineado a la izquierda). Introducimos el final del texto y, luego, un
; para acabar
la orden.
De esta forma, vemos que se hace
necesario la introducción de un carácter ;
al final de la opción, ya que, al estar escribiendo texto, AutoCAD
interpretaría un espacio en blanco como lo que es: un espacio en
blanco. Lo mismo ocurre con los tres ;
seguidos.
NOTA:
Como vemos, estos caracteres nos permiten crear verdaderas macroinstrucciones
en opciones de menú. Es muy importante conocer bien las órdenes
de AutoCAD y qué es exactamente lo que solicita el programa,
así como el orden en el cual lo solicita, en cada momento. Por supuesto,
es necesario dominar los comandos de teclado del programa, esto es, aquellos
que sólo pueden ser introducidos por teclado o aquellos que, teniendo
varios formatos, tienen un modo de teclado en el que se nos solicitan todos
los datos en la línea de comandos.
Los caracteres ;
del ejemplo anterior podían haber sido sustituidos por espacios
blancos (excepto el último y los tres seguidos). Lo que ocurre es
que se suelen alternar ambos métodos para dar mayor claridad a la
macro.
Por su parte, el carácter
+, se utiliza
para separar macros u opciones de menú complicadas en varias líneas.
Así, el ejemplo anterior podría haberse escrito:
El carácter \
detiene la ejecución de la macro y solicita un dato al usuario en
un momento dado. Si en el ejemplo anterior queremos dejar a elección
del usuario la entrada de un valor para las coordenadas de inicio del texto
y otro para el ángulo de rotación, la macro habría
quedado de la siguiente forma:
[ACABADO]^C^C_text;\3.5;\Exento
de rebabas;;;en cara vista;
De esta manera, y tras ejecutarse
la orden TEXTO,
AutoCAD se detendría a preguntarnos por el dato donde esté
el carácter contrabarra (\),
es decir, las coordenadas de inicio. Nosotros, introduciríamos las
coordenadas y pulsaríamos ENTER;
la macro continúa y da el valor de 3.5
a la altura de texto, lo introduce o acepta (;)
y vuelve a detenerse para preguntarnos el ángulo de rotación.
Lo introducimos y pulsamos INTRO
y, la macroinstrucción, continúa hasta el final como anteriormente.
Por último, decir que la introducción
de los caracteres <<,
precediendo al valor de un ángulo, hace que éste se tome
en grados sexagesimales, con el origen y sentido normales de la trigonometría
plana, independientemente de lo establecido con el comando UNIDADES
de AutoCAD. Por ejemplo:
[ACABADO]^C^C_text 80,20 3.5
<<135 Exento de rebabas;;;en cara vista;
También existe el carácter
* (asterisco)
que repite la opción completa de un menú de forma automática
—hasta que se pulsa ESC—.
Es muy poco utilizado; la forma de manejarlo es la siguiente:
[Polilínea]*^C^Cpol
NOTA:
Del carácter de subrayado (_)
ya se ha hablado ampliamente, por ello, no se explicará de nuevo
aquí.
NOTA:
En la líneas del archivo que terminan con un carácter de
control (que veremos ahora), una contrabarra (\),
un signo más (+)
o un punto y coma (;),
AutoCAD no añade espacios en blanco.
UNO.4.2. Caracteres de control
Además de los caracteres especiales,
podemos incluir en archivos de menús diversos caracteres de control
ASCII. Estos caracteres se introducen mediante el acento circunflejo —o
signo de intercalación para AutoCAD— ^,
seguido del carácter correspondiente. El carácter ^
representa la tecla CTRL,
por ello se llaman caracteres de control a los formados por dicho símbolo
y un carácter.
Nosotros ya conocemos uno, que es
^C. ^C
representa un ESC
o cancelación (viene de los tiempos de MS-DOS). Esta combinación
anula órdenes en curso; algunas órdenes necesitan de dos
cancelaciones para ser anuladas, por eso es conveniente, como ya hemos
explicado, la introducción de ^C^C
en todas las opciones de menú para que, de este modo, anulen por
completo cualquier comando anterior, sea cual sea. Otros comandos, los
cuales permiten una introducción transparente (ZOOM,
ENCUADRE, CAL...)
no necesitarán de estos caracteres y sí del oportuno de transparencia
’.
Existen otros caracteres de control,
como ^H que
representa un retroceso de cursor, esto es, borra el último carácter
introducido. Puede ser necesario en opciones que no deseemos que AutoCAD
coloque un espacio blanco al final de la línea, y también
en otros casos. Seguidamente se muestra una lista con todos los caracteres
de control posibles:
^B
----------> activa/desactiva el Forzcursor
^C
----------> cancela el comando en curso (ESC)
^D
----------> activa/desactiva coordenadas (CTRL+D)
^E
----------> define el siguiente plano isométrico (CTRL+E)
^F
----------> activa/desactiva la referencia a objetos (CTRL+F)
^G
----------> activa/desactiva el modo Rejilla.
^H
----------> ejecuta retroceso
^I
----------> ejecuta un tabulado (TAB)
^M
----------> ejecuta entrada de datos (INTRO)
^O
----------> activa/desactiva el modo Orto (CTRL+O)
^P
----------> activa/desactiva el eco de mensajes (MENUECHO)
^Q
----------> transmite todos los mensajes, listas de estado y datos de entrada
a la impresora (CTRL+Q)
^T
----------> activa/desactiva la tableta (CTRL+T)
^V
----------> cambia la venta gráfica actual (CTRL+V)
^Z
----------> carácter nulo que suprime la adición automática
de un
espacio en blanco al final de un
elemento de menú
Existe otro modo de activar o desactivar
modos si no conocemos su carácter de control, y es introduciendo
el comando en forma de macro (quizá no lo podamos hacer en una sola
opción). Es decir, los dos grupos de opciones siguientes realizan
la misma acción:
[Cambia Orto]^O
[Cambia Orto ON]_ortho _on
[Cambia Orto OFF]_ortho _off
NOTA:
Como veremos, tenemos otros métodos condicionales para poder realizar
lo mismo en una sola línea.
UNO.4.3. Otros mecanismos y apuntes
UNO.4.3.1. Opciones de menú
mediante DIESEL
Sobre el lenguaje DIESEL hablaremos
ampliamente en el MÓDULO ONCE del presente curso,
sin embargo, existe una forma de definir opciones de menú —casi
siempre mediante métodos condicionales— por medio de este lenguaje.
Estudiemos la siguiente proposición condicional:
[$(if,$(getvar,tilemode),~) Esp.
Papel]espaciop
La opción propiamente dicha
podría reducirse a: [Esp. Papel]espaciop,
es decir, al pinchar sobre ella cambiaríamos al Espacio Papel de
AutoCAD. El problema es que, como deberíamos saber, la posibilidad
de cambiar de modo de espacio depende del valor de la variable TILEMODE
(mantenida en esta versión del programa por razones de compatibilidad
con versiones antiguas).
Lo que nos dice la condición
es que, si TILEMODE
tiene valor 1,
se cumple y, entonces, se incluye el carácter tilde (~)
que, como estudiamos, hace que la opción quede inutilizada y la
escribe en un tono gris "apagado".
NOTA:
No debemos ahora preocuparnos por la sintaxis de la línea, ya que
se estudiará a fondo en su parte correspondiente.
Existe la posibilidad de visualizar
en las opciones de un menú una señal o marca indicativa (típica
de Windows) de que está activada esa opción (P
). Para ello deberemos incluir en dicha opción el carácter
de cerrar exclamación (!)
seguido de un punto (.),
de la siguiente manera:
[!.texto_de_la_opción]
En dispositivos gráficos que
no admiten la señal o marca mencionada, se puede incluir otro carácter,
por ejemplo:
[!ctexto_de_la_opción]
que visualizará una señal
con forma de letra "c".
La forma de utilizar esta señal
consiste en incluirla en una condicional DIESEL que establezca o no su
visualización. Por ejemplo:
[$(if,$(getvar,gridmode),!.)Rejilla]^G
[$(if,$(getvar,orthomode),!.)Orto]^O
[$(if,$(getvar,snapmode),!.)Forzcursor]^B
que visualizará una señal
de activación en cada modo cuando se seleccione o esté activado.
Se puede combinar la utilización
de !. y ~
para mostrar señales en opciones no disponibles de la siguiente
forma:
[~!.texto_de_la_opción]
La visualización de opciones
no disponibles y marcas aparecerá siempre qué se despliegue
el menú que las contiene. Cuando interesa que esa visualización
se haga desde una llamada determinada a menú, y no en las demás,
se debe indicar en la línea de llamada de la siguiente forma:
$Pn.i=opciones
$Pn
es la abreviatura del desplegable; i
es el número de orden de la opción cuya visualización
se va a cambiar; opciones
es el tipo de visualización: ~
o !. o ambas.
El número de orden (i)
empieza a contar desde el nombre del submenú, el cual tendrá
el número 1,
hacia abajo, siendo las opciones consiguientes 2,
3, 4...
En el siguiente submenú, por ejemplo, el número de orden
de la opción [TC]
es el 5.
Por ejemplo, una llamada $P4.6=~!.
visualiza como no disponible la opción numerada con el 6
del desplegable ***POP4
y le añade una señal. Para eliminar marcas y visualizaciones
como no disponible, se incluirán llamadas de la forma, siguiendo
con el anterior ejemplo:
$P4.6=
Si en vez de una llamada a un submenú
concreto se desea llamar al último submenú o a la última
opción utilizada, se puede emplear el carácter arroba (@)
así:
$P@.@=opciones
que se refiere a la última
opción de menú desplegable utilizada, o así:
$P@.i=opciones
que se refiere a la opción
de número i
en el último menú desplegable utilizado (aunque no sea la
última opción usada).
UNO.4.3.2. Variable MENUCTL
Si la variable de sistema MENUTCL
tiene valor 1,
se establece que, cuando se utilice una orden de AutoCAD, automáticamente
en el menú de pantalla aparezca el submenú que corresponde
a dicha orden.
UNO.4.3.3. Creación y uso
de menús de macros
Ocurre con frecuencia que, en un
archivo de menú, se repiten constantemente determinadas cadenas
de texto a lo largo del mismo. El empleo de macros de texto permite abreviarlos
definiendo una especie de abreviatura para que luego, cuando aparezca dicho
texto en el menú, se sustituya por el nombre de la macro.
El archivo de menú que contiene
macros es esencialmente igual que el .MNU,
pero debe ser forzosamente guardado con la extensión .MND.
Después habremos de compilarlo con la utilidad MC.EXE
que proporciona AutoCAD y que trocará dicho archivo en otro
del mismo nombre pero con extensión .MNU,
esto es, apto para ser manejado por AutoCAD 14.
NOTA:
MC.EXE se encuentra
en el directorio \SAMPLE\
de AutoCAD 14.
La manera de definir una macro de
texto es la siguiente:
{nombre_macro}=texto
Las definiciones deben ocupar una
sola línea y comenzar por el primer carácter de la primera
línea del archivo. El nombre de la macro debe ir encerrado entre
llaves ({})
y puede contener de uno a 31 caracteres en mayúsculas o minúsculas.
texto
es la cadena de caracteres que la macro sustituye.
La macro puede albergarse en cualquier
punto del archivo de menús. En dicho punto, al ser compilado el
archivo, se sustituirá por el texto completo con el que se ha definido.
Un ejemplo de definición puede ser:
{imp}=capa;def;0;co;porcapa;tl;porcapa;
Se pueden definir, las macros, de
forma recursiva, es decir, anidar unas dentro de otras, de la siguiente
forma:
{rep}=zoom;e;{imp}
De esta forma, todas las macros anidadas
se sustituirán por sus textos equivalentes, formado una macroinstrucción
(no confundir con la macro de texto) de longitud variable.
Existe otra característica
del compilador de menús muy importante, además del uso de
las macros. Es la posibilidad de indicar el número de línea
o líneas del archivo de menú en que se desea colocar una
opción concreta. Esto es particularmente útil en las secciones
de menú de tablero ***TABLET.
Como se ha explicado ya, una vez configurada cada área de tablero
en un determinado número de casillas, será el orden en que
aparecen las opciones en el archivo lo que determina a qué casilla
concreta corresponde cada opción. Esto implica que si una orden
debe ocupar más de una casilla en el tablero, toda la instrucción
de menú se deba repetir en las líneas del archivo que correspondan.
También se puede evitar el
tener que contar las líneas del archivo para saber a qué
casilla corresponden. Para ello, basta con indicar al principio de cada
opción la línea o líneas en que se desea situarla,
de la forma siguiente:
<número,número...>instrucción
Por ejemplo, si se desea situar la
orden REDIBUJA
en las casilla 20,
21, 22,
98, 99
y 100 de un
área de menú de tableta, se puede poner en cualquier lugar
dentro de la sección ***TABLET:
<20,21,22,98,99,100>redibuja
o
<20,21,22,98,99,100>_redraw
Al compilar el archivo .MND,
el comando en cuestión se situará automáticamente
en todas y cada una de las líneas especificadas por sus números
de orden.
El archivo de menú suministrado
por AutoCAD 14 contiene un submenú alternativo llamado **TABLET1ALT
perteneciente al área primera del tablero (***TABLET1)
sin aplicaciones, totalmente reservado para opciones de menú que
sean creadas por el propio usuario. La plantilla está pensada en
principio para una configuración de 25 columnas por 9 filas, y una
utilización prevista de 200 casillas.
El usuario puede personalizar esta
área de menú editando el archivo ACAD.MND
y modificando las líneas del submenú correspondiente. También
se podría editar el ACAD.MNU,
pero es preferible el .MND
por la posibilidad comentada de referir casillas por sus números
de orden.
El submenú **TABLET1ALT
presenta en principio el siguiente aspecto:
Para incluir opciones de menú
propias, basta con introducirlas a continuación de los números
de casilla que interesen. Por ejemplo, si se desea que la casilla 176
contenga la orden REGEN,
entonces la línea correspondiente del archivo quedará como
sigue:
<176>[T1-176]^C^Cregen
Esto puede hacerse con todas las
casillas necesarias. Una vez modificado el .MND,
será preciso compilarlo de nuevo.
Por otro lado, el empleo de submenús
de tablero es una característica que brinda grandes posibilidades
a la hora de personalizar el tablero digitalizador para aplicaciones específicas.
Es habitual encontrar un campo del diseño en el que se requiera
el empleo de amplias bibliotecas de bloques para ser insertados. Es el
caso, por ejemplo, de dibujos de electrónica, electricidad, piping,
etc..., y, en general, todos los dibujos de circuitería. En estos
casos resulta particularmente útil el uso de submenús de
tablero. Con ellos se puede habilitar por ejemplo el área de tableta
primera, citada anteriormente, para diversos submenús.
Supongamos, por ejemplo, que se va
a utilizar la primera área de tablero del menú suministrado
por AutoCAD, con vistas a su empleo en diseños electrónicos.
En primer lugar, se utilizarán las 200 casillas previstas para las
opciones y procedimientos generales (control específico de capas,
instrucciones espaciales de dibujo, de edición, de visualización,
utilidades de AutoLISP, etcétera).
Una plantilla colocada encima de
esa área informará con texto o símbolos de la opción
contenida en cada casilla. En el momento en que se precise insertar un
bloque predefinido de una biblioteca de bloques (un transistor, un diodo,
una puerta lógica, etc.), se puede llamar a un submenú, dentro
de esa misma sección, que habilite otras 200 casillas para nuevas
opciones de inserción de bloques.
Supongamos que el nombre del submenú
es BL-ELEC
y la opción que permite llamarlo se sitúa en la casilla 200.
Habrá que escribir en esa línea del submenú **TABLET1ALT
lo siguiente:
<200>[T1-200]$T1=bl-elec
Cada vez que sea seleccionada la
casilla 200,
se activará el submenú BL-ELEC
que, en este caso, habilitará las casillas para insertar bloques
de la biblioteca. Bastará entonces colocar una nueva plantilla sobre
el área de menú, con los dibujos o los nombres de los bloques
impresos en ella, para que se sepa en qué casilla se inserta cada
uno.
El submenú creado BL-ELEC
se situará en el archivo de menú al final de la sección
***TABLET1
y contendrá todas las opciones de inserción de bloques. Por
ejemplo:
Lógicamente, cada submenú
llamado debe contener opciones que permitan pasar de un submenú
a otro y, también, al principal. Si se utilizan las últimas
casillas, éstas podrían contener, por ejemplo:
de forma que, pinchando sobre la
casilla 199
se volverá al submenú precedente y, sobre la 200, al principal.
Para ello es preciso añadir inmediatamente después del identificador
de sección ***TABLET1
la línea **PRINC.
Sería útil que en la
pantalla se visualizara un mensaje que indicara cuándo se ha entrado
en un nuevo submenú de tablero, como advertencia para cambiar de
plantilla. Esto lo podemos realizar con una instrucción de AutoLISP
(ALERT) que
ya se estudiará en el momento adecuado.
UNO.4.3.3.1. Funcionamiento de
MC.EXE
El compilador MC.EXE
(en \SAMPLE\)
se emplea desde MS-DOS. Su sintaxis es la siguiente:
MC [opciones] nombre_archivo
nombre_archivo
es el nombre del fichero .MND
que contiene las macros de texto (no hay que especificar la extensión).
Las opciones del comando no son obligatorias y son las que siguen:
-D
Lista definiciones de macros
-I
Lista texto de entrada
-M
Desactiva característica de macro
Indicar solamente MC da como resultado
un texto de ayuda explicativo.
Ejemplos:
MC TOPOGRAF
MC C:\ACAD\MIPRO\MEN\BLOQUES
MC –D PIPING
MC –D –M A:\MENÚS\CARTOG
UNO.4.4. Uso de la orden externa
EDIT
Esta orden permite el uso del editor
del sistema operativo MS-DOS (Edit)
sin interrumpir la edición del dibujo en curso. Es muy útil
para la edición de menús de forma ágil.
UNO.5. CARGA Y DESCARGA DE MENÚS
EN AutoCAD
Como hemos aprendido, un archivo
de menú de AutoCAD consiste en una serie de secuencias de
comandos que se ejecutan según determinadas condiciones. Existen
diversos archivos de menú, algunos ASCII que podemos modificar y
otros no. Los diversos archivos son los siguientes:
.MNU
Llamado menú de plantilla por ser el archivo de menús base.
Es
un archivo ASCII y podemos generarlo
o modificarlo a nuestro
gusto pero, al tenerlo totalmente
terminado, es preferible no
volver a tocarlo por si deshacemos
algo importante, y realizar
las subsiguientes pruebas en el .MNS.
.MNS
Archivo de menú fuente. Generado por AutoCAD con el mismo
nombre que el .MNU
y muy parecido a éste. Lo único
que varía
es la falta de la mayoría
de los comentarios y de las secciones no utilizadas.
Es el archivo que debemos modificar
al realizar las
pruebas y el que modifica AutoCAD
al, por ejemplo, crear una
barra de herramientas o un botón
desde el propio programa.
.MNC
Archivo compilado (por lo tanto no es ASCII) directamente del
.MNU,
que crea AutoCAD al cargar un .MNU
para manejarlo más
rápidamente.
.MNR
Archivo llamado de recursos de menú. En él se albergan todos
los
mapas de bits que utiliza el menú
en cuestión, por ejemplo, los
de los iconos creados para botones
de barras de menús.
.MNL
Archivo ASCII de menú con rutinas en AutoLISP que necesita el
archivo de menú en cuestión
creado.
.MND
Archivo ASCII de definición de menús. Contiene macros para
utilizar con el menú creado.
Debe ser compilado externamente mediante la utilidad MC.EXE.
La secuencia de carga y obtención
de los diferentes archivos de menú por parte de AutoCAD,
al indicarle un nombre de archivo, es la siguiente:
Esto nos lleva a recordar que el
archivo .MNS
es en el que podemos realizar todos los cambios y modificaciones que deseemos
en un menú. Si perdemos este fichero o lo modificamos de forma que
no es de nuestro agrado, siempre tendremos en archivo de plantilla .MNU
para recuperar el original. Debemos advertir también que, las modificaciones
de barras de herramientas realizadas desde AutoCAD (que ya veremos)
se guardan, como ya explicamos, en el archivo .MNS,
por ello, al cargar el .MNU
se perderán. Si queremos conservarlas deberemos escribirlas (copiar/cortar
y pegar) en el archivo de plantilla .MNU.
Por su lado, el método de
carga parcial de menús proporciona un mayor control a la hora de
cargar un archivo. Este método se realiza con el comando CARGARMENU
(MENULOAD en
inglés) desde la línea de comando, desde Herr.>Personalizar
menús... o pinchando en la casilla Y-9 del tablero
digitalizador.
De esta forma se carga un menú
parcial que se añade al menú actual base (ACAD.MNU
u otro cargado mediante la orden MENU).
Las secciones de estos menús (***POP,
***TOOLBARS,
***IMAGE o
***HELPSTRINGS)
permiten añadir o reorganizar los menús del menú base
sin modificar el resto de secciones de éste.
El comando visualiza un cuadro de
diálogo con dos pestañas que permiten gestionar los menús
que serán cargados. El procedimiento que debemos seguir para cargar
un menú es el siguiente:
La manera de descargar un menú
es análoga. El comando por teclado de DESCARGARMENU
(MENUUNLOAD
en inglés). Desde la barra de menús y demás se accede
de igual forma que para cargar un menú parcial.
Para descargar un menú deberemos
designarlo bajo Grupo de menús: en la pestaña
Grupo de menús y pinchar en Descargar.
Podemos también suprimir ciertas porciones de menús desde
la otra pestaña pinchando en <<Suprimir.
La finalidad de que existan dos comandos
por teclado para el mismo cuadro de diálogo es para su utilización
en línea de comandos (por el usuario, macros, rutinas AutoLISP...).
NOTA:
Si queremos cargar un menú que ya está cargado, hemos de
descargarlo antes.
NOTA: Podemos especificar
o cambiar los caminos de búsqueda o rutas de acceso a archivos de
menú desde Herr.>Preferencias..., en la pestaña
Archivos y bajo Archivos de menú, ayuda, registro y otros>Archivo
de menús.
UNO.6. EJEMPLOS PRÁCTICOS
DE MENÚS
UNO.6.1. Menú desplegable
simple
***POP1
NOTAS INTERESANTES:
UNO.6.2. Menús desplegables
***POP1
***POP2
***HELPSTRINGS
NOTAS INTERESANTES:
UNO.6.3. Menú de imagen
y desplegable
//Aquí comienza el archivo
de menús.
//Ahora sigue el menú
desplegable.
***POP12
//Lo que viene ahora es
el menú de imagen.
***IMAGE
**CocinaSilla
**CocinaMueble
**SalónSofá
**SalónMesa
**SalónMueble
**BañoLavabo
**BañoBañera
**BañoBidé
**BañoInodoro
**BañoMueble
**HabitaciónMesilla
**HabitaciónCama
**HabitaciónMueble
//Fin del archivo de menús.
NOTAS INTERESANTES:
UNO.6.4. Menú completo
de cartografía
//
// AutoCAD archivo de menús
- C:\MENÚS\CARTOGR.MNU
// NOTA IMPORTANTE:
***MENUGROUP=CARTOGR
***POP1
[Bloques-Carto]
***POP3
***TOOLBARS
***IMAGE
***HELPSTRINGS
//
NOTAS INTERESANTES:
UNO.FIN. EJERCICIOS PROPUESTOS
_icono, alias)]macro
Ejemplos del tipo _Flyout
son (de ACAD.MNU):
[Definición de variables
Spline]
[acad(pm-quad,Malla cuadrática)]'_surftype
5
[acad(pm-cubic,Malla cúbica)]'_surftype
6
[acad(pm-bezr,Malla Bézier)]'_surftype
8
[acad(pl-quad,Polilínea
cuadrática)]'_splinetype 5
[AutoCAD ]^C^C^P(ai_rootmenus)
^P
[* * * * ]$S=ACAD.OSNAP
[ARCHIVO ]$S=ACAD.01_FILE
[EDICIÓN ]$S=ACAD.02_EDIT
[VER 1 ]$S=ACAD.03_VIEW1
[VER 2 ]$S=ACAD.04_VIEW2
[INSERTAR]$S=ACAD.05_INSERT
[FORMATO ]$S=ACAD.06_FORMAT
[HERRAM 1]$S=ACAD.07_TOOLS1
[HERRAM 2]$S=ACAD.08_TOOLS2
[DIBUJO 1]$S=ACAD.09_DRAW1
[DIBUJO 2]$S=ACAD.10_DRAW2
[ACOTAR ]$S=ACAD.11_DIMENSION
[MODIF 1 ]$S=ACAD.12_MODIFY1
[MODIF 2 ]$S=ACAD.13_MODIFY2
[AYUDA ]$S=ACAD.14_HELP
[_Button("Bloques", "ICON1.BMP",
"ICON2.BMP")]$I=ROCA.Bloques $I=ROCA.*
**Bloques
[Rocafot(foto-1,Lavabo)]^C^C_insert
lavabo
[Rocafot(foto-2,Bañera)]^C^C_insert
bañera
[Rocafot(foto-3,Bidé)]^C^C_insert
bide
[Rocafot(foto-4,Inodoro)]^C^C_insert
inodoro
Tenemos dos métodos para cargar
un menú: realizar una carga completa o una carga parcial. La carga
completa se realiza con el comando MENU
de AutoCAD desde la línea de comando. Por defecto AutoCAD
buscará archivos .MNS o
.MNC. Podemos
indicarle el tipo .MNU en
la casilla del cuadro de diálogo Archivos del tipo:.
Al cargar un archivo de menú con esta orden, el nuevo menú
sustituirá por completo al actual. Si cargamos un archivo de menús
de plantilla (.MNU),
AutoCAD muestra una advertencia sobre la necesidad de sobreescribir
y redefinir el archivo fuente .MNS.
Si aceptamos, este archivo de renovará y perderemos los cambios
realizados en él.
Tras todo este proceso, el menú
estará cargado y operativo.
***MENUGROUP=SIMPLE
[Me&nú Simple]
[->&Dibujo]
[&Línea]^C^C_line
[&Polilínea]^C^C_pol
[&Círculo]^C^C_circle
[&Arco]^C^C_arc
[P&olígono]^C^C_polygon
[&Elipse]^C^C_ellipse
[&Spline]^C^C_spline
[Pu&nto]^C^C_point
[<-&Texto]^C^C_mtext
[--]
[->&Edición]
[&Borra]^C^C_erase
[Co&pia]^C^C_copy
[&Simetría]^C^C_mirror
[&Equidistancia]^C^C_offset
[&Matriz]^C^C_array
[&Desplaza]^C^C_move
[&Gira]^C^C_rotate
[&Recorta]^C^C_trim
[&Alarga]^C^C_extend
[C&haflán]^C^C_chamfer
[E&mpalme]^C^C_fillet
[<-Desco&mponer]^C^C_explode
[--]
[->&Visualización]
[->&Zoom]
[&Ventana]'_zoom _w
[&Dinámico]'_zoom
_d
[&Todo]'_zoom _a
[&Extensión]'_zoom
_e
[<-Tiempo &Real]'_zoom
;
[--]
[<-&Encuadre Tiempo Real]'_pan
**Bloques
[&Bloques]
[->&Puertas]
ID_phj1 [&1 Hoja]^C^C_insert
hj1.dwg
ID_phj2 [<-&2 Hojas]^C^C_insert
hj2.dwg
[->&Ventanas]
ID_vhj1 [&1 Hoja]^C^C_insert
hj1.dwg
ID_vhj2 [<-&2 Hoja]^C^C_insert
hj2.dwg
[->&Mobiliario]
ID_silla [&Silla]^C^C_insert
silla.dwg
ID_mesa [&Mesa]^C^C_insert
mesa.dwg
ID_camilla [Mesa &Camilla]^C^C_insert
camilla.dwg
ID_sofa [So&fá]^C^C_insert
sofa.dwg
ID_armar [<-&Armario]^C^C_insert
armar.dwg
**Modificar
[Herramientas B&loques]
ID_crea [&Crear bloque...]^C^C_bmake
ID_limpia [&Limpiar bloque]^C^C_purge
b \_n;
[--]
[->&Otras]
ID_Edatr [Definir a&tributos...]^C^C_ddattdef
[->&Base]
ID_base00 [Base en el &0,0]^C^C_base
0,0;
ID_baseus [<-<-Base de
&usuario]^C^C_base
[--]
ID_borrtd [&Borrar todo]^C^C_erase
_all;;
ID_phj1 [Inserta una puerta
de 1 hoja.]
ID_phj2 [Inserta una puerta
de 2 hojas.]
ID_vhj1 [Inserta una venta de
1 hoja.]
ID_vhj2 [Inserta una venta de
2 hojas.]
ID_silla [Inserta una silla.]
ID_mesa [Inserta una mesa cuadrada.]
ID_camilla [Inserta una mesa
camilla.]
ID_sofa [Inserta un sofá.]
ID_armar [Inserta un armario
empotrado.]
ID_crea [Define un bloque.]
ID_limpia [Limpia el bloque
o los bloques especificados.]
ID_Edatr [Define atributos para
un bloque.]
ID_base00 [Sitúa el punto
base de inserción en el 0,0,0.]
ID_baseus [Sitúa el punto
base de inserción en el indicado por el usuario.]
ID_borrtd [Borra todos lo objetos
del dibujo actual.]
***MENUGROUP=MOBIL
[&Mobiliario]
[->&Cocina]
[&Mesas]$I=MOBIL.CocinaMesa
$I=MOBIL.*
[&Sillas]$I=MOBIL.CocinaSilla
$I=MOBIL.*
[<-M&uebles]$I=MOBIL.CocinaMueble
$I=MOBIL.*
[->&Salón]
[&Sofás]$I=MOBIL.SalónSofá
$I=MOBIL.*
[&Mesas] $I=MOBIL.SalónMesa
$I=MOBIL.*
[<-M&uebles]$I=MOBIL.SalónMueble
$I=MOBIL.*
[->&Baño]
[&Lavabos]$I=MOBIL.BañoLavabo
$I=MOBIL.*
[&Bañeras]$I=MOBIL.BañoBañera
$I=MOBIL.*
[Bi&dés]$I=MOBIL.BañoBidé
$I=MOBIL.*
[&Inodoros]$I=MOBIL.BañoInodoro
$I=MOBIL.*
[<-&Muebles]$I=MOBIL.BañoMueble
$I=MOBIL.*
[->Habitación]
[&Mesillas]$I=MOBIL.HabitaciónMesilla
$I=MOBIL.*
[&Camas]$I=MOBIL.HabitaciónCama
$I=MOBIL.*
[<-<-M&uebles]$I=MOBIL.HabitaciónMueble
$I=MOBIL.*
**CocinaMesa
[Mesas de cocina]
[mobfot(mesc01,Mesa cuadrada)]^C^C_insert
C:/BIBLIO/BLOQ/COCINA/MESA/mesc01.dwg
[mobfot(mesc02,Mesa rectag.)]^C^C_insert
C:/BIBLIO/BLOQ/COCINA/MESA/mesc02.dwg
[mobfot(mesc03,Mesa circular)]^C^C_insert
C:/BIBLIO/BLOQ/COCINA/MESA/mesc03.dwg
[mobfot(mesc04,Mesa extens.)]^C^C_insert
C:/BIBLIO/BLOQ/COCINA/MESA/mesc04.dwg
[Sillas de cocina]
[mobfot(silc01,Silla 1)]^C^C_insert
C:/BIBLIO/BLOQ/COCINA/SILLA/silc01.dwg
[mobfot(silc02,Silla 2)]^C^C_insert
C:/BIBLIO/BLOQ/COCINA/SILLA/silc02.dwg
[mobfot(silc03,Silla 3)]^C^C_insert
C:/BIBLIO/BLOQ/COCINA/SILLA/silc03.dwg
[Muebles de cocina]
[mobfot(mobc01,Mueble 1)]^C^C_insert
C:/BIBLIO/BLOQ/COCINA/MUEBL/mobc01.dwg
[mobfot(mobc02,Mueble 2)]^C^C_insert
C:/BIBLIO/BLOQ/COCINA/MUEBL/mobc02.dwg
[Sofás]
[mobfot(sofs01,Sofá dos
piezas)]^C^C_insert c:/BIBLIO/BLOQ/SAL/SOF/sofs01.dwg
[mobfot(sofs02,Sofá una
pieza)]^C^C_insert c:/BIBLIO/BLOQ/SAL/SOF/sofs02.dwg
[mobfot(sofs03,Sofá en
ángulo)]^C^C_insert c:/BIBLIO/BLOQ/SAL/SOF/sofs03.dwg
[mobfot(sofs04,Esquinero)]^C^C_insert
c:/BIBLIO/BLOQ/COCINA/SOF/sofs04.dwg
[Mesas de salón]
[mobfot(mess01,Mesa ovalada)]^C^C_insert
c:/BIBLIO/BLOQ/SAL/MESA/mess01.dwg
[mobfot(mess02,Mesa rectang.)]^C^C_insert
c:/BIBLIO/BLOQ/SAL/MESA/mess02.dwg
[Muebles de salón]
[mobfot(mobs01,Mueble telev.)]^C^C_insert
c:/BIBLIO/BLOQ/SAL/MUEBL/mobs01.dwg
[mobfot(mobs02,Mueble 3 módul.)]^C^C_insert
c:/BIBLIO/BLOQ/SAL/MUEBL/mobs02.dwg
[Lavabos]
[mobfot(lavb01,ROCA-1)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/LAV/lavb01.dwg
[mobfot(lavb02,ROCA-2)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/LAV/lavb02.dwg
[mobfot(lavb03,ROCA-3)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/LAV/lavb03.dwg
[Bañeras]
[mobfot(bañb01,ROCA-1)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/BAÑERA/bañb01.dwg
[mobfot(bañb02,ROCA-2)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/BAÑERA/bañb02.dwg
[mobfot(bañb03,ROCA-3)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/BAÑERA/bañb01.dwg
[Bidés]
[mobfot(bidb01,ROCA-1)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/BID/bidb01.dwg
[mobfot(bidb02,ROCA-2)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/BID/bidb02.dwg
[mobfot(bidb03,ROCA-3)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/BID/bidb03.dwg
[Inodoros]
[mobfot(inob01,ROCA-1)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/INOD/inob01.dwg
[mobfot(inob02,ROCA-2)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/INOD/inob02.dwg
[mobfot(inob03,ROCA-3)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/INOD/inob03.dwg
[Muebles de baño]
[mobfot(mobb01,Mueble 1)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/MUEBL/mobb01.dwg
[mobfot(mobb02,Mueble 2)]^C^C_insert
c:/BIBLIO/BLOQ/BAÑO/MUEBL/mobb02.dwg
[Mesillas de noche]
[mobfot(mesh01,Mesilla cuadrada)]^C^C_insert
c:/BIBLIO/BLOQ/HAB/MESA/mesh01.dwg
[mobfot(mesh02,Mesilla circular)]^C^C_insert
c:/BIBLIO/BLOQ/HAB/MESA/mesh02.dwg
[Camas]
[mobfot(camh01,Cama 1.20)]^C^C_insert
c:/BIBLIO/BLOQ/HAB/CAMA/camh01.dwg
[mobfot(camh02,Cama 1.60)]^C^C_insert
c:/BIBLIO/BLOQ/HAB/CAMA/camh02.dwg
[mobfot(camh03,Cama 1.90)]^C^C_insert
c:/BIBLIO/BLOQ/HAB/CAMA/camh03.dwg
[mobfot(camh04,Cama 2.10)]^C^C_insert
c:/BIBLIO/BLOQ/HAB/CAMA/camh04.dwg
[Muebles de habitación]
[mobfot(mobh01,Mueble 1)]^C^C_insert
c:/BIBLIO/BLOQ/HAB/MUEBL/mobh01.dwg
[mobfot(mobh02,Mueble 2)]^C^C_insert
c:/BIBLIO/BLOQ/HAB/MUEBL/mobh02.dwg
//
// Para garantizar el acceso
a los archivos de soporte de este menú,
// por medio del comando PREFERENCIAS
del menú HERR, en la pestaña
// ARCHIVOS se debe añadir
como CAMINO DE BÚSQUEDA DE ARCHIVO DE SOPORTE
// el siguiente:
// C:\MENÚS
[Utils-Carto]
ID_Pol_Grosor [Polilínea
grosor 0]^C^C_pline \_w 0 0
ID_Pol_Cur1 [Pol curvas1]^C^C_layer
_set curvas1;;_pline \_w 0 0
ID_Pol_Cur10 [Pol curvas10]^C^C_layer
_set curvas10;;_pline \_w .5 .5
[--]
ID_Borrar1 [Borrar 1]*^C^C_erase
\;
ID_Editpol1 [Editpol]^C^C_pedit
$s=editpol
ID_Curva_B [Curva B]^C^C_pedit
\_s;;
ID_Copias [Copias]$S=X $s=designa
^C^C_select \_copy _p;;_m
ID_Parte1 [Parte @]*^C^C_break
\_f \@
[->Cambiar]
ID_Cambiar [Cambiar]$S=X $s=designa
^C^C_change
ID_Cambiar_col [Cambiar color]$S=X
$s=designa _select \_change _p;;_p _col;\;
ID_Cambiar_txt [Cambiar texto]*^C^C_change;\;;;;;;
ID_Cambiar_capa [<-Cambiar
capa]$S=X $s=designa ^C^C_select \_change _p;;_p _layer;\;
[--]
ID_ayuda_cart [Ayuda]^C^C(help
"c:/menús/cartograf.ahp")
ID_Insertar [INSERTAR]^C^C_DDINSERT
[ banco]^C^C_insert banco
[ farola]^C^C_insert farola
[ quiosco]^C^C_insert kiosko
[ pozo]^C^C_insert pozo
[ árbol]^C^C_insert arbol
[ cabina]^C^C_insert cabina
[ fuente]^C^C_insert fuente
[ caseta]^C^C_insert caseta
[ torre]^C^C_insert torre
[ poste]^C^C_insert poste
[ ermita]^C^C_insert ermita
[Capas-Carto]
ID_Capas [Gestión de
Capas]^C^C_DDLMODES
[ Edificios]^C^C_layer _set
edificios;;
[ Medianerías]^C^C_layer
_set medianerias;;
[ Aceras]^C^C_layer _set aceras;;
[ Curvas1]^C^C_layer _set curvas1;;
[ Curvas10]^C^C_layer _set curvas10;;
[ Carreteras ]^C^C_layer _set
carreteras;;
[ Caminos]^C^C_layer _set caminos;;
[ Ferrocarril]^C^C_layer _set
ferrocarril;;
[ Ríos]^C^C_layer _set
rios;;
[ Arroyos]^C^C_layer _set arroyos;;
[ Arbolado]^C^C_layer _set arbolado;;
[ Cultivos]^C^C_layer _set cultivos;;
[ T. eléctrico]^C^C_layer
_set t_electrico;;
**CARTOGRAFIA
**CARTOGRAFíA
ID_Cartografía [_Toolbar("Cartografía",
_Floating, _Show, 238, 156, 1)]
ID_Línea_1 [_Button("Línea",
"ICON_16_LINE", "ICON_24_LINE")]^C^C_line
ID_Centro_Radio_1 [_Button("Centro
Radio", "ICON_16_CIRRAD", "ICON_24_CIRRAD")]^C^C_circle
ID_Polilínea_1 [_Button("Polilínea",
"ICON_16_PLINE", "ICON_24_PLINE")]^C^C_pline
[--]
ID_Borrar_1 [_Button("Borrar",
"ICON_16_ERASE", "ICON_24_ERASE")]^C^C_erase
ID_Editar_polilínea_1
[_Button("Editar polilínea", "ICON_16_PEDIT", "ICON_24_PEDIT")]^C^C_pedit
ID_Equidistancia_1 [_Button("Equidistancia",
"ICON_16_OFFSET", "ICON_24_OFFSET")]^C^C_offset
[--]
ID_inser_cart [_Button("Símbolos",
"ICON5705.bmp", "ICON_24_BLANK")]^C^C$I=cartogr.Simb_carto $I=*
[--]
ID_ayuda_cart [_Button("Ayuda",
"ICON4464.bmp", "ICON_24_BLANK")]^C^C(help "c:/menús/cartograf.ahp")
[--]
ID_Ctrl_Lyr_1 [_Control(_Layer)]
**SIMB_CARTO
[Bloques de Cartografía]
[simbcart(banco,Banco)]^C^C_insert
banco
[simbcart(farola,Farola)]^C^C_insert
farola
[simbcart(quiosco,Quiosco)]^C^C_insert
kiosko
[simbcart(pozo,Pozo)]^C^C_insert
pozo
[simbcart(arbol,Árbol)]^C^C_insert
arbol
[simbcart(cabina,Cabina)]^C^C_insert
cabina
[simbcart(fuente,Fuente)]^C^C_insert
fuente
[simbcart(caseta,Caseta)]^C^C_insert
caseta
[simbcart(torre,Torre)]^C^C_insert
torre
[simbcart(poste,Poste)]^C^C_insert
poste
[simbcart(ermita,Ermita)]^C^C_insert
ermita
ID_POL_GROSOR [Dibuja una polilínea
de grosor 0]
ID_POL_CUR1 [Dibuja una polilínea
en la capa Curvas1 con grosor 0]
ID_POL_CUR10 [Dibuja una polilínea
en la capa Curvas1O con grosor 0.5]
ID_BORRAR1 [Suprime un único
objeto del dibujo cada vez]
ID_EDITPOL1 [Edita polilíneas
y mallas poligonales tridimensionales: editpol]
ID_CURVA_B [Convierte una polilínea
en curva B]
ID_COPIAS [Realiza varias copias
de los objetos designados]
ID_PARTE1 [Parte un objeto por
un sólo punto]
ID_CAMBIAR [Comando Cambia]
ID_CAMBIAR_COL [Cambia el color
de los objetos designados]
ID_CAMBIAR_TXT [Modifica un
texto insertado en el dibujo]
ID_CAMBIAR_CAPA [Cambia la capa
de los objetos designados]
ID_INSERTAR [Permite la inserción
de bloques en el dibujo]
ID_CAPAS [Accede al cuadro de
diálogo para la gestión de capas: Ddlmodes]
ID_CARTOGRAFíA [Menú
específico para la aplicación de cartografía]
ID_LíNEA_1 [Crea segmentos
de línea recta: línea]
ID_CENTRO_RADIO_1 [Crea círculos
mediante el centro y el radio: círculo]
ID_POLILíNEA_1 [Crea
polilíneas bidimensionales: pol]
ID_BORRAR_1 [Suprime objetos
de un dibujo: borra]
ID_EDITAR_POLILíNEA_1
[Edita polilíneas y mallas poligonales tridimensionales: editpol]
ID_EQUIDISTANCIA_1 [Crea círculos
concéntricos y líneas y curvas paralelas: eqdist]
ID_INSER_CART [Inserción
de simbología mediante un menú de iconos]
ID_AYUDA_CART [Ayuda sobre la
aplicación de cartografía]
ID_CTRL_LYR_1 [Gestión
de capas mediante botón desplegable especial]
// Final de AutoCAD archivo
de menús - C:\MENÚS\CARTOGR.MNU
//