www.ESEDI.net
Alberto Rodríguez Galnares ITDiseño Industrial
ESPAÑA EN DISEÑO
MACROS DE BOTON PARA RUTINAS DE AUTOCAD 2004/5 2 004/5 ALBERTO RODRIGUEZ GALNARES http://www.esedi.net/
INDICE 0 INTRODUCCIÓN 1 CREAR BOTONES 2 PRIMEROS PASOS 3 INTERPRETANDO ALGUNOS COMANDOS. 4 LOS ODIOSOS ICONOS *.BMP ASOCIADOS A LOS BOTONES
0 INTRODUCCIÓN
Se desarrolla el tema por el interés que genera el aprendizaje de estas aplicaciones en el entorno de Autocad. Crear botones en Autocad ES FÁCIL solo necesitamos una orientación de cómo HACERLO, ese es el objetivo de este pequeño manual. No desarrollaremos complejas programaciones en rutinas de Autolips, sino que con la ordenación de los comandos y con el uso de caracteres especiales, se nos abrirá un mundo de rutinas de fácil uso, simplificando los datos a introducir. Cuando surjan dudas aconsejo el uso de la AYUDA de Autocad F1, ya que es el mejor libro que se ha editado del programa al respecto, aunque a veces hay que saber donde buscar la información, está ahí. No esperéis un manual bonito, sino práctico. Lo mejor sería que según valláis leyendo con el autocad abierto introduzcáis las rutinas y comprobéis su funcionamiento caracter por caracter, no hay otra manera mas SINCERA de aprender. Sin otro preámbulo os presento este pequeño manual, disfrutadlo. Por cierto, si te gustó visita mi web
www.esedi.net
Un cordial saludo Alberto Rodríguez Galnares Poeta CAD
Página 1 de 3
www.ESEDI.net
Alberto Rodríguez Galnares ITDiseño Industrial
ESPAÑA EN DISEÑO
1 CREAR BOTONES
MACROS DE BOTON.- Es la forma que tenemos para que a través de un botón obliguemos a Autocad a realizar una serie de ordenes de forma continuada. Para hacer esto es necesario 1) Crear un menu (solo para nuestra personalización) 2) Crear una barra de herramientas (para insertar los botones) 2º)VER EL LISTADO COMPLETO DE BOTONES EXISTENTES EN AUTOCAD 2ºº) CARGAR RUTINAS EXPRESS (CAPAS, TEXTO CURVAR) 3) Insertar botones vacíos.( TB podemos Insertar botones desplegables y llamar a una barra de herramientas existente) •
Definir un botón nuevo (definido por el usuario).1) Nombrar (texto de línea de comando, como se ejecuta el mismo) 2) Descripción (se describe lo que hace el comando) 3) imagen de icono (se guarda una imagen *.bmp en la carpeta support, para que lo encuentre el Programa) 4) MACRO (con caracteres especiales de macro, se indica que ordenes y comandos debe ejecutar Autocad y seguir el usuario)
CARACTERES y CODIFICACIÓN DE UNA MACRO.^C^C _ ; (ESPACIO) \ *
ESCAPE ESCAPE GUION BAJO PUNTO Y COMA
(empiezan así para salirse de cualquier comando o subrutina activa) (antes de comando, implica que lo que le sigue es comando en inglés) (INTRO)
CONTRABARRA ASTERISCO
'
APOSTROFO
@; -
arroba pto y coma guión medio
Designa; +
COMANDO MÁS (SUMA)
(PAUSA, cuando debe parar la macro para que el usuario introduzca un valor) (delante de macro implica repetición, EL USUARIO solo se sale de la macro con ESCAPE) (delante de macro implica COMANDO FLOTANTE, SUSTITULLE A ^C^C, ej( '_zoom; & '_help;) (arroba intro, implica ultimo pto insertado) (obliga al comando a ejecutarse a través de línea de comando, en lugar de a través de cuadro de dialogo) ej( -_insert;) Designamos y ejecutamos comando con previa designación. Salto de carro en la macro.
(LOAD "C:/RUTA APLICACION/NOMBREAPLICACION.VLX") N Esta línea cargaría la aplicación de la ruta especifica y se metería en la opción N; (equivaldría a Herramientas cargar aplicación, examinar la ruta elegir el archivo y aceptar)
2 PRIMEROS PASOS
Tenemos que tener consciencia de que cada versión de Autocad introduce pequeñas mejoras que habilitan o deshabilitan las macros, por eso vamos a intentar entender su funcionamiento, para corregir las mismas, según la versión que tengamos del programa. El manual se hizo desde v2004. Toda la información de creación de botones y comandos se almacena en un archivo (editable con el bloc de notas) denominado acad.mns, yo operaré desde el entorno de Autocad, pero para guardar una copia de esta información deberé copiar este archivo con el que se trabaja en algún lugar seguro y recurrir a esta copia en caso de perdida del anterior o traslado a otro ordenador. Herramientas/Personalizar/Barra de Herramientas Cuando creo una nueva barra de Herramienta (B Nueva), esta se asocia al menu activo, se le da un nombre y aparece sin botones en el área gráfica de Autocad con la siguiente apariencia.
Página 2 de 3
www.ESEDI.net
Alberto Rodríguez Galnares ITDiseño Industrial
ESPAÑA EN DISEÑO
Barra de Herramientas Nueva
Ahora deberemos insertar dentro de esta barra de Herramientas un nuevo icono en BLANCO Botón “Definido por el usuario” en 2004 o en versiones siguientes “Comando1” Para ello Herramientas/Personalizar/Barra de Herramientas/Pestaña comando/Categoria Definada por usuario/ Pincho con el BI (boton izdo) sobre la zona blanca anterior (circulo rojo) de “botón definido por usuario” y manteniendo pulsado arrastro hasta dentro de mi nueva BH (barra de Herramienta) Si pincho con BI sobre en icono del botón Nuevo (en blanco), aparece pestaña propiedades de botón y aquí trabajaremos las macros y apariencia de los botones nuevos.
Botón definido por usuario pinchado con BI y arrastrado hasta BH nueva
Si pincho con BI sobre en icono del botón Nuevo, aparece pestaña propiedades de botón
NOTA.- Todos los botones existen en Herramientas/Personalizar/Barra de Herramientas/Pestaña comando, ahí mirare los listados de todos los comandos que existen en Autocad, para incluir alguno se pinchan y arrastran a las BH existentes. NOTA.- Para eliminar un icono de una BH se pincha y se suelta en el área gráfica y el mismo desaparece (cuidado con los botones creados por nosotros de forma personal, porque no volverán a aparecer si se eliminan) •
Crearemos los siguientes comandos.
1) Cómo empieza un comando.- Cualquier comando debería comenzar anulando cualquier rutina en curso, o sea con ESCAPE más ESCAPE. CANCELA Se sale de cualquier comando en curso. (Así empieza cualquier comando de Autocad) ^C^C 2) Uso de un comando en la macro.- Ya sea a través del alias , comando en castellano o comando en inglés precedido de guión bajo, se introduce su nombre con un posterior intro (;) ejecutamos el comando. REGEN Redibuja todo el dibujo en función de la pantalla actual (ampliando campos de trabajo) ^C^Crg; 3) Uso de una designación previa.- Para saltarnos problemas de designación de entidades, usaremos la orden designa y ya veremos que posteriormente en la selección podremos acudir a su previo. DESIGNA Obliga a seleccionar. Hace una selección para luego poder usarse como Previa ^C^Cdesigna;
Página 3 de 3
www.ESEDI.net
Alberto Rodríguez Galnares ITDiseño Industrial
ESPAÑA EN DISEÑO
4) Mi dibujo. MIDIBUJO Encuadra y muestra la zona de todo lo dibujado, alejándose un pelín para poder luego trabajar ^C^C_zoom;e;_zoom;0.9x; ^C^C _zoom; e; _zoom; 0.9x;
Escapo Escapo Ejecuto comando zoom en inglés (se puede sustituir por el alias) Extensión Ejecuto comando zoom en inglés (se puede sustituir por el alias) Factor respecto de la ventana actual de 0.9 % de reducción.
z; z;
4b) Comando copia Múltiple.- Valido en versiones inferiores a la 2004 COPIAM Copia múltiples veces ^C^Cdesigna;\_copy;p;;m; ^C^C designa; _copy; p;; m;
Escapo Escapo Ejecuto comando designa Ejecuto comando copia En la selección uso modo de selección p de previo y acepto esa selección con intro. M de multiple
5) Genero una BH (barra de herramientas) para utilidades scp 3D.6) Volteo scp respecto eje x 90º. scpx90 Rota el scp respecto su eje x 90º ^C^C_ucs;_x;90; 7) Volteo scp respecto eje y 90º. 8) Volteo scp respecto eje z 90º. 9) Genero una BH para 3D y dentro un icono desplegable que llame a la BH scp 3D previamente trabajada, desde Herramientas/Personalizar/Barra de Herramientas/Pestaña comando/Categoria Definada por usuario/ Botón desplegable, pinchando con BI y arrastrado hasta BH nueva posteriormente asocio al mismo la BH scp 3d 10) Genero BH Modificar 3D.- Con iconos existentes Matriz 3D, Gira 3D (forzando 2pto), Simetría 3D, Alinea 3D. 11) Dentro de BH para 3D y incluyo un icono desplegable que llame a la BH Modificar 3D previamente trabajada. 12) Un clásico de los botones es el uso de empalme de radio 0 para unir dos líneas en su intersección. Nosotros lo vamos a ver para que el comando funcione de forma continua en bucle hasta que Escapemos INTERSECTAR Une líneas en su intersección. (se sale con escape) *^C^C_fillet;r;r;ra;0;;\ * ^C^C _fillet; r;r; ra;0; ; \
Implica bucle de comando (se sale del mismo con escape) Escapo Escapo Ejecuto comando empalme en inglés. Activo recortar Fuerzo el empalme a radio cero Repito el comando e Implico a la selección Pauso la selección, para designar objetos
NOTA.- en versiones ultimas de autocad existe l; (para múltiples designaciones) y recortar con t; t; dentro de _fillet;
Página 4 de 4
www.ESEDI.net
Alberto Rodríguez Galnares ITDiseño Industrial
ESPAÑA EN DISEÑO
12) Otro clásico de los botones es el uso de giro con referencia forzado de manera que solo pinchando 3 ptos se acabe la rutina. (pto giro, 1º pto de origen, a 2º pto de destino) Gira REF Gira forzando la referencia a entidades existentes. ^C^C_rotate;\;\R;@;\\ _rotate; \; \ R; @; \ \
Ejecuto comando girar en inglés. Selecciono y acepto Pauso e Inserto pto giro Fuerzo la referencia Repito el último pto insertado como 1º pto de la referencia (osea el pto anterior se indica así) Indico pto origen Indico pto destino
Ejercicio .- realizar botón escala con referencia. 13) El siguiente botón tiene la utilidad de sustituir a desplaza, giro con referencia y escala con referencia, ejecutando toda la rutina de una sola vez, pudiendo elegir si escala o no. (simplificándola y haciéndola más útil). Valida en acad 2004 ALINEA2D DESPLAZA GIRA Y ESCALA con referencia (en el 3º pto de mira, realiza intro, desea escalar si o no) ^C^Cdesigna;\_align;p;;\\\\; 14) Botón separa en dos partes en un pto cualquiera (en versiones a partir de 2004 es partir en un pto) Parte 1 pto Usa partir forzando un cercano y repitiendo ese mismo pto como 2º pto ruptura ^C^C_break;cer;\@;
3 INTERPRETANDO ALGUNOS COMANDOS A TRAVES DE MACROS DE BOTÓN.
AMARILLO – COMANDO EXISTENTE AZUL – COMBINACIÓN DE COMANDOS GRIS – MACRO BH – BARRA HERRAMIENTAS BH ARG.Selección rápida Crea rápidamente conjuntos de selección basados en los criterios de filtrado: SELECR ^C^C_qselect LIMPIA TODO Limpia las tripas del dibujo actual de elementos que no se han usado aun en el dibujo, evitando el CD y limpiando todo incondicionalmente. ^C^C-li;t;;n; Duplica Copia en el mismo sitio, haciendo un duplicado. Luego se puede usar desplaza previo (es un copiar) o gira previo (más útil) ^C^C_copy;\0,0;@; (salgo escapando ^C^C para evitar la múltiple copia de las últimas versiones, mejor salir con intro si permite) ^C^C_copy;\;0,0;@; (en acad 2004) DP Desplaza previa selección ^C^Cd;p;;
Página 5 de 5
www.ESEDI.net
ESPAÑA EN DISEÑO
Alberto Rodríguez Galnares ITDiseño Industrial
CP Copia previa selección ^C^C_copy;p;; GP Gira previa selección ^C^C_rotate;p;; ROTA 180 GIRA 180 ^C^C_rotate;\;\180; Ejercicio.- rota 90 & rota -90 REFLEJA SIMETRIA SIN COPIA ^C^C_MIRROR;\;\\S; RECORTA ALARGA Uso de recorta con todo mas mayúsculas alarga con todo, (se puede mejorar haciendo que alargue, prolongando el recorte) Solo a partir de 2004 ^C^C_trim;;A;A; LINPER Genera una línea perpendicular ^C^C_LINE;\PER;\; LINaPOL Convierte líneas en polilineas ^C^Cdesigna;\pe;m;p;;s;j;;; LINaPOL cerr Convierte lineas en polilineas cerradas ^C^Cdesigna;\pe;m;p;;s;j;;c;; Pol cerr Cierra polilineas abiertas ^C^Cdesigna;\pe;m;p;;c;; CAMBIA ALTURA Desplaza un objeto a la altura de un pto del mismo a la z de otro designado (se puede mejorar con scu universal a priori) (SIRVE EN 3d) ^C^C_move;\;\.xy;@; Ejercicio.- Múltiples copias a la altura Borde Designa todos los objetos que se cruzan con una línea de selección $M=$(if,$(getvar,cmdactive),,_select;)_f Polígono captura Designa objetos incluidos en un polígono definido o que se intersecan con él $M=$(if,$(getvar,cmdactive),,_select;)_cp Cercano Fuerza el cursor al punto más cercano de un objeto: CER _nea Desde Localiza un punto de desfase desde un punto de referencia en un comando: DESDE _from Medio entre 2 pto la referencia a objetos medio entre 2 ptos (SOLO AP ARTIR DE 2005) _m2p;
Página 6 de 6
www.ESEDI.net
ESPAÑA EN DISEÑO
Alberto Rodríguez Galnares ITDiseño Industrial
Escalar texto pto escala Escala los objetos de texto designados: TEXTOESCALA, respecto su pto base y un factor de escala ^C^Cdesigna;\_scaletext;p;;e;e;\ A estudiar.- Rota texto respecto su pto insercion.-(solo se puede en el campo rotación de la bh propiedades) Ortografía Comprueba la ortografía en un texto seleccionado: ORTOGRAFIA '_spell Campo Inserta una cadena de texto que se puede actualizar automáticamente cuando cambia el valor de campo: CAMPO, (indica en texto el valor de la variable.) (SOLO APARTIR DE 2005) ^C^C_Field Copiar con punto base Duplica objetos repetidamente con un punto base: COPIARBASE. (ctrol+C con pto de inserción) ^C^C_copybase Opciones Personaliza los parámetros: OPCIONES (herramientas/opciones) ^C^C_options SAL GUAY Z ext y guarda como… y cierra el archivo ^C^C_ZOOM;_E;_GUARDARCOMO;^C^CCERRAR; BH DIBUJO.Contorno Crea una región o una polilínea a partir de un área incluida: CONTORNO ^C^C_boundary Texto en una línea Visualiza el texto a medida que se escribe: TEXTOD IN ^C^C_dtext Tabla Crea un objeto de tabla vacío en un dibujo: (TABLA (SOLO APARTIR DE 2005) ^C^C_table BH APARIENCIA.VOLTEA EM CREA UNA LIN PER, SCP 3P, Y ROTA LA VISTA AL SCP ACTUAL ^C^C_LINE;\PER;\;^C^C_ucs _3;\\\^C^C_plan ;^C^CB;LT;; •
Este botón se puede estudiar para que se haga a partir de scp objeto, aunque aveces depende del orden de creación del objeto, de manera que tendría que existir un botón análogo que rotase 180º para corregir la rutina. VOLTEA EM OBJETO Voltea el EM designando el scp de un objeto ^C^C_ucs;_ob;\_plan;a; VOLTEA EM 180º Voltea el EM 180 sobre el objeto ^C^C_ucs;-z;\_plan;a;
Página 7 de 7
www.ESEDI.net
ESPAÑA EN DISEÑO
Alberto Rodríguez Galnares ITDiseño Industrial
VOLTEA EM PREVIO Visualiza la vista en planta del Sistema de Coordenadas Universales: PLANTA ^C^C_plan _w;^C^C_ucs _w; Pon detras Coloca en el orden de visualización el objeto designado detrás de todo ^C^Cdesigna;\ordenaobjetos;p;;t; BH ACOTAR.Lineal Lineal con intro, a selección de objeto. ^C^C _dimlinear;; LinealD Crea cotas lineales: ACOLINEAL con el simbolo del diametro ^C^C_dimlinear;\\t;%%c<>;\ Lineal multiple Lineal con intro, a selección de objeto, múltiples veces (hasta que escape) *^C^C _dimlinear;; Alineada OBJETO Crea una cota lineal alineada: ACOALINEADA, FORZANDO OBJETO ^C^C_dimaligned;;\\ Continua OBJETO Continúa una cota lineal, angular o por coordenadas desde la segunda línea de referencia de la cota anterior o una designada: ACOCONTINUA, DESIGNANDO LINEA BASE ^C^C_dimcontinue;;\ DESPLAZA TEXTO COTA Desplaza solo el texto de cota ^C^C_aidimtextmove;_2; DESPLAZA directriz Desplaza la directriz de su pto final de l a flecha a un cercano cualquiera (combinar con duplica) ^C^Cdesigna;\_move;p;;fin;\cer;\ DESPLAZA cota Desplaza la cota de su pto de referencia a un fin cualquiera ^C^Cdesigna;\_move;p;;_nod;\fin;\
POR EJEMPLO CAMBIA A LA CAPA LIN REF.1º creo capa lin ref amarilla y no imprimible ^C^C-capa;cr;linref;co;amarillo;linref;imp;n;linref;; 2º sobre el objeto seleccionado comando cambia/capa/linref ^C^C-capa;cr;linref;co;amarillo;linref;imp;n;linref;;cambprop;\;c;linref;; NOTA.- MACRO CUTRE.- duplica y cambia a capa ^C^Ccapa;designa;\_copy;p;;0;@;cambprop;p;;c; Arranca el administrador, aquí vario o creo la capa, y me copio el nombre, designo el objeto a duplicar, y cambia su propiedad en el modo capa, al nombre que pegue en línea de texto con Ctrol+V.
Página 8 de 8
www.ESEDI.net
ESPAÑA EN DISEÑO
Alberto Rodríguez Galnares ITDiseño Industrial
POR EJEMPLO CAMBIA A VERSION2000.- Sobrescribe el archivo con el mismo nombre sin que te lo pregunte guardando en versión. 2000 ^C^CFILEDIA;0;GUARDARCOMO;2000;;S;^C^CFILEDIA;1; Mucho cuidado con este comando, ya que entidades que existieran en 2004 ej entidad gráfico proxi no aparecerían en v2000. NOTA.- Para gente con dificultades de visión existe una manera de indicar que se agranden los iconos del interface de autocad. Herramientas/Personalizar/Barra de Heramientas/ ACT botones grandes
NOTA del Manual de autocad .- Normalmente las macros de menú continúan después de introducir un elemento. Por lo tanto, no es posible construir una macro de menu que acepte un número de variable de entradas (como en la selección de objetos) y que, después, continúe. No obstante, se produce una excepción con el comando DESIGNA; una contrabarra detiene la macro de menu hasta que haya terminado la selección de objetos. [Poner en rojo]designa;\cambia;previo;;propiedades;color;rojo;; Este elemento usa el comando designa para crear un conjunto de selección de uno o varios objetos. A continuación ejecuta el comando CAMBIA, y hace referencia al conjunto de selección previo y cambia el color a rojo Comando: cambia Designe objetos: Designe esquina opuesta: 2 encontrados Precise punto del cambio o [Propiedades]: p Indique propiedad que se va a cambiar [cOlor/eLev/Capa/Tlínea/Escalatl/Grosorl/Alt-objeto]: NOTA.- MODO DE DESIGNACION DE OBJETOS SINGULARES O UNICOS.[Borra]^C^Cborra;unico;
Página 9 de 9
www.ESEDI.net
ESPAÑA EN DISEÑO
Alberto Rodríguez Galnares ITDiseño Industrial
NOTA.-(A DESARROLLAR) TB EXISTEN LAS TECLAS DE ACELERACION PARA LA PRESONALIZACION (CTROL+ ALGO) para CONFIGURACIONES PARTICULARES. NOTA.-(A DESARROLLAR) Y LOS YA CONOCIDOS ALIAS DE COMANDO DEL ARCHIVO EDITABLE CON EL BLOC DE NOTAS ACAD.PGP
4 LOS ODIOSOS ICONOS *.BMP ASOCIADOS A LOS BOTONES.-
Como seguro que hemos podido comprobar, no basta con hacerte iconos para personalizar tus botones, sino que a demás queremos que estos nos valgan cuando migramos el menu en otro ordenador. Bien pues, para hacer eso tendremos que editar a pelo (Bloc de Notas el archivo *.mns de acad) e indicar que para el botón tal le corresponde la imagen cual. (para que pueda acceder a ella los iconos personalizados deben tener un tamaño especifico, que si lo hemos hecho a través del editor lo tendrá, y estar ubicados en la misma carpeta de tu *.mns.(SUPPORT de documents & settings de tu usuario) Ni que decir que el nombre de los mismos debe ser simple y sin caracteres. Se editarían estas líneas del *mnu y cambiaríamos el nombre en el campo en negrita y cursiva, dentro de nuestra barra de herramientas personalizada (buscar con nuestro nombre). Esta el la posición del icono pequeño y la siguiente la del icono grande (16 por 15 píxeles y 32 por 30 píxeles.) **ARG ID_Qselect_0 [_Button("Selección rápida", "SELECR.bmp ", "RCDATA_16_BLANK")]^C^C_qselect
Página 10 de 10