Archivo por meses: noviembre 2024

¿No puedes cargar archivos de MDTopX en Digi3D.NET? Aquí te explicamos cómo solucionarlo

Si has actualizado una versión de Digi3D.NET es posible que haya desaparecido del listado de archivos de dibujo al cargar archivo de referencia la opción de cargar archivos de MDTopX.

Esto es debido a que la extensión de Digi3D.NET que carga archivos MDTopX antes se instalaba en una carpeta de Windows (denominada WinSxS) y en las últimas versiones no se instala ahí, sino que se instala en Archivos de programa.

Si instalas Digi3D.NET en un equipo nuevo, se configura todo correctamente, pero si actualizas de una versión anterior en la que dicha extensión se ubicaba en WinSxS, el instalador no va a modificar la configuración que le indica a Digi3D.NET dónde localizar dicha extensión y por lo tanto las versiones modernas de Digi3D.NET van a pensar que hay que cargarla de WinSxS y ahí no van a encontrar nada.

Para solucionarlo, tan solo tenemos que cambiar la configuración que le dice a Digi3D.NET donde encontrar esa extensión en particular.

Esta es una configuración que no tiene ningún sentido añadir en el cuadro de diálogo de Configuración del programa, porque es algo de muy bajo nivel, y para hacer cambios de este tipo tenemos la opción del menú: Herramientas/Configuración avanzada…

Esto abre el un cuadro de diálogo que permite introducir una sentencia SQL para modificar el archivo de configuración de Digi3D.NET que está ubicado en la ruta c:\ProgramData\Digi3D.NET\Digi3DNET.db. Este es un archivo SQLite.

Tan sólo tenemos que introducir la siguiente sentencia en ese cuadro de diálogo y pulsar el botón Enviar:

UPDATE Ints SET Data=0 WHERE Key=(SELECT Id FROM Keys WHERE Path LIKE '%Digi21.IO.Mdt%') AND Value='WinSxS'

Y ya está solucionado: Cerramos Digi3D.NET y lo volvemos a abrir y ya podemos cargar archivos de MDTopX con la orden CARGA_F.

Aprovechando el hardware de una estación Delta en Digi3D.NET

La semana pasada una empresa que tenía una estación fotogramétrica Delta (de la empresa ucraniana Geosystems que ahora se llaman Analytica Ltd) adquirieron una licencia de Digi3D.NET.

La idea era aprovechar al 100% el hardware que tenían (manivelas y estereóscopo).

El estereóscopo se aprovecha trivialmente, en Digi3D.NET tan solo tienes que configurar como sistema de visión estereoscópica la opción de estereóscopo tal y como puedes ver en la siguiente captura de pantalla:

y Digi3D.NET se encarga de mostrar en la ventana fotogramétrica la pantalla partida para un estereóscopo.

El problema era aprovechar las manivelas, ya que las manivelas de esa estación están conectadas a una tarjeta PCI v1.0 que se pincha directamente en la placa base del ordenador:

Esta tarjeta tiene dos problemas:

  1. Las placas base modernas no suelen disponer de conector PCI v1.0, pero eso se puede solventar comprando un adaptador de PCI v1.0 a PCI express que puedes encontrar en Amazon por muy poco dinero.
  2. Esta tarjeta necesita un controlador para que Windows la reconozca, y no hay controladores de 64 bits para esta tarjeta, y no puedes instalar un controlador de 32 bits en un sistema operativo de 64 bits, así que no podemos conectar esta tarjeta en el mismo equipo en el que está Digi3D.NET

La única solución que se nos ha ocurrido consiste en utilizar dos ordenadores: Hemos instalado un Windows 10 de 32 bits (porque la máquina original tenía un XP) en la máquina que tenía conectada la tarjeta y hemos creado un servicio de Windows (de 32 bits) que se ejecuta en dicho ordenador.

Este servicio lo único que hace es leer coordenadas de la tarjeta de codificadores. Cuando detecta algún movimiento de manivelas o que se ha pulsado un pedal, envía coordenadas por UDP/IP a la dirección IP y al puerto configurados al instalar el servicio.

Hemos hecho este servicio Open Source, y lo hemos alojado en el siguiente repositorio:

https://github.com/digi21/ServicioLecturaCodificadoresDPW

En ese repositorio puedes ver cómo se leen coordenadas de esa tarjeta, la lógica para convertir los pedales a un formato compatible con Digi3D.NET, cómo enviar por UDP/IP un paquete de datos y cómo crear un servicio de Windows.

Por otro lado, hemos añadido en Digi3D.NET un nuevo tipo de dispositivo de entrada (UDP/IP) en la opción del menú Herramientas/Configuración de dispositivos de entrada…

Puedes configurar tanto el puerto en el que escucha la ventana fotogramétrica coordenadas de codificadores como los tensores (para asignar velocidades o cambiar sentido de movimiento).

Puedes ver en acción el nuevo servicio y cómo recibe en tiempo real Digi3D.NET coordenadas en el siguiente vídeo: