Archivos Mensuales: mayo 2017

Imprime los nombres de las órdenes de Digi3D.NET

La ventana de dibujo de Digi3D.NET no implementa las órdenes (como CIR2P, PARALELA, etc.), sino que delega esa responsabilidad en cada una de las extensiones del programa.

Estas extensiones son una serie de archivos con extension .DLL ubicados en c:\Archivos de programa\Digi21.net\Digi3D.NET y cuyos nombres forman el siguiente patrón: DigiNG.[extension].dll, como por ejemplo DigiNG.OrdenesTopologia.dll o DigiNG.OrdenesStandard.dll.

Cuando tecleamos el nombre de una orden, Digi3D.NET a priori no esa orden existe o no, de manera que consulta a cada una de las extensiones (DigiNG.OrdenesTopologia, DigiNG.OrdenesStandard, etc.) si implementan dicha orden. En caso afirmativo, le ordena a la extensión correspondiente que ejecute la orden con los parámetros que haya especificado el usuario.

Pero los nombres de las órdenes dentro de cada uno de estos archivos .DLL no tiene nada que ver con los nombres de las órdenes que tiene que ejecutar el usuario. El nombre de las órdenes internamente es un GUID. La orden (en castellano) CIR2P por ejemplo en realidad se llama {C9CE4CF2-6029-48e7-9FC1-141708C22393}. De hecho puedes probarlo tú mismo, puedes ejecutar la orden {C9CE4CF2-6029-48e7-9FC1-141708C22393} y comprobarás que en realidad se está ejecutando la orden CIR2P, de manera que antes de preguntarle a cada una de la extensiones si implementan una determinada orden, debe transformar dicho nombre de orden al formato GUID, y para ello utiliza los archivos de alias, que no son más que unos archivos .XML ubicados en c:\Archivos de programa\digi21.net\Digi3D.NET\es-ES para español de España y en c:\Archivos de programa\digi21.net\Digi3D.NET\en-US para inglés americano.

En esos archivos es donde se indica que la orden CIR2P en realidad se llama {C9CE4CF2-6029-48e7-9FC1-141708C22393} y  donde además se proporciona una pequeña descripción de cada orden y una lista (quizás no todo todo lo bien actualizada que debería ser)  de órdenes relacionadas.

Bien, pues hoy presentamos una novedad provocada por una solicitud de soporte técnico que recibimos la semana pasada solicitando la posibilidad de imprimir esta información en forma tabulada. Hemos modificado estos archivos de manera que si los arrastras por ejemplo a una ventana de Google Chrome, éste en vez de mostrarte el contenido del archivo .XML, te mostrará una tabla con dos columnas: el nombre de la orden y la pequeña descripción de dicha orden.

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

¡ADVERTENCIA! ¡NO ACTUALICES TU WINDOWS 10 A LA ACTUALIZACIÓN DE CREADORES!

Si eres usuario de Digi3D.NET (o de cualquiera de nuestros competidores) y tu sistema operativo es Windows 10, ¡NO ACTUALICES A LA ACTUALIZACIÓN DE CREADORES! (al menos hasta que lo solucionen) pues esta actualización elimina la capacidad de estereoscopía OpenGL que es la que utilizan los softwares profesionales como Digi3D.NET.

No es un problema del software, es un problema del sistema operativo. Puedes ver a continuación por ejemplo un ticket de soporte técnico creado por el soporte técnico de DAT/Em comunicando el problema a Microsoft: https://answers.microsoft.com/en-us/windows/forum/windows_10-update/windows-10-creators-update-disables-nvidia/a855a2bf-be59-4427-898e-ecaa215d012a

Nosotros por nuestro lado hemos creado una incidencia en NVidia y estamos a espera de que nos proporcionen más información, pero por ahora, la única solución es NO INSTALAR.

Si ya has instalado, ya has perdido la estereoscopía, de modo que tienes que volver a la compilación anterior. Puedes hacerlo siguiendo las instrucciones que aparecen en la siguiente entrada de Genbeta: https://www.genbeta.com/paso-a-paso/si-tienes-problemas-tras-instalar-la-creators-update-asi-puedes-regresar-a-la-version-anterior-de-windows

 

 

Crea menús de Digi con el Editor de Tablas de Códigos

Digi3D.NET dispone de un panel denominado Cuadro de herramientas que es el heredero de los menús de Digi de MS-DOS. Es un cuadro que dispone de un desplegable denominado Carpetas. Una vez seleccionada una opción en el desplegable, se muestran en el contenido principal del panel los grupos de herramientas asociados a dicha carpeta, y dentro de cada grupo  se localizan las herramientas, que no son más que opciones que al pulsarlas ejecutan una seria de órdenes.

Panel cuadro de herramientas.PNG

Este panel te permite crear carpetas y en cada carpeta crear grupos y en cada grupo te permite crear tantas acciones como quieras.

En esta imagen puedes ver el panel Cuadro de herramientas en el cual está seleccionada la carpeta Restitución. Esta carpeta tiene dos grupos: Altimetría e Hidrografía. El usuario ha desplegado la opción Altimetría y el panel está mostrándole distintas opciones como Ver solo altimetría, Curva maestra, etc.

Hasta hoy Digi3D.NET rellenaba este panel a partir de la información proporcionada Herramientas/Configuración/DigiNG/Menú tal y como puedes ver en la siguiente captura de pantalla:

Dialogo configuracion mostrando opcion de menu de digi

Este panel puede ayudar a incrementar mucho la productividad, pero el problema es que en la práctica casi nadie lo utiliza pues hay que confeccionar el archivo manualmente.

Hoy presentamos novedades al respecto: Hemos eliminado la posibilidad de tener un archivo de menú, de manera que hemos quitado toda referencia al menú en el cuadro de diálogo de Configuración, y hemos hecho que los menús formen parte de la tabla de códigos, de manera que hemos añadido una nueva pestaña al programa Editor de Tablas de Códigos denominada Cuadro de Herramientas que te va a permitir crear un cuadro de herramientas gráficamente. Puedes ver esta nueva pestaña en la siguiente captura de pantalla:

Editor de tablas de codigos mostrando panel de cuadro de herramientas.PNG

Como puedes ver, puedes crear carpetas. Cuando seleccionas una carpeta puedes añadir grupos y acciones.

Una vez seleccionada una acción, puedes introducir en el cuadro de la derecha tantas órdenes como quieras que se ejecuten cuando el usuario seleccione esa acción en particular.

Si al cargar un archivo de dibujo seleccionas una tabla de códigos que tenga incorporado un cuadro de herramientas, por el mero hecho de abrir el archivo el panel de Cuadro de Herramientas mostrará las opciones que tengas asignadas en la tabla de códigos.

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

Nuevas órdenes ONT y OFFT

Presentamos dos órdenes nuevas: ONT y OFFT para Digi3D.NET que te van a permitir activar o desactivar la visualización de entidades en función de su código y tipo.

Estas órdenes reciben como parámetros una o varias tuplas formadas por un código y un tipo.

El tipo como es habitual en Digi3D puede ser cualquier combinación de los siguientes valores:

Valor Significado
L Líneas
P Puntos
T Textos
H Polígonos
C Complejos

De manera que si por ejemplo si no queremos visualizar entidades de tipo Texto y Punto con el código 020200, tendremos que ejecutar la siguiente orden:

OFFT=020200 CT

Y si además no queremos ver complejos con el código 010101, podríamos hacerlo en una única llamada a

OFFT=020200 CT 010101 C

En el siguiente vídeo te mostramos esta funcionalidad en acción:

 

 

Prohíbe la ejecución de órdenes

En ocasiones nos interesa prohibir la ejecución de alguna orden de Digi3D.NET para evitar problemas que puedan ocasionar dichas órdenes, como por ejemplo la orden Gen, que generaliza un archivo de dibujo pudiendo estropear los vértices topológicos existentes en un segmento.

Presentamos hoy una nueva orden que nos va a permitir prohibir la ejecución de órdenes: PROHIBE_ORDEN.

Esta orden espera que le pasemos como parámetros los nombres de las órdenes que queremos prohibir. Podemos ejecutar esta orden tantas veces como queramos o podemos anular varias órdenes simultáneamente pasándole múltiples parámetros.

Por ejemplo, si queremos anular las órdenes G, GEN y COMPRIMIR, tan solo tendremos que ejecutar la orden:

PROHIBE_ORDEN=G GEN COMPRIMIR

y habremos anulado dichas órdenes.

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

 

 

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:

 

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

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:

 

 

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: