
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 elegimos en el menú contextual las opciones Insertar>UserForm (ver Figura 4). Podemos dar un título a la ventana así creada cambiando el texto que asignado a la propiedad Caption.
Una vez insertado el formulario y utilizando el Cuadro de Herramientas, colocaremos siete botones de comando (CommandButton) y un control de imagen (Image), tal como se muestra en 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 los botones de comando. El control Image es sólo de carácter informativo de manera que no tendrá 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 el objeto en el formulario y esto nos llevará a una ventana de código donde aparecerá la estructura 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 abierto previamente un archivo de parte (IPT) ya que la acción del primer botón que hemos denominado 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 de
objetos en Autodesk Inventor (ver Figura 7). Este método requiere que se le pasen como
argumentos el tipo de documento a crear y la plantilla que parta ello deseamos emplear. El
resultado devuelto es una referencia al nuevo objeto documento que debemos continuar
utilizando a lo largo del programa, por lo cual la debemos asignar a una variable global. Esto
quiere decir que debemos declarar esta variable fuera de cualquier procedimiento que vayamos
a programar, colocándola para mayor claridad en la parte superior de editor de texto. Otras
variables 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 dificultad en cuanto a la plantilla se refiere a la ubicación donde podemos encontrarla. Para ello deberemos comprobar el valor de la propiedad TemplatePath del objeto FileOptions de la aplicació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 definido
como se muestra a continuación (ver Figura 8). Esta muestra servirá de pauta para los
procedimientos 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).