Archivo del Autor: joseangelmt

Abre un navegador mostrando OpenStreetMap en la ubicación de tu ventana de dibujo

Acabamos de añadir a Digi3D.NET la posibilidad de abrir un navegador mostrando un mapa de OpenStreetMap centrado en la posición en la que tienes la ventana de dibujo.

Para ello, tan solo tienes que seleccionar la opción del menú Zooms/Abrir una ventana de OpenStreetMap en la posición actual y Digi3D.NET abrirá en tu navegador favorito el mapa de OpenStreetMap.

Puedes ver en acción esta nueva funcionalidad en el siguiente vídeo:

https://youtu.be/K1rURWCC8OM

 

Abre un navegador mostrando Google Maps o Bing Maps en la ubicación de tu ventana de dibujo

Hace mucho tiempo que disponemos de las opciones de abrir una ventana de Google Maps o de Bing Maps en la ubicación de la ventana fotogramétrica, sin embargo no disponíamos de estas opciones para la ventana de dibujo.

Hoy te presentamos estas opciones para la ventana de dibujo.

A partir de hoy puedes abrir un mapa de Google Maps centrado en la posición de la ventana de dibujo mediante la opción del menú Zooms/Abrir una ventana de Google Maps en la posición actual.

Si por el contrario quieres abrir un mapa de Bing Maps, centrado en la posición de la ventana de dibujo, dispones de las siguientes opciones:

  • Zooms/Abrir una ventana de Bing Maps en la posición actual/Vista aérea
  • Zooms/Abrir una ventana de Bing Maps en la posición actual/Vista aérea con etiquetas
  • Zooms/Abrir una ventana de Bing Maps en la posición actual/Carretera
  • Zooms/Abrir una ventana de Bing Maps en la posición actual/Ojo de pájaro
  • Zooms/Abrir una ventana de Bing Maps en la posición actual/Ojo de pájaro con etiquetas

Puedes ver esta nueva funcionalidad en acción en el siguiente vídeo

https://youtu.be/mFiBrx73LuI

Configurando las versiones modernas de Google Earth para que sean compatibles con Digi3D.NET

El 31 de agosto de 2010 Google avisó en su blog de Google Maps que abandonaban el soporte de la API COM de Google Earth, y eso significa que en versiones próximas de su programa eliminarían el soporte de esa API, por lo tanto ya no se podría controlar por programas externos como Digi3D.NET.

Sin embargo hemos tenido que esperar 7 años a que suceda esto. Si instalas la última versión de Google Earth o de Google Earth Pro, Digi3D.NET te muestra un mensaje de error si ejecutas cualquiera de las órdenes que ordenan a Google Earth que se mueva a una determinada coordenada.

Sin embargo aún se puede haciendo dos cosas:

  • Después de investigar nos hemos dado cuenta de que han quitado el soporte pero parcialmente. Han quitado la compatibilidad COM del programa pero a medias pues aún permiten utilizar una técnica denominada Automatización COM, así que hemos cambiado el código del Proxy para controlar Google Earth (puedes ver el código fuente en nuestro repositorio de código fuente en GitHub) para utilizar Automatización COM.
  • Hay que forzar a Google Earth a que se registre para que aplicaciones de terceros como Digi3D.NET puedan acceder a su capacidad de automatización.

La primera tarea ya la hemos hecho nosotros en la última versión de Digi3D.NET. La segunda sin embargo no podemos hacerla nosotros por ti, de modo que si quieres activar Google Earth para que pueda ser controlado, tienes que realizar los siguientes pasos:

  1. Abre una consola de DOS como administrador.
  2. Ejecuta el siguiente comando si tienes instalada la versión normal de Google Earth:
    cd C:\Program Files (x86)\Google\Google Earth\client
  3. Ejecuta el siguiente comando si tienes instalada la versión Pro de Google Earth:
    cd C:\Program Files (x86)\Google\Google Earth Pro\client
  4. Ejecuta el siguiente comando para forzar a que Google Earth se registre:
    googleearth.exe /RegServer

Y ya está. A partir de este momento puedes controlar Google Earth con Digi3D.NET.

Puedes ver un vídeo en el que te mostramos los pasos a continuación:

https://youtu.be/RsiTBByL6G8

 

 

Entidades de interés

Hoy presentamos una nueva funcionalidad en Digi3D.NET que te va a permitir incrementar tu productividad: Entidades de interés.

A partir de ahora las entidades pueden estar en dos estados: En la zona de interés o en la zona de no interés.

Por defecto todas las entidades que digitalicemos y que carguemos de un archivo de dibujo son de interés. Únicamente dejarán de ser de interés indicamos específicamente cuáles son las que queremos que sean de interés.

Para ello, disponemos de una nueva orden: SELECCIONA_ENTIDADES_DE_INTERES que puedes seleccionar mediante la opción del menú Edición/Seleccionar entidades de interés. Las entidades que selecciones una vez ejecutada esta orden serán las de interés, y las que no selecciones pasarán a ser entidades de no interés.

Digi3D.NET muestra las entidades que no son de interés con sus colores y patrón y relleno, pero con un factor de transparencia para que las veas gráficamente pero para que sepas que no son de interés y que por lo tanto es como si no estuvieran allí. De hecho, aunque las veas, no podrás hacer nada con ellas: ni seleccionarlas, ni tentativarlas, ni eliminarlas no modificarlas con absolutamente ninguna orden de Digi3D.NET. Es como si no estuvieran allí.

De esta manera, si estamos realizando por ejemplo una topología sobre una zona de un modelo, las herramientas topológicas se centrarán únicamente en las entidades que tengamos en la zona de interés, de manera que no se mostrarán errores topológicos de entidades que estén fuera de la zona de interés.

La orden SELECCIONA_ENTIDADES_DE_INTERES

Podemos seleccionarlas mediante cualquiera de las órdenes de selección múltiple de entre las que dispone el programa:

  • SELECCIONA_ULTIMO
  • SELECCIONA_VENTANA
  • SELECCIONA_LINEA
  • SELECCIONA_MULTIPLE
  • SELECCIONA_TODO_EN_CURSOR
  • SELECCIONA_TODO
  • SELECCIONA_COD
  • SELECCIONA_POLIGONO
  • SELECCIONA_DENTRO_POLIGONO
  • SELECCIONA_FUERA_POLIGONO
  • SELECCIONA_DENTRO_VENTANA
  • SELECCIONA_FUERA_VENTANA

De modo que si queremos que todas las entidades del archivo que crucen con una línea estén en la zona de interés, tan solo tenemos que ejecutar las órdenes:

ZONA_DE_INTERES
SELECCIONA_LINEA

Las entidades nuevas que generemos estarán siempre en la zona de interés.

Puedes ver esta funcionalidad en acción en el siguiente vídeo:

https://youtu.be/vjFzArbL7CM

Gana dinero alquilando tus tablas de códigos a terceros

Llevamos un año aproximadamente añadiendo características a las tablas de códigos, y gracias a éstas podemos personalizar completamente la experiencia de trabajo con Digi3D.NET como por ejemplo:

  • Modificar el interfaz de usuario de Digi3D.NET.
  • Crear programas que se ejecutan cada vez que se almacena una geometría en particular para mostrar errores a los operadores.
  • Crear comandos de voz para controlar el programa sin necesidad de teclado o ratón.
  • Especificar esquemas de bases de datos.
  • Especificar parámetros de traducción a distintos formatos de archivo.
  • etc.

Gracias a estas funcionalidades se pueden preparar tablas de códigos que nos permitan realizar cartografías como B.T.A., M.G.C.P, y que incluyan modelos semánticos que vayan indicando en tiempo real al operador si ha cometido algún error de concepto.

Crear estas tablas lleva tiempo, y posiblemente no quieras que el esfuerzo realizado para crearlas llegue a todo el mundo, por eso hoy presentamos la posibilidad de crear paquetes de tablas de códigos cifradas.

A partir de hoy dispones de una nueva opción en el programa Editor de Tablas de Códigos, accesible mediante la opción del menú Archivo/Crear paquete de tabla de códigos cifrada.

CrearPaqueteDeTablasDeCódigosCifrado

Cuando seleccionas esta opción el programa muestra el cuadro de diálogo Crear paquete de tablas de códigos cifrado que te solicita que introduzcas por un lado la contraseña con la que quieres cifrar la tabla de códigos y por otro las llaves de protección a las que quieres conceder permiso, así como una fecha máxima de acceso a la tabla para cada una de las llaves de protección, de modo que puedes hacer que tu llave por ejemplo no tenga límite de fecha, pero una determinada llave pueda utilizar la tabla hasta dentro de tres meses. De esta manera puedes alquilar la tabla de códigos a una empresa. Tan solo tienes que introducir los KeyIDs de sus llaves de protección y asignarles una fecha máxima de uso.

Seguridad:

Hemos incorporado los siguientes mecanismos de seguridad para que nadie pueda exportar tu valiosa tabla de códigos. Te mostramos aquí dichos mecanismos.

El Editor de Tablas de Códigos puede generar tablas de códigos cifradas, pero no puede abrirlas, ni siquiera en los equipos que tengan licencia para abrirla. Esto es así porque si no, cualquiera con licencia la podría exportar en un archivo nuevo sin licencia.

Si intentas abrir una tabla de códigos cifrada con el Editor de Tablas de Códigos, éste te mostrará el siguiente mensaje de error:

ErrorAlIntentarCargarTablaCodigosCifradaConDigiTab.PNG

Si intentamos abrir con Digi3D.NET una tabla cifrada para la cual no tenemos licencia, se comunicará al usuario mediante el siguiente cuadro de diálogo:

ErrorAlCargarTablaCodigosSinLicencia.PNG

Si intentamos cargar una tabla para la cual tenemos licencia, pero ya se ha superado la fecha máxima de uso, el programa nos mostrará el siguiente mensaje de error:

ErrorAlCargarTablaCodigosConLicenciaCaducada

A continuación te mostramos un vídeo explicando todas estas funcionalidades

 

Nuevo panel de Python interactivo en Digi3D.NET

Uno de los principales objetivos para este año 2017 era el de añadir a Digi3D.NET soporte para programación Python, y hoy hemos cumplido ese objetivo.

Teníamos pensado desarrollar esta funcionalidad en un futuro, pero un ticket de soporte técnico que nos llegó hace dos semanas ha provocado que cambiemos nuestra hoja de ruta.

Copio aquí el contenido del ticket de soporte técnico:

¿Es posible imprimir el listado de los códigos de un archivo .TAB para ver los códigos que tengo o sólo puedo hacerlo abriéndolo con un editor de textos y elegirlos a mano?

¿Se puede imprimir desde el editor de tablas de códigos?

Gracias.

La respuesta es que no, no hay manera de imprimir el listado de códigos de una tabla de códigos determinada. Se puede hacer un programa de consola que utilice los objetos proporcionados por Digi3D.NET, pero eso requiere tener conocimientos de programación por un lado y de disponer de un compilador como Visual Studio .NET por otro, lo que en la práctica no tiene casi ningún usuario de Digi3D.NET.

Sin embargo, esta pregunta era la candidata ideal para forzarnos a implementar soporte de Python dentro del propio programa.

Como resultado hemos añadido un nuevo panel, que se puede abrir mediante la opción del menú Ventana/Python interactivo. Este panel es una consola de Python y nos va a permitir crear programas sin salir de Digi3D.NET y en el lenguaje Python que es muy sencillo de programar.

A continuación te muestro lo que hay que teclear en el panel de Python interactivo para obtener el listado de códigos de nuestra tabla de códigos activa:

for codigo in diging.DigiTab.Codes:
    print codigo.Name + ' ' + codigo.Description

Tan sencillo como eso. Si lo tecleas, se mostrará un listado de códigos en la ventana de Python interactivo. Luego puedes utilizar el botón derecho del ratón para copiar los códigos al portapapeles.

A continuación un vídeo en el que se muestra en acción:

https://youtu.be/utdJB6_a8kY

Paquetes de tablas de códigos y células y simplificación de la carátula de entrada de Digi3D.NET

Desde hace tiempo estamos intentando disminuir la cantidad de archivos necesarios para poder trabajar con Digi3D.NET así como los parámetros que se solicitan en la pestaña Archivo de dibujo del cuadro de diálogo de Nuevo proyecto. Está claro que el programa requiere de demasiados archivos y pregunta demasiadas cosas para poder ponernos a trabajar y, y eso asusta a los usuarios nuevos.

Antes de la versión 2007 necesitábamos los siguientes archivos para poder trabajar:

  1. Tabla de códigos.
  2. Tablas para programas como Bintram y Bintop, etc.
  3. Tabla de paleta de colores.
  4. Tablas de traducción (para BINDXF por ejemplo).
  5. Carpeta de macroinstrucciones (o de arrobas).
  6. Carpeta de símbolos.
  7. Archivo de configuración de teclas.

Una de las principales novedades de Digi3D 2007 fue la incorporación de la tabla de códigos en formato .XML que nos permitió añadir toda la información que quisiéramos en la tabla, de manera que unificamos la tabla de códigos, la paleta de colores y las tablas de traducción en un único archivo, de manera que con la versión 2007 los archivos necesarios para trabajar eran:

  1. Tabla de códigos.
  2. Tablas para programas como Bintram y Bintop.
  3. Carpeta de macroinstrucciones (o de arrobas).
  4. Carpeta de símbolos.
  5. Archivo de configuración de teclas.

La versión .NET nació con la posibilidad de asignar etiquetas a los códigos, de manera que ya no eran necesarios los archivos de tablas para programas como Bintram y Bintop, y hace poco tiempo añadimos también en la versión .NET la posibilidad de añadir los archivos de macroinstrucciones dentro de la propia tabla de códigos, de manera que hasta hoy en la versión .NET podemos hacer lo mismo con:

  1. Tabla de códigos.
  2. Carpeta de símbolos.
  3. Archivo de configuración de teclas.

Hoy presentamos una vuelta de tuerca más: La posibilidad de crear un paquete que incluya la tabla de códigos y la carpeta de símbolos, de manera que si le damos a un usuario un trabajo, únicamente tendremos que proporcionarle:

  1. Paquete de tabla de códigos.
  2. Archivo de configuración de teclas.

A partir de hoy, podemos crear un archivo de paquete de tabla de códigos mediante la opción del menú: Archivo/Crear paquete de tabla de códigos.

Esto creará un archivo con extensión .dt que incluirá por un lado la tabla de códigos y por otro lado todos los símbolos localizados en el directorio de símbolos configurado en el programa Editor de tablas de códigos en el momento de guardar.

Este archivo con extensión .dt no es más que un archivo .zip al que le hemos cambiado la extensión por .dt, de manera que si lo renombras a .zip podrás ver el contenido y extraer el archivo de tabla y los símbolos sin ningún problema.

Se pueden añadir muchas más cosas dentro del archivo .dt, en las próximas entradas en el blog te mostraremos novedades acerca de ello.

PEstañaArchivoDibujoAntes

Esta modificación nos ha permitido simplificar aún más la carátula de entrada (o pestaña Archivo de dibujo del cuadro de diálogo de Nuevo proyecto) de Digi3D.NET:

  1. Hemos eliminado la propiedad «Altura de textos». Si quieres tener una altura de textos determinada al entrar, lo normal es ponerlo en las órdenes de inicio (más sobre esto en el punto 3).
  2. Hemos eliminado la propiedad «Archivo de puntos». Las órdenes que utilizaban eso, muestran un cuadro de diálogo solicitando el archivo, así que en la práctica no servía para nada preguntar por este archivo.
  3. Hemos eliminado la propiedad «Archivo de órdenes de inicio», pues podemos especificar las órdenes a ejecutar al crear una ventana en la propia tabla de códigos, en la pestaña «Órdenes».
  4. Hemos movido la propiedad «Directorio de macroinstrucciones» del cuadro de diálogo de Nuevo proyecto al cuadro de diálogo de Configuración (en la sección DigiNG), de esta manera queda claro que es un ciudadano de segunda categoría, pues las arrobas deberían estar en la propia tabla de códigos (en la pestaña acciones).
  5. Lo mismo para la propiedad Menú. La hemos movido al cuadro de diálogo Configuración (en la sección de DigiNG).
  6. Lo mismo para la propiedad Directorio de símbolos, que hemos movido al cuadro de diálogo de Configuración (en la sección de DigiNG)

A continuación tienes una captura de pantalla de cómo ha quedado el cuadro de diálogo de Nuevo proyecto (pestaña Archivo de dibujo):

PestañaArchivoDibujoDespues.png

Como puedes comprobar se ha simplificado mucho.

A partir de ahora podemos seleccionar en el campo Tabla de códigos de la pestaña Archivo de dibujo del cuadro de diálogo Nuevo proyecto o un archivo de tabla de códigos .tab.xml o un archivo de paquete de tabla de códigos .dt.

Si seleccionas un archivo .tab.xml, el programa se comportará como hasta ahora.

Si por el contrario seleccionas un archivo .dt, el programa hará caso omiso del directorio de símbolos que tengas configurado en el campo Directorio de símbolos de la sección DigiNG del cuadro de diálogo de Configuración, puesto que los símbolos están incluidos dentro del propio paquete .dt.

Además si el programa detecta que has abierto un archivo .tab.xml te mostrará un cuadro de diálogo invitándote a leer esta entrada que estás leyendo ahora mismo para que entiendas los cambios realizados a la pestaña archivo de dibujo.

Puedes ver un vídeo en el que se demuestran todos estos cambios a continuación:

https://youtu.be/B0NSet-geys

Añadida compatibilidad con Geomedia en la versión de 64 bits de Digi3D.NET

Acabamos de añadir compatibilidad con Geomedia a la versión de 64 bits de Digi3D.NET.

Hasta ahora las versiones de 64 bits de Digi3D.NET no podían establecer una conexión de base de datos con archivos Microsoft Access pero a partir de hoy sí que pueden, de manera que hemos hecho que el instalador de 64 bits instale el componente Digi21.IO.Geomedia que es el importador/exportador de archivos de Geomedia.

Esto va a provocar que a partir de la semana que viene tengamos dos instaladores distintos: el instalador para la versión de 64 bits, y el instalador para la versión de 32 bits.

Hasta hoy al instalar el programa se instalaban simultáneamente ambos instaladores, pues la versión de 64 bits no podía abrir archivos Geomedia. El tener ambas versiones instaladas simultáneamente provocaba sin embargo un problema logístico con los ensamblados públicos para programación por parte de terceros en .NET, pues éstos tienen el mismo nombre (Digi21.DigiNG, Digi21.DigiNG.Plugin, etc.) independientemente de la versión instalada 32 o 64 bits, lo que podía dar problemas. A partir de la semana que viene, o se tiene instalada la versión de 64 bits o la de 32, pero no se podrán tener instaladas ambas versiones simultáneamente para evitar este tipo de problemas.

Mejoras al conectar con servicios Web Map Service

Hemos realizado una pequeña mejora en Digi3D.NET a la hora de crear archivos de cadena de conexión con servicios Web Map Service que harán que ganes un poco de tiempo a la hora de conectarte con un servicio.

Para cargar una capa Web Map Service en la ventana de dibujo, primero tenemos que crear un archivo .wmsconnection mediante la opción del menú Archivo/Crear una conexión con un servidor WMS…

Al seleccionar esa opción aparece el cuadro de diálogo Ruta al servidor WMS en la que por un lado tenemos que poner la URL al GetCapabilities del servidor WMS, y por otro lado tenemos que indicar la ruta del archivo .wmsconnection a crear. Si la ruta GetCapabilities es válida y el servidor responde correctamente, Digi3D.NET creará el archivo .wmsconnection que será el archivo que tendremos que cargar en la ventana de dibujo.

Una vez hecho eso, teníamos que cargar manualmente el archivo de dibujo, y aquí es donde hemos hecho la mejora: Si cuando haces el proceso de carga tienes una ventana de dibujo abierta, el programa cargará automáticamente el archivo .wmsconnection, de manera que nos ahorraremos algún click.

Además, si tenías el panel de archivos de dibujo cerrado, el programa lo abrirá automáticamente para que interactúes con él y que actives la o las capas que te interesen del servidor WMS.

Puedes ver esta funcionalidad en acción en el siguiente vídeo:

https://youtu.be/lBHh_imRbYY

Vistas de base de datos

Acabamos a añadir a Digi3D.NET una nueva herramienta que te va a permitir visualizar gráficamente la información de base de datos asociada a un archivo de dibujo.

Básicamente consiste en crear un archivo de referencia virtual que apunta a alguno de los archivos que tenemos cargados, pero en vez de mostrar geometrías, muestra etiquetas cuyo contenido se extrae de la base de datos.

Crear una vista de base de datos es muy sencillo, tan solo tenemos que seleccionar la opción del menú Base de datos/Crear vista de base de datos. Una vez ejecutado, el programa analiza si tenemos cargado algún archivo de dibujo con información de base de datos. Si no tenemos cargado ningún archivo con información de base de datos nos muestra un mensaje de error. En caso contrario, nos muestra el cuadro de diálogo Crear una vista de base de datos que nos va a permitir indicar de cuál de entre los archivos de dibujo que tenemos cargados con información de base de datos queremos crear la vista de base de datos.

Crear vista de base de datos

Cuando aceptamos este cuadro de diálogo, el programa crea un archivo virtual y lo carga como archivo de referencia, de manera que éste aparece en el Panel de archivos de dibujo, de manera que podemos interactuar con los parámetros que muestra el archivo en el panel.Vista de base de datos en el panel de archivos de dibujo

Como puedes comprobar, podemos especificar por un lado la tabla de la cual queremos extraer información y por otro el campo que queremos mostrar en la ventana de dibujo.

También nos permite indicar los parámetros de visualización de las etiquetas como es la altura de los textos a mostrar así como el color de fondo de la etiqueta y el color del texto.

Cada vista puede visualizar únicamente una tabla y un campo de dicha tabla, de manera que si queremos mostrar más de un tipo de etiqueta de un mismo archivo de dibujo, tendremos que crear tantas vistas de base de datos sobre el mismo archivo como tipos de etiquetas queramos visualizar.

Si te fijas en la captura de pantalla anterior, el nombre del archivo virtual generado se denomina «Vista de base de datos de: [nombre del archivo]». Cuando hayamos terminado de trabajar con la vista, podemos descargarla con la orden DEJAR o con el menú contextual que aparece al pulsar el botón derecho sobre el nombre de ésta en el panel de archivos de dibujo.

Si descargamos el archivo original la vista de base de datos no se descarga y sigue funcionando correctamente.

La vista de base de datos únicamente muestra etiquetas en los elementos de tipo punto del archivo original, de manera que si tienes otro tipo de geometrías no se mostrarán etiquetas en dichas geometrías, independientemente que éstas tengan un enlace de base de datos a la tabla especificada.

Puedes ver esta funcionalidad en acción en el siguiente vídeo:

https://youtu.be/xl7-3O52NfI