Autodesk Inventor‎ > ‎Autodesk Inventor VBA.‎ > ‎4. Interacción con el Usuario‎ > ‎

4.3. Selección empleando el método Pick

El objeto CommandManager.

El objeto CommandMananager permite gestionar los diversos eventos de interacción con el usuario. A partir de la versión 2011 se ha incluído el método Pick destinado a implementar de manera directa la selección de un objeto único dentro de un proyecto de usuario.

Function Pick(Filtro As SelectionFilterEnum, Mensaje As String) As Object

En este caso reutilizaremos la mayor parte del código del ejercicio anterior. Sugerimos guardar dicho proyecto con otro nombre, indicando que se trata de un proyecto para uso exclusivo en la versión 2011 y posteriores.
Una vez guardado el proyecto, eliminaremos la clase clsSeleccionar del módulo de clase, pues no nos hará falta.

Como el método Pick devuelve un Object y Face es un objeto, no será necesario cambiar el tipo de la variable oCara. oCara seguirá siendo una variable global, ya que obtendrá su valor al pulsar el botón cmdSeleccionar y se calculará su área al pulsar el botón cmdAceptar.
La única modificación la haremos en el procedimiento de respuesta al evento Clic del botón cmdSeleccion. Aquí estableceremos una referencia al objeto CommandManager para después invocar su método Pick. Al tratarse de un formulario modal lo ocultaremos antes de llamar a este método y lo volveremos a mostrar una vez que ha sido realizada la selección:

Private Sub cmdSeleccion_Click()
    Dim oCmdMgr As CommandManager
    Set oCmdMgr = ThisApplication.CommandManager
    Me.Hide
    Set oCara = oCmdMgr.Pick(kPartFaceFilter, "Seleccione una cara")
    lblResultado.Caption = "Pulse Calcular para ver el resultado"
    Me.Show
End Sub

Como puede verse, de esta manera se simplifica de manera extraordinaria el código de nuestro proyecto. Más adelante exploraremos la manera de incorporar eventos de selección más complejos directamente al código del formulario prescindiendo del módulo de clase, aunque esta práctica no es recomendable en proyectos grandes al limitar la posibilidad de reutilizar el código.

El proyecto de selección única interactiva para la versión 2011 puede descargarse desde el enlace al final de la página.
Reinaldo Togores Fernández,
14 mar 2011, 14:15
v.1