Archivo de la categoría: DigiNG

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:

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:

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:

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:

Eliminar segmentos cortos

Ayer pudimos ver la nueva orden de Digi3D.NET que nos permitía detectar segmentos cortos. Hoy os presentamos una orden que nos va a permitir eliminar automáticamente segmentos cortos: ELIMINAR_SEGMENTOS_CORTOS.

Puedes ejecutar además esta orden mediante la opción del menú Análisis geométricos/Eliminar segmentos cortos.

Esta orden detectará geometrías con segmentos cortos y eliminará vértices de estas para que todos sus segmentos (si es posible) tengan un perímetro superior al indicado, pero además analizará el resto de geometrías del archivo de dibujo para modificar las coordenadas de los vértices que coincidan con el que se ha decidido eliminar y moviéndolas al vértice que se ha decidido conservar, para evitar errores de intersección de líneas sin un vértice común.

En el siguiente vídeo puedes ver esta nueva funcionalidad:

 

 

Detectar segmentos cortos

En ocasiones queremos detectar como errores segmentos que tengan un perímetro inferior a un determinado valor.

Acabamos de añadir a Digi3D.NET una orden que nos va a permitir detectar automáticamente estos segmentos: DETECTAR_SEGMENTOS_CORTOS.

Esta orden nos permite indicar el código a analizar así como un tamaño mínimo de segmento. Si se detectan entidades con segmentos cuyo perímetro sea inferior al especificado, añadirá una tarea en el panel de tareas de la aplicación.

Si el sistema de referencia de coordenadas de la ventana de dibujo es proyectado (UTM, Lambert, etc.) el valor indicado en el parámetro de perímetro será en las unidades del sistema de referencia de coordenadas. Si por el contrario el sistema de referencia de coordenadas es geográfico, el programa proyectará la geometría e una proyección de tipo oblicua estereográfica con punto de anclaje en el primer vértice de la geometría para a continuación calcular el perímetro de cada segmento.

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

 

Exportar las entidades seleccionadas

En ocasiones tenemos un archivo de dibujo cargado en Digi3D.NET y queremos exportar únicamente algunas de las entidades de ese archivo.

La orden EXPORTAR exporta todas las entidades visibles, pero no tiene la posibilidad de que indiquemos qué entidades exportar, así que al final terminamos exportando el archivo completo, abriendo el archivo recién exportado y eliminando las entidades que no nos interesan.

Acabamos de simplificar esta operativa gracias a la nueva orden EXPORTAR_ENTIDADES_SELECCIONADAS, que como su nombre indica, nos permite seleccionar las entidades que queremos exportar. Puedes ejecutar esta orden si lo prefieres mediante la opción del menú Archivo/Exportar entidades seleccionadas.

Al ejecutar la orden, ésta te solicita que selecciones una o varias entidades. Puedes seleccionar una entidad con el botón de Dato de tu dispositivo de entrada o puedes ejecutar cualquiera de las órdenes de selección múltiple

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

Detectar bucles

Acabamos a añadir una herramienta más a Digi3D.NET para realizar control de calidad de la cartografía: detección de bucles (o auto-intersecciones) en las geometrías existentes.

La nueva orden DETECTAR_BUCLES espera que le indiquemos como parámetro el código a analizar. Podemos utilizar comodines (como por ejemplo DETECTAR_BUCLES=* para analizar todas las geometrías del archivo de dibujo) o utilizar almohadillas para indicar todos los códigos que tengan una etiqueta, como por ejemplo DETECTAR_BUCLES=#edificaciones.

Además hemos añadido al menú Análisis geométricos un submenú que nos permite ejecutar esta orden para todas las geometrías visibles o para cada una de las etiquetas de la tabla de códigos activa.

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