Objetivos:
- Conocimiento básico de la programación Visual Basic para Aplicaciones (VBA). Crear un formulario e implementar sus eventos.
- Conocer los mecanismos básicos para crear bocetos 2D en Inventor mediante programación.
- Conocer el modo de gestionar restricciones geométricas y dimensionales del boceto desde el programa.
- Conocer los mecanismos para programar operaciones de modelado 3D.
- Conocer los mecanismos de control de vistas.
Creación del Proyecto de Usuario.
Figura 2. El Entorno de Desarrollo (IDE) de Visual Basic para Aplicaciones (VBA) es el sitio donde desarrollaremos nuestro programa. Para mostrar el IDE se puede emplear la opción de la pestaña Herramientas (Tools) Editor Visual Basic (VBA Editor) o simplemente la combinación de teclas ALT+F11.
Figura 3. Ya en el Editor VBA crearemos un nuevo Proyecto de Usuario seleccionando la correspondiente opción en el Menú Archivo. Haciendo clic con el botón derecho se selecciona la opción "Propiedades del proyecto" donde podemos cambiar el nombre del mismo y opcionalmente añadir una descripción.
Creación de un formulario en el programa.
Para crear un nuevo formulario hacemos clic con el botón derecho sobre el proyecto y elegimosen el menú contextual las opciones Insertar>UserForm (ver Figura 4). Podemos dar un título ala ventana así creada cambiando el texto que asignado a la propiedad Caption.
Una vez insertado el formulario y utilizando el Cuadro de Herramientas, colocaremos sietebotones de comando (CommandButton) y un control de imagen (Image), tal como se muestraen la Figura 5.
Los nombres y las propiedades a establecer para estos controles se definen en la Tabla 1.
Programar la respuesta a eventos para estos controles.
El evento para el cual programaremos una respuesta es el evento Click de cada uno de losbotones de comando. El control Image es sólo de carácter informativo de manera que notendrá ninguna respuesta programada a los eventos que pueda generar.El evento Click es el evento predeterminado para los botones de comando. Por este motivo,para crear el procedimiento de respuesta a este evento bastará hacer un doble-clic sobre elobjeto en el formulario y esto nos llevará a una ventana de código donde aparecerá laestructura ya definida para este procedimiento con el nombre correcto.
Crear un nuevo documento de Parte.
Esta macro que estamos programando se puede ejecutar sin necesidad de haber abiertopreviamente un archivo de parte (IPT) ya que la acción del primer botón que hemosdenominado cmdCreaParte es precisamente la de crear un nuevo documento vacío.
Para ello recurriremos al método Add del objeto Application (Aplicación), raíz del árbol deobjetos en Autodesk Inventor (ver Figura 7). Este método requiere que se le pasen comoargumentos el tipo de documento a crear y la plantilla que parta ello deseamos emplear. Elresultado devuelto es una referencia al nuevo objeto documento que debemos continuarutilizando a lo largo del programa, por lo cual la debemos asignar a una variable global. Estoquiere decir que debemos declarar esta variable fuera de cualquier procedimiento que vayamosa programar, colocándola para mayor claridad en la parte superior de editor de texto. Otrasvariables que también deben ser declaradas como globales son oBoceto, oTrans, oPuntos,oLineas, oArcos y oCamara, así como la constante Pi, cuya utilización se explica más adelante.
El código para la declaración de estas variables globales y constantes es el siguiente:
Option Explicit
Dim oDoc As PartDocument
Dim oBoceto As PlanarSketch
Const Pi As Double = 3.1416
Dim oTrans As TransientGeometry
Dim oPuntos As SketchPoints
Dim oLineas As SketchLines
Dim oArcos As SketchArcs
Dim oCamara As Camera
Una vez hecho esto podemos pasar al código que creará el nuevo documento. Una dificultaden cuanto a la plantilla se refiere a la ubicación donde podemos encontrarla. Para ellodeberemos comprobar el valor de la propiedad TemplatePath del objeto FileOptions de laaplicación.
Dim strUbicacion As String
strUbicacion = ThisApplication.FileOptions.TemplatesPath
Utilizando esta trayectoria crearemos el nuevo documento. Para indicar el tipo de documento emplearemos la constante de enumeración kPartDocumentObject y como nombre del archivo plantilla el de "Standard.ipt".
Nota: En algunas versiones españolas el archivo plantilla estándar para documentos de parte se llama normal.ipt en lugar de Standard.ipt.
Set oDoc = ThisApplication.Documents.Add(kPartDocumentObject, _
strUbicacion & "Standard.ipt")
Una vez hecho esto debemos desactivar el botón cmdCreaParte y activar el botón cmdBoceto.
cmdCreaParte.Enabled = False
cmdBoceto.Enabled = True
El procedimiento asociado al evento Click del control cmdCreaParte quedará entonces definidocomo se muestra a continuación (ver Figura 8). Esta muestra servirá de pauta para losprocedimientos asociados a los demás controles.
Este ejercicio está adaptado del propuesto por Joe Sutphin como parte del curso ATP610 “Beginning Autodesk Inventor VBA” impartido en el marco del Autodesk User Group International AUGI Training Program (ATP).