Microstation
Microstation VBA
Geographics
S.I.G. (SIG)
Teledetección
Utilidades
Contacto
Introduccion - Ejecucion - Configuracion - Programacion - Enlaces

Warning: date() [function.date]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for 'UTC/0.0/no DST' instead in /home/www/lanero.net/ViejaWeb/esqueleto.php on line 143

 

 

Microstation > Programación:

No se trata de hacer un curso de programación si no de mostrar las posibilidades que tiene este entorno para ser personalizado y adaptado mediante sencillos programas.

Microstation dispone de tres posibilidades de programación:

MDL: Microstation Developpement Lenguage. es el lenguaje más potente para porgramar. Con el se pude hacer de todo. cabe decir que gran parte de las funcionalidades de Microstation están programadas en este lenguaje. Es prácticamente lenguaje C# al que se le han añadido cientos de librerías propias de Bentely.

Microstation Basic: Es el lenguje de macros por excelencia, aunque supongo que tiene un futuro muy corto ya que se ha implementado otro lenguaje más versátil y potente. En esencia es un Basic estándar al que se le han añadido cientos de librerías y funciones propias de Microstation. Puede dar mucho juego.

Microstation VBA: este es el lenguaje por excelencia implementado a partir de la versión 8.0. Tiene toda la potencia de Visual Basic para Aplicaciones más la propia de los cientos de librerías de funciones para desarrollar prácticamente caulquier cosas que se ocurra al programador experimentado.
El lenguje MVBA seguramente se improndrá a los anteriores ya que hay miles de líneas de código escritas en VBA para otras aplicaciones y que pueden ser fácilmente trasladas o "traducidas" a MVBA.
Por otra parte la comunidad de desarrolladores en VB6 o VBNet es cada vez mayor y las limitaciones de los antiguos Basic VB cada vez son menores.

Estos son algunos ejemplos de programación en Microstation Basic.
Ed_Mult.zip: Es un ejemplo de como se puede resolver en minutos el trabajo de varias horas mediante unas pocas líneas de programación en Microstation Basic. Este programa hace limpieza, (borrado de algunos datos), de todos los ficheros contenidos en una determinada carpeta.

Mide_Areas.zip: Este programita se encarga de buscar los elementos cerrados de tipo Shape o Complex-Shape en un fichero, calcular la superficie de los mismos y dar como resultado la suma de todas las superficies.
El código como se puede ver, es muy simple:

 

Const FinalFichero% = -1
Const PrincipioFichero = 0
Const LF = Chr$(10)

Sub main
Dim startPoint As MbePoint
Dim point As MbePoint, point2 As MbePoint
Dim Posicion as Long
Dim i as integer
Dim Found as Long
Dim Element as new MbeElement
Dim Sup_Una as DOUBLE
Dim Sup_Total as DOUBLE
Dim Num_Areas as Integer

'DEFINO UN PUNTO PARA DATA_POINT
Startpoint.x = 0
Startpoint.y = 0
Startpoint.z = 0

'Inicializo variables
Sup_Una=0
Sup_Total=0
Num_Areas=0

Posicion = Element.FromFile(PrincipioFichero, 0)
While Posicion <> FinalFichero
'Solo considero los elementos tipo SHAPE que estan en el Nivel 60
If (Element.Type = 14) and (Element.Level = 60) Then
Num_Areas=Num_Areas + 1
Element.display Mbe_Hilite
'PIDO MEDIR EL AREA
Sup_Una = element.area
Sup_Total=Sup_Total + Sup_Una
End if
Posicion = Element.FromFile(Posicion + Element.FileSize, 0)
Wend

Msg$ = "Número de Superficies = " & CStr(Num_Areas) & LF
Msg$ = Msg$ & "SUPERFICIE TOTAL = " & CStr(Sup_Total)
Stat = MbeMessageBox (Msg$, MBE_InfoIcon)
MbeSendCommand "NULL"
End Sub

File_Txt.zip: Para construir un fichero ASCII con los textos de un plano, y las coordenadas de los mismos.
Muy sencillo y muy útil para hacer índices toponímicos, entre otras cosas.

 

http://www.lanero.net