Archivo del Autor: joseangelmt

Comprimir llaves de protección, y mejoras de seguridad en la suite de licencias

Hemos realizado una serie de modificaciones en la Suite de licencias para permitir comprimir la memoria almacenada en la llave de protección para almacenar más activaciones.

Las llaves de protección tienen suficiente memoria para almacenar unas 20 activaciones aproximadamente, lo que significa que puedes conectarla en un equipo, activarlo, luego conectarla en otro equipo, y así sucesivamente.
20 equipos es más que suficiente para una llave volátil, pero en caso de que el usuario active más ordenadores, la llave se quedará sin memoria y no quedará más remedio que eliminar las activaciones y comenzar de cero.
Quizás con una llave de protección mono-puesto nunca nos encontremos con este problema, pero si disponemos de una llave de protección de red, con 250 licencias por ejemplo, nos encontraremos con este problema rápidamente.

Para solucionar este problema, hemos introducido a la suite de licencias el programa Comprimir Llave que nos va a permitir comprimir la llave de protección para permitir almacenar más licencias.

¡Advertencia!
Los programas publicados con fecha anterior a 22 de junio de 2015 no son compatibles con llaves comprimidas. Asegúrate de tener todos los programas actualizados antes de comprimir la llave de protección.

A partir del momento en el que se comprime la llave de protección, cada vez que activamos una llave con el proprama Activar Ordenador, éste almacena las licencias de forma comprimida.

Podemos eliminar la compresión de una llave de protección eliminando todas las licencias almacenadas en éste mediante el programa Eliminar Activaciones y Alquileres. Este programa formatea la memoria destinada a las activaciones de la llave y además la deja en un estado no comprimido, de modo que a partir de ese momento las activaciones se realizarán sin comprimir.

Además hemos hecho que el programa Comprobar Licencias muestre el porcentaje de memoria libre en la llave de protección tal y como puedes ver en la siguiente captura:

Comprobar licencias mostrando memoria libre

Por último, hemos introducido el concepto de Contraseña de administración en la llave de protección.
Si entras en tu panel de administración de llaves de protección en http://www.digi21.net/MisLlaves podrás comprobar que ha aparecido una nueva opción de configuración que te permite indicar una contraseña de administración. Los programas Comprimir Llave y Eliminar Activaciones y Alquileres solicitarán esta contraseña de activación.

Página web mostrando contraseña de administración

Keyhole_Markup_Language

KML pasa a ser un ciudadano de primera categoría en Digi3D.NET

Existen cuatro tipos de importadores/exportadores de archivos de dibujo en Digi3D.NET

  • Los importadores que permiten tanto importar como exportar y que podemos abrir directamente desde el cuadro de diálogo de Nuevo proyecto (como por ejemplo el importador de archivos .bind)
  • Los importadores que permiten tanto importar como exportar y que no podemos abrir directamente desde el cuadro de diálogo de nuevo proyecto (como por ejemplo el importador de archivos .xyz)
  • Los importadores que únicamente permiten importar entidades (como por ejemplo el importador de valores separados por comas o .csv)
  • Los importadores que únicamente permiten exportar (como por ejemplo el exportador de .kml).

Podríamos decir que los importadores que aparecen en el primer grupo son ciudadanos de primera categoría dentro de Digi3D.NET, ya que no solo importan y exportan, sino que además aparecen en el cuadro de diálogo de Nuevo proyecto, lo que significa que los podemos abrir y modificar sus entidades directamente.

Los del segundo grupo únicamente pueden cargarse como archivos de referencia o únicamente podemos importar sus entidades mediante la orden IMPORTAR o crearlos mediante la orden EXPORTAR, estos podríamos decir que son ciudadanos de segunda categoría.

Los del tercer grupo únicamente saben importar y no tienen la capacidad de exportar, serían ciudadanos de tercera categoría.

Y por último los del tercer grupo, que únicamente saben exportar.

Hasta hoy el importador de .kml pertenecía a este último grupo, pero eso acaba de cambiar. Hemos modificado el importador con los siguientes cambios:

  • Ahora permite importar entidades.
  • Ahora aparece en el cuadro de diálogo de Nuevo Proyecto, lo que significa obviamente que podemos abrir un archivo .kml y modificar sus entidades, moverlas, eliminarlas, copiarlas…
  • Hemos modificado el sistema de referencia de coordenadas de importador/exportador para hacerlo compatible con el indicado en el estándar .KML que puedes leer en http://www.opengeospatial.org/standards/kml/. Hasta ahora el sistema de referencia de coordenadas asociado con el exportador de .kml era el geográfico 3D: WGS 84. Los sistemas de referencia de coordenadas geográficos 3D tienen siempre la Z elipsoidal, y según el estándar la coordenada Z no es elipsoidal, sino que es ortométrica referida al sistema de referencia de coordenadas EGM96, de modo que ahora el sistema de referencia de coordenadas asociado a los archivos .kml es: WGS 84 + EGM96 geoid height. El sistema 2D (WGS 84) está modificado pues el orden de las coordenadas es Longitud/Latitud en vez de Latitud/Longitud.

Si eliminas una entidad, el comportamiento es idéntico que al trabajar con archivos .bind: las entidades en realidad no se eliminan, sino que se marcan como eliminadas, de modo que podemos utilizar las órdenes RECUPERA o RECUPERA_COD para recuperar entidades eliminadas. Google Earth no entiende de entidades marcadas como eliminadas, de modo que si abres con Google Earth un archivo con entidades eliminadas, estas se visualizarán. Para eliminarlas completamente y que no aparezcan en Google Earth, tienes que comprimir el archivo de dibujo.

¿Quieres saber cómo se marcan como eliminadas las entidades en el archivo .kml?
Te lo mostramos en el blog de desarrollo de Digi3D, en la entrada Marcando entidades eliminadas en archivos .kml

Los archivos de configuración y tablas ahora se muestran en HTML

Hemos añadido una nueva funcionalidad a los archivos de configuración y a los distintos tipos de tablas de Digi3D.NET que va a hacer mucho más amigables estos archivos a los usuarios.

Hace muchos años comenzamos con la migración de archivos de tablas a formato .XML:

  • La migración comenzó en el año 2000 con Digi3D 2000 en el que los archivos de alias (que son los archivos que dan nombres a las órdenes) ya estaban en .XML.
  • Después fue Digi3D 2007 que introdujo muchos cambios, entre ellos pasar de las antiguas tablas Digi.tab al nuevo formato Digi.tab.xml, el archivo de menús menu.xml y la incorporación de los archivos .orientation.xml.
  • En Digi3D.NET ya solo quedaban por transformar a .XML los archivos de teclas y añadimos esos cambios.

El problema de los archivos .XML es que los navegadores los muestran tal y como están escritos, y no son fácilmente interpretables por el usuario tal y como puedes ver en este recorte de una tabla de códigos:

<?xml version="1.0" encoding="utf-8"?>
<digitab xmlns:odt="http://schemas.digi21.net/DigiNG/DigiTab/StyleOldDigiTab/v1.0" xmlns:iobind="http://schemas.digi21.net/DigiNG/IO/bind/v1.0" xmlns:iobin="http://schemas.digi21.net/DigiNG/IO/bin/v1.0" xmlns:iodgn="http://schemas.digi21.net/DigiNG/IO/dgnv8/v1.0" xmlns:iodwg="http://schemas.digi21.net/DigiNG/IO/dwg/v1.0" xmlns:iocsv="http://schemas.digi21.net/DigiNG/IO/csv/v1.0" xmlns:iokml="http://schemas.digi21.net/DigiNG/IO/kml/v1.0" xmlns:ioshp="http://schemas.digi21.net/DigiNG/IO/ShapeFile/v1.0" xmlns:ioGeomedia="http://schemas.digi21.net/DigiNG/IO/Geomedia/v1.0"  bgColor="0 0 0" colorUnknown="127 127 127" colorSnap="0 0 255">
    <codes>
        <code name="010123" description="Límite provincial" tags="" type="1" command="" helpFile="" table="" conditions="" print="1" streamMode="0">
            <representation style="1" color="15" color-stereo="15" width="1" width-stereo="1" print-color="15" print-width="0.010000" fontTT="Arial" weightTT="0" italic="0" />
            <io>
                <iobin:transform code="010123"/>
...

Salta a la vista que este formato no es muy cómo para personas que no sepan .XML

El 21 de septiembre de 2011 publiqué en el Blog de desarrollo de Digi3D.NET una manera de hacer que las tablas de códigos se pudieran imprimir Imprimir la configuración de teclado, pero para realizar esa tarea era necesario modificar el archivo de teclas y crear un archivo de transformación, y eso obviamente requería de nuevo tener conocimiento de XML, y además si el usuario realizaba una modificación sobre el archivo de configuración de teclas, había que volverlo a modificar manualmente para poderlo mostrar en forma de tabla.

Acabamos de modificar Digi3D.NET para que genere de forma automática archivos .XML con formato auto-contenido, de forma que si ahora abres (únicamente con Firefox y con Google Chrome -no lo he probado con Microsoft Edge aún, pero definitivamente con Internet Explorer no funciona) cualquier archivo, éste se muestre de una forma bonita para el usuario.

A continuación tienes una captura de pantalla de Firefox mostrando una tabla de códigos Digi.tab.xml, el archivo de configuración de teclas por defecto (ambos instalados en la carpeta %ProgramData%\Digi3D.NET\Tablas) y uno de los archivos de alias (que se instalan en %ProgramFiles%\Digi21.NET\Digi3D.NET\es-ES)

Firefox mostrando digitabFirefox mostrando teclasmnuFirefox mostrando archivo de alias

Mejoras en las rotaciones

Hemos añadido una mejora en Digi3D.NET relacionada con las rotaciones de las imágenes en la ventana fotogramétrica.

A partir de ahora se recuerda la rotación de cada una de las imágenes en un determinado modelo, de modo que si rotamos las imágenes mediante alguna de las opciones de rotación del menú Ventana fotogramétrica/Transformación de imágenes, estos valores se almacenarán en el archivo .3d el modelo de manera que cuando volvamos a cargar el modelo se mantendrá la rotación.

(en el siguiente ejemplo de un archivo .d3d puedes ver que se ha añadido la propiedad rotation a los nodos left y right):

<?xml version="1.0" encoding="utf-8"?>
<!-- Created by Digi3D -->
<digi3d orientationDirectory="D:\aerotriangulacion japon\">
    <sensorType id="{6215B409-4981-4665-915E-A85792D50DBC}" description="Conical (Stereoscopic)">
        <left rotation="270">$(WorkingDirectory)311010500615299.smti</left>
        <right rotation="270">$(WorkingDirectory)311010500615300.smti</right>
        <aerotriangulation></aerotriangulation>
        <camera>$(WorkingDirectory)UltraCamX 270.cam</camera>
        <cameraD>$(WorkingDirectory)UltraCamX 270.cam</cameraD>
    </sensorType>
</digi3d>

Además hemos añadido al cuadro de diálogo de creación de proyecto fotogramétrico (el que aparece al pulsar el botón de Crear Varios en el cuadro de diálogo de Nuevo Proyecto) la posibilidad de indicar la rotación de las fotos tal y como puedes ver en la siguiente captura de pantalla:

Campo rotación al crear multiples proyectos

 

Mejoras en nuestro Portal de soporte técnico

Soporte en múltiples idiomaas

Hemos añadido una serie de mejoras a nuestro portal de soporte técnico:

  • Ahora puedes conectarte con tu cuenta de Facebook, Twitter o Google+
  • Ahora puedes seleccionar el idioma del portal entre los siguientes: Español, Inglés, Portugués (Brasil) y Japonés

De esta manera te lo ponemos más fácil, no tendrás que memorizar una contraseña más si decides utilizar como sistema de conexión alguna de tus cuentas sociales, y si tu idioma nativo no es Español, podrás configurar el panel de soporte en tu idioma.

Nuestra ayuda online se vuelve más social que nunca

Hemos introducido un componente social en todas las páginas de nuestra ayuda online para que puedas añadir comentarios, recomendar y compartir una determinada página de la ayuda online de nuestros productos.
De esta manera puedes exponer tus experiencias sobre cada una de las características de nuestros productos.

En la captura de pantalla puedes ver un comentario que hemos añadido en la página en la que se explica la orden AUTO.

La ayuda de nuestros programas se vuelve social

Conjunto de Caracteres en las fuentes TrueType en la tabla de códigos

Conjunto de caracteres

Debido a que ahora Digi3D.NET se utiliza también en Japón, hemos tenido que añadir una nueva opción en el editor de tablas de códigos. Esta opción tiene utilidad únicamente si la fuente asignada a un código es una fuente TrueType, y nos permite indicar el Conjunto de caracteres que nos interesa crear de esa fuente en particular.

La opción por defecto para este valor es Ansi, de modo que si cargas una tabla de códigos creada con una versión anterior de Digi3D.NET en la que no se solicitaba esta información, se le asignará por defecto el valor Ansi.

Te voy a explicar aquí el motivo de añadir esta nueva opción y obviamente su significado:

Digi3D.NET muestra la información gráfica mediante la tecnología OpenGL. Esta tecnología gráfica no entiende de textos, únicamente entiende de puntos, líneas y triángulos. Todo lo que ves en pantalla está formado a partir de puntos, líneas y triángulos, ¡incluso los textos!

Para poder dibujar textos, lo que hace Digi3D.NET al cargar el modelo es explotar las fuentes TrueType del sistema en comandos OpenGL que dibujarán cada uno de los caracteres de la fuente mediante puntos, líneas y triángulos.

Este proceso (que se realiza mediante la función wglUseFontOutlines) consume tiempo y memoria, así que Digi3D.NET no explota todas las fuentes que hay en el sistema, sino que únicamente explota las fuentes enumeradas en la tabla de códigos activa, de modo que si en la tabla de códigos se detectan dos fuentes TrueType, como Times New Roman y Verdana, Digi3D.NET únicamente explotará esas fuentes.

Además el primer paso para explotar una fuente consiste en crearla (Digi3D.NET lo hace mediante la función CreateFontIndirect), y este proceso también puede llegar a ser lento y costoso, ya que una fuente puede llegar a tener hasta 65536 caracteres distintos, los del Latín, Griego, Cirílico,… (si te interesa saber todos los tipos de caracteres que se pueden almacenar en una única fuente, puedes obtener aquí más información).

Crear la fuente completa puede llevar tiempo y consumir mucha memoria (tanto RAM como de la tarjeta gráfica), así que no tiene mucho sentido crearla completa (dudo mucho que se presente el caso en el que en un archivo de dibujo aparezcan textos en Cirílico y en Japonés y en Hebreo simultáneamente), de modo que la función CreateFontIndirect recibe un parámetro que nos permite indicar el conjunto de caracteres que queremos que incorpore la fuente, y ese parámetro lo podemos controlar con la modificación que presentamos hoy en la tabla de códigos. Este parámetro se llama Conjunto de caracteres.

Podemos indicar los siguientes conjuntos de caracteres:

Ansi Especifica el conjunto de caracteres del Latín
Por defecto Especifica el conjunto de caracteres basado en la ubicación del sistema. Si tu sistema operativo lo tienes en Árabe, pues se creará el conjunto de caracteres del Árabe, y si lo tienes en Koreano Hangul, pues Koreano Hangul…
Símbolos Especifica el conjunto de caracteres de símbolos
Mac Especifica el conjunto de caracteres de Apple Macintosh
Japonés Especifica el conjunto de caracteres Japonés
Hangul Especifica el conjunto de caracteres Koreano Hangul
Johab Especifica el conjunto de caracteres Koreano Johab
Chino simplificado Especifica el conjunto de caracteres Chino simplificado
Chino tradicional Especifica el conjunto de caracteres Chino tradicional
Griego Especifica el conjunto de caracteres Griego
Turco Especifica el conjunto de caracteres Turco
Vietnamita Especifica el conjunto de caracteres Vietnamita
Hebreo Especifica el conjunto de caracteres Hebreo
Árabe Especifica el conjunto de caracteres Árabe
Báltico Especifica el conjunto de caracteres Báltico (Noreste de Europa)
Ruso Especifica el conjunto de caracteres Ruso
Thailandés Especifica el conjunto de caracteres Tailandés
Europa del este Especifica el conjunto de caracteres de Europa del Este
Oem Especifica otros conjuntos de caracteres. Estos son conjuntos de caracteres añadidos por el fabricante (Original Equipmen Manufacturer), como por ejemplo si la NASA crea un conjunto

De manera que si un determinado código va a mostrar textos en Japonés, tendremos que seleccionar la opción Japonés para dicho código, si no lo hacemos, los caracteres japoneses se mostrarán como cuadrados tal y como puedes ver en la siguiente captura de pantalla.

Digi3D mostrando textos en japonés con fuente creada en Ansi