El Proyecto de Documento.
Guardamos el documento de parte en nuestra carpeta de trabajo y abrimos,
desde el menú Herramientas > Macro > Editor de Visual Basic o
mediante la combinación de teclas Alt+F11, el Entorno de Desarrollo
(IDE) de Visual Basic para Aplicaciones (VBA).


Diseño del Formulario:
Se insertarán en el formulario cuatro controles Cuadro de Texto (TextBox), cuatro controles Etiqueta (Label) y dos Botones de Comando (CommandButton) según la disposición que se muestra en la Figura 8. Se modificarán las propiedades de los mismos como se indica a continuación:
Etiqueta 1: Name: lblDimX |
Caption: DimX |
Cuadro de Texto 1: Name: txtDimX |
Value: |
Etiqueta 2: Name: lblDimY |
Caption: DimY |
Cuadro de Texto 2: Name: txtDimY |
Value: |
Etiqueta 3: Name: lblAcuerdo |
Caption: RadioAcuerdo |
Cuadro de Texto 3: Name: txtAcuerdo |
Value: |
Etiqueta 4: Name: lblCentro |
Caption: RadioCentro |
Cuadro de Texto 3: Name: txtCentro |
Value: |
Botón de Comando 1:
Name: cmdAplicar |
Caption: Aplicar |
Botón de Comando 2:
Name: txtCentro |
Caption: Cancelar |
Inicializar el Formulario:
Queremos que los cuatro cuadros de texto reflejen los valores actuales de esos parámetros al mostrarse el formulario. Para ello debemos incluir el código necesario en un procedimiento que se ejecute al solicitar que se muestre el formulario. Este código se debe incluir en el procedimiento Initialize del UserForm. Posteriormente incluiremos el código necesario para que al cambiar estos valores se cambien los parámetros.

Procedimiento para obtener los valores de los Parámetros.

- Obtener la colección PartComponentDefinition, propiedad del PartDocument.
- Obtener la colección Parameters que es una propiedad de PartComponentDefinition. (ver Figura 10).
- Recorrer la colección Parameters, comprobando para cada uno de ellos si su propiedad Name coincide con alguno de los parámetros que nos interesan. En caso de que así sea, se asigna el contenido de su propiedad Value a la propiedad Value del cuadro de texto correspondiente a ese parámetro. El resultado se muestra en la Figura 11.

Observe que los valores aparecen en centímetros, aunque en la interfaz de usuario de Inventor los datos
aparecen en milímetros. Más adelante se resolverá el problema de mostrar los datos en las mismas unidades.
El código para el evento Initialize se muestra en la Figura 12. Observe que las variables destinadas a alojar los
objetos Parameters (colección de parámetros) y Parameter (parámetro) se declaran como globales para el
formulario de manera que puedan ser utilizados por otros procedimientos.

Procedimiento para aplicar los cambios a los Parámetros.
Hemos incluido dos botones de comando, cmdAplicar y cmdCancelar. Para ambos botones se deberá definir el procedimiento que se ejecutará a consecuencia del evento Click que se produce al pulsar el botón izquierdo del ratón sobre ellos. El botón cmdCancelar cierra el cuadro de diálogo. El código asociado al este botón no hace más que invocar el método Unload al formulario (representado por la variable global Me). El código correspondiente al evento Click del botón cmdCancelar se muestra en la Figura 13.

El botón cmdAplicar provocará la actualización de los Parámetros. Para ello se procede como sigue:
- Leer la propiedad Value de cada control Cuadro de Texto.
- Aplicar cada uno de estos valores a la propiedad correspondiente de la parte.
- Una vez modificadas las propiedades, aplicar el método Update del Documento para actualizar la presentación en pantalla.
- Una vez actualizado el documento se cerrará y descargará el formulario empleando el método Unload.
El código para el evento Click del botón cmdAplicar se muestra en la Figura 14.

Creación de la Macro.
Para invocar este formulario se deberá crear una Macro, es decir un procedimiento público que no reciba argumentos. Su código se guardará en el Módulo1 y en su forma más simple se limitará a invocar el método Show del formulario. La Figura 15 muestra el código para esta Macro.

Algunos resultados de la aplicación de esta macro se muestran en las siguientes figuras.

Para Continuar.
Esta macro puede mejorarse:
- Introduciendo una imagen que muestre la geometría a la que se aplican los distintos parámetros.
- Comprobando los datos para evitar los errores a que daría lugar una incoherencia en los valores asignados por el usuario.
- Mostrando mensajes que indiquen al usuario si ha cometido errores y cuáles son estos.
- Estableciendo opciones predeterminadas (bordes sin redondeo, pieza sin agujero central, etc.).
- Mostrando de manera automática el cuadro de modificación de parámetros al abrir el dibujo.
- Mostrando las dimensiones en las mismas unidades que el documento (milímetros en lugar de centímetros).
Las próximas sesiones se dedicarán a introducir algunas estas mejoras.