Acciones a ejecutar al seleccionar cualquier código de una tabla de códigos

Personalmente no me gustan las cajas negras, y Digi3D.NET escondía una que ha heredado por compatibilidad hacia atrás con los primeros días de Digi en MS-DOS. Hoy ha llegado el momento de cambiar eso.

¿Sabías que la orden COD no solo cambia de código sino que también realiza las siguientes acciones cuando seleccionas un código?:

  • Cambia el valor de la variable C a falso.
  • Cambia el valor de la variable S a falso.
  • Cambia el valor de la variable IR_PRINCIPIO a falso.
  • Cambia el valor de la variable Orto a falso;
  • Cambia el valor de la variable Orto_aa a falso.
  • Cambia el valor de la variable FIJA_Z a falso.
  • Cambia el valor de la variable MAXPUNTOS a 0.
  • Cambia el valor de la variable FORMATO_AUTONUM a %d.
  • Cambia el valor de la variable TIPO_DE_Z a 2.
  • Desbloquea la Z de la ventana fotogramétrica.

Esto lo hace la orden COD por código duro y no hay forma de cambiarlo. Si querías cambiar de código pero no querías que se cambiase ninguna de estas variables enumeradas anteriormente, tenías o que clonar una entidad existente o que programarte tú mismo una orden COD tal y como se explica en mi curso de programación de Digi3D.NET

Por otro lado, hace un tiempo ya añadimos a Digi3D.NET la posibilidad de que éste ejecute una serie de órdenes por el mero hecho de seleccionar un código. Puedes indicar las órdenes a ejecutar en la propiedad Ordenes (seleccionar código) en la sección Propiedades del código  de la pestaña Códigos del programa Editor de tablas de códigos.

Esto está genial, nos sirve por ejemplo para indicar que si se selecciona el código de curva de nivel se seleccione automáticamente el modo de búsqueda 12, o que por el mero hecho de seleccionar el código de árbol puntual, se ejecute la orden PUNTO_R.

Lo que no teníamos era la posibilidad de indicar que se ejecute una orden al seleccionar cualquier código, de modo que si queríamos que se ejecutase la orden MODELO_SEMANTICO=1 al seleccionar cualquier código, no podíamos, y no teníamos más remedio que añadir dicha orden a todos los códigos de nuestra tabla de códigos.

Para solucionar los dos problemas (quitar de la orden COD la lógica que cambia si o si el valor de las variables C, S, IR_PRINCIPIO, etc…) y hacer que se puedan indicar una serie de órdenes que se ejecutarán cuando el usuario seleccione cualquier código, hemos añadido una nueva pestaña al programa Editor de Tablas de códigos denominada Acciones que nos va a permitir indicar una serie de órdenes a ejecutar al seleccionar un código, y por defecto todas las tablas de códigos van a tener relleno ese campo con las siguientes órdenes:

C=0
S=0
IR_PRINCIPIO=0
ORTO=0
ORTO_AA=0
FIJAZ=0
MAXPUNTOS=0
FORMATO_AUTONUM=%d
TIPO_DE_Z=2
BLOQUEA_Z=0

y hemos eliminado de la orden COD esas acciones que se ejecutaban si o si, de modo que si no te interesa que se cambie el tipo de FORMATO_AUTONUM al cambiar de código, tan solo tienes que eliminar esa línea, o si quieres que se ejecute la orden MODELO_SEMANTICO=1, tan solo tienes que añadir esa línea.

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

 

 

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s