X

Microstation: Importar coordenadas y anotaciones de Excel

El caso: Tengo datos levantados con GPS Promark 100, y al usar la aplicación GNSS de postproceso que tienen estos equipos me permite enviar la información a Excel.

Las columnas marcadas en amarillo son las coordenadas este, norte y su respectiva anotación; lo demás solo es información relacionada con el postproceso.

El Problema: Requiero que los usuarios con sus versiones de Microstation que tienen importen los datos.

Formas babosas de hacerlo

Si importan las coordenadas con Microstation con el comando hecho para esto, solo se vienen los puntos, no las etiquetas.  Por el camino largo, un usuario estaba importandolas desde CivilCAD que lo hace de maravilla, luego desde Microstation se abría y se convertía a dgn que es el formato donde trabajan cada pinche día.  Así que… aunque casi me fui, agradezco que me hayan pedido una sugerencia como hacerlo; aunque en el fondo creo lo hacen para probar que no se me oxidan los comandos.  Es justo el procedimiento que antes expliqué con AutoCAD.

Como concatenar las coordenadas con Excel

Hacer una vba sería lo ideal, pero como costumbre de lo que un día concluimos: Excel debería ser más productivo que para hacer tablas de planillas, aquí el procedimiento combinando comandos de Microstation (key in) con comandos de Excel (concatenar)

Crear un punto con Microstation se hace con el comando «place point», y si se quiere colocar en una coordenada específica se utiliza «xy=», siempre usando el separador de órdenes que es el punto y coma (;).   Así, al ingresar el comando place point ;xy=388218.835,1566315.816 debería dibujar un punto justo en esa coordenada.

En el caso de Excel, el comando concatenar funciona así:  comando concatenar, abrir paréntesis, luego indicar todo lo que se va a concatenar, y finalmente cerrar paréntesis.  Lo explico de forma lastimera, pero no es complicado cuando se entiende y se hace al menos una vez:

Comando concatenar =CONCATENAR abrimos paréntesis ( luego el comando entre comillas pues es un texto, con su punto y coma que separa el comando «place point ;» luego la coma para separar la siguiente cadena , después el comando entre comillas pues es texto «xy=» la coma para indicar nueva cadena , y aquí seleccionamos la celda respectiva  C3 luego la coma para indicar nueva cadena , y la coma entre comillas para separación de coordenadas «,» la coma para indicar la siguiente cadena , celda que  contiene la coordenada norte y el punto y coma final D3,«;» luego cerramos paréntesis )

Quedaría así:

=CONCATENAR(«place point ;«xy=«,C3,«,D3;«)

Una vez hecho esto, solo copiamos la fórmula a las siguientes columnas quedando de la siguiente manera:

place point ;xy=388218.835,1566315.816;
place point ;xy=388219.911,1566320.28;
place point ;xy=388216.28,1566320.868;
place point ;xy=388215.36,1566316.473;
place point ;xy=388211.706,1566317.245;
place point ;xy=388212.713,1566321.593;

 

Como enviarlo a Microstation

Ese texto se puede copiar y pegar directamente a la línea de comandos (utilities key in) y vean que los puntos se dibujan.

Pero también puedo copiarlo en un fichero txt o csv que pueda llamar como script.

Por ejemplo, el fichero se llama puntosgeofumadas.txt, y se almacena en C; así que para llamarlo se escribe el key in  @c:\puntosgeofumadas.txt.  El nombre no debe tener espacios, y es preferible colocarlo en una ruta fácil.

Como importar las anotaciones

Funciona de la misma manera, con la diferencia que el comando no es de punto sino de text icon:  place text icon

Concatenamos de igual forma, comando place text icon, celda que contiene anotación, coordenadas donde se colocará el texto:

=CONCATENAR(«place text icon ;»,B3,»;»,»xy=»,C3,»,»,D3,»;»)

Y luego debería quedarnos así.

place text icon ;10;xy=388218.835,1566315.816;
place text icon ;11;xy=388219.911,1566320.28;
place text icon ;12;xy=388216.28,1566320.868;
place text icon ;13;xy=388215.36,1566316.473;
place text icon ;14;xy=388211.706,1566317.245;
place text icon ;15;xy=388212.713,1566321.593;

Y allí lo tienen:

Para generar la poligonal, se haría lo mismo, pero con el comando place line, con la precaución que los puntos deben tener secuencia; que no es este caso.  Sería comando place line, coordenada de inicio, coordenada de destino…

Seguro hay otras formas de hacerlo, y programas open source que lo hacen de maravilla.  Pero el ejercicio es útil para agilizar la mente y en mi caso, evitar que se me oxiden los comandos.

geofumadas: Editor de Geofumadas
Related Post