X

Desarrollo de aplicaciones VBA con Microstation

Para realizar aplicaciones, Microstation soporta diferentes lenguajes, entre ellos Microstation Development Language (MDL) que es el preferido por los gurús de Bentley.  También soporta basic antiguo dese hace muchos años y en un tiempo soportó Java, de allí aquella versión llamada Microstation J.

Pero para desarrollar con gusto y sin mucha vuelta, lo más práctico es sobre el módulo Visual Basic que viene con el programa, en versiones anteriores a XM(8.9) incluye un editor completo de Visual Basic 6.3, en las más recientes va más allá.

Para iniciarse

Es claro, que alguien que no tiene idea de programación no tiene mucho que hacer.  Sin embargo, para alguien que entiende la programación orientada a objetos, y ha jugado con Visual Basic 6, encontrará casi muerto de risa.  Con el programa suelen venir algunos ejemplos, pero aquí, el truco que he visto usar a los técnicos: Usar las macros.

Microstation facilita el guardado de rutinas en forma de macro en extensión mvba, al ver el código se facilita iniciarse en la forma como opera la programación para Microstation en lugar de hacerse mangas la camisa desde cero.  Por ahora usaré el ejemplo de los amigos mexicanos, que la semana pasada me pedían ayuda para tematizar en Geographics.

Como crear una macro

Utilities > macro > project manager.

Aquí se crea un nuevo proyecto, y se le asigna nombre. Usualmente quedan guardadas en Archivos de programa / Bentley / workspace / projects / vba pero se puede seleccionar cualquier destino.

Como guardarla

Para iniciar la grabación, se presiona el ícono de la rueda azul.  El programa guardará todo lo que se realice de allí en adelante.

Por ejemplo:  Colocar un fence del view, apagar todos los niveles con excepción de los linderos de manzana y centroides, trasladar enlaces de linderos a centroides, crear shapes en el nivel 62, apagar los linderos, trasladar enlaces de centroides a shapes, cargar comando para tematizar, tematizar de acuerdo al sector en que están las manzanas con un color específico para cada sector, colocar la leyenda.

El proceso se puede detener en pausa, o terminar con el ícono de cuadro rojo.  Si se presiona el botón play, el programa ejecutará la rutina completa tal como lo he guardado.  La utilidad de esto aún sin programación es sumamente interesante si se le logra sacar provecho, he visto menús hechos a pura macro por gente no programadora.

Si se desea que cada vez que ejecutamos Geographics se cargue la macro, se le activa la cuarta columna Auto-load, y eso creará una variable en el archivo msgeo.ucf.

Como editar el código

Para ver el código, se presiona el botón que abre el editor de Visual Basic.

Todo se guarda como un solo módulo, pero en caso de irlo haciendo paso a paso, facilita luego al integración de declaraciones.  También se puede ejecutar con la opción paso a paso, que permitiría ir ejecutando por partes como depurador.

El ejemplo que les estoy mostrando, que ya han trabajado más los amigos del norte, incluye por separado módulos para asegurar la conexión a la base de datos, la ejecución de la rutina de ligues, la creación de entidades ligadas, la aplicación del temático y uno para configuraciones globales.  El código puede llevar password, con lo que se impide que los operarios vayan a causar un desastre o facilitar la separación de librerías de clases que no deseamos compartir con el usuario programador.

Tags: Bentley
geofumadas: Editor de Geofumadas
Related Post