Autodesk Inventor‎ > ‎Autodesk Inventor VBA.‎ > ‎2. Un Proyecto de Documento‎ > ‎

2.1. El Formulario Inicial.

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).

Figura 6

Como podemos comprobar, en la ventana del explorador de proyectos aparecen dos proyectos predefinidos: elProyecto de Aplicación y el Proyecto de Documento. En este proyecto de documento insertaremos un nuevoformulario de usuario (UserForm), tal como se muestra en la Figura 6. Mediante la ventana Propiedades(Figura 7) cambiamos el nombre predefinido por el de frmParams.
                     Figura 7.Figura 8.                   

Diseño del Formulario:

Se insertarán en el formulario cuatro controles Cuadro de Texto (TextBox), cuatro controles Etiqueta (Label) ydos Botones de Comando (CommandButton) según la disposición que se muestra en la Figura 8. Semodificará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 reflejenlos valores actuales de esos parámetros al mostrarseel formulario. Para ello debemos incluir el códigonecesario en un procedimiento que se ejecute alsolicitar que se muestre el formulario. Este código sedebe incluir en el procedimiento Initialize delUserForm.Posteriormente incluiremos el código necesario paraque al cambiar estos valores se cambien losparámetros.

Figura 9

Procedimiento para obtener los valores de los Parámetros.

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

Observe que los valores aparecen en centímetros, aunque en la interfaz de usuario de Inventor los datosaparecen 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 losobjetos Parameters (colección de parámetros) y Parameter (parámetro) se declaran como globales para elformulario de manera que puedan ser utilizados por otros procedimientos.

Figura 12. Código para inicializar el formulario.

Procedimiento para aplicar los cambios a los Parámetros.

Hemos incluido dos botones de comando, cmdAplicar y cmdCancelar. Para ambos botones se deberá definirel procedimiento que se ejecutará a consecuencia del evento Click que se produce al pulsar el botón izquierdodel 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 invocarel método Unload al formulario (representado por la variable global Me). El código correspondiente al eventoClick del botón cmdCancelar se muestra en la Figura 13.

Figura 13. Código para el evento Click del botón cmdCancelar.

El botón cmdAplicar provocará la actualización de los Parámetros. Para ello se procede como sigue:

  1. Leer la propiedad Value de cada control Cuadro de Texto.
  2. Aplicar cada uno de estos valores a la propiedad correspondiente de la parte.
  3. Una vez modificadas las propiedades, aplicar el método Update del Documento para actualizar lapresentación en pantalla.
  4. 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.

Figura 14. Código para el evento Click del botón cmdAplicar.

Creación de la Macro.

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

Figura 15. Macro para abrir el formulario.

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

Figura 16. Resultado de la modificación de Parámetros.

Para Continuar.

 Esta macro puede mejorarse:

  1. Introduciendo una imagen que muestre la geometría a la que se aplican los distintos parámetros.
  2.  Comprobando los datos para evitar los errores a que daría lugar una incoherencia en los valoresasignados por el usuario.
  3. Mostrando mensajes que indiquen al usuario si ha cometido errores y cuáles son estos.
  4. Estableciendo opciones predeterminadas (bordes sin redondeo, pieza sin agujero central, etc.).
  5. Mostrando de manera automática el cuadro de modificación de parámetros al abrir el dibujo.
  6. 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.

Pieza1.ipt
(245k)
Reinaldo Togores Fernández,
25 feb 2011, 21:27
v.4