Archivo del Autor: joseangelmt

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:

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:

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:

Nuevo modo de visualización estereoscópica

CoAcabamos de añadir un nuevo modo de visualización estereoscópica en Digi3D.NET que va a permitir trabajar con monitores o televisores 3D que implementen el modo Side-by-Side 3D.

Este modo no requiere tener una tarjeta gráfica estereoscópica (es decir, de la familia Quadro) y es útil para poder visualizar estereoscopía con un ordenador portátil.

Básicamente al activar el modo en el monitor, éste expande la mitad izquierda del monitor en toda su superficie y se lo muestra al ojo izquierdo e inmediatamente después expande la parte derecha del monitor en toda la superficie de éste y se lo muestra al ojo derecho y así sucesivamente. Puedes hacerte a la idea con la imagen que encabeza este post del blog.

Como el monitor expande horizontalmente las imágenes los píxeles se muestran el doble de anchos que de altos, de modo que para evitar esta deformación, Digi3D.NET muestra los píxeles el doble de altos que de anchos, para que cuando el monitor expanda en ancho la relación de aspecto de los píxeles sea la correcta.

A continuación te muestro una captura de pantalla de un modelo con un zoom grande y con la opción de interpolación bilineal desactivada para que puedas ver cómo se muestran los píxeles en este modo sin activar la estereoscopía en el monitor:

No

Puedes observar que los píxeles tienen el doble de alto que de ancho.

Un problema que tiene esto es que el monitor realiza la operación con toda la pantalla, de modo que si tienes visible la barra de tareas de Windows, también se expandirá (verás la mitad izquierda con el ojo izquierdo y la parte derecha con el ojo derecho), y las barras de herramientas y barra de menús de Digi3D.NET, así que mi recomendación es que si no te queda más remedio que visualizar estereoscopía con un ordenador que no tenga una tarjeta gráfica Quadro y la única opción es utilizar un monitor como este, que maximices la ventana fotogramétrica pulsando la combinación de teclas Ctrl + Alt + Enter en Digi3D.NET.

De modo que ahora el programa soporta los siguientes modos de estereoscopía:

Modo Requiere una tarjeta Quadro Tipo de monitor o televisor Uso
 Controlado por el driver  Si  Monitor compatible con NVidia 3D Vision Profesinal
 Estereóscopo  No  Cualquier monitor Profesinal
 3D-Arriba-Abajo  No  Monitor o televisor 3D que implemente este modo de estereoscopía. Para hacer una demostración y poco más. Todo el monitor se muestra en estéreo y en las partes que no hay imagen se muestran partes de ventanas que pueden confundir o marear
 3D-Lado-a-lado  No  Monitor o televisor 3D que implemente este modo de estereoscopía. Para hacer una demostración y poco más. Todo el monitor se muestra en estéreo y en las partes que no hay imagen se muestran partes de ventanas que pueden confundir o marear
 Entrelazado horizontal  No  Monitores 3D pasivos Podría utilizarse para uso profesional pero yo personalmente no lo haría. Este sistema tiene el problema de que con el ojo izquierdo las líneas pares del monitor se ven negras y con el ojo derecho las líneas impares. Los textos aparecen como cortados con este sistema.
 Entrelazado vertical  No  Monitores auto-estereoscópicos Podría utilizarse para uso profesional pero yo personalmente no lo haría. Este sistema tiene el problema de que con el ojo izquierdo las columnas pares del monitor se ven negras y con el ojo derecho las columnas impares. Los textos aparecen como cortados con este sistema.
 Anaglifo  No  Cualquier monitor Para hacer una demostración y poco más. Tener filtros de colores en los ojos mucho tiempo puede provocar fatiga visual

Puedes ver un vídeo de esta nueva funcionalidad a continuación: