Presentamos una nueva orden en Digi3D.NET que te va a permitir renombrar un código de la entidad o entidades que selecciones a continuación.
Esta orden (que puedes localizar en el menú Editar/Renombrar un código de entidades seleccionadas…), junto con la orden SELECCIONA_INUNDACION te va a permitir cambiar de código a varias geometrías rápidamente, incrementando mucho tu productividad.
A continuación puedes ver un vídeo en el que te mostramos esta nueva orden en acción:
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?:
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:
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:
Digi3D.NET dispone desde hace un año aproximadamente de una herramienta que permite diferenciar códigos en distintas geometrías almacenadas en una misma tabla de base de datos en formatos de archivos SIG como son Geomedia y Shapefile.
En el programa Editor de Tablas de códigos podemos añadir condiciones al campo Condiciones asociado con cada código. En estas condiciones básicamente podemos poner el nombre de un campo y un valor. Podemos poner tantas condiciones como queramos.
De esta manera, si por ejemplo disponemos de una tabla denominada VIAS_DE_COMUNICACION que almacena (sorprendentemente) geometrías de tipo vías de comunicación, y ésta dispone entre otros de los campos ESTADO y CARRILES, podemos indicarle a Digi3D.NET si se encuentra en esta tabla una geometría que tenga los siguientes valores:
ESTADO=27
que considere esa geometría una Autopista o autovía, pero si en vez de esos valores, se encuentra con una geometría con valores:
ESTADO=44
que considere esa geometría como una autopista en construcción.
Esto lleva con nosotros un año aproximadamente. Lo que hemos añadido hoy es la posibilidad de utilizar distintos operadores, pues hasta hoy el único operador que se aceptaba era el de igualdad, de modo que únicamente se podía comprobar si el atributo X es igual al valor Y.
Hemos añadido los siguientes operadores:
Operador a introducir en la tabla de códigos
Significado
<
Menor
<=
Menor o igual
=
Igual
>=
Mayor o igual
>
Mayor
de esta manera, si por ejemplo queremos diferenciar entre carretera y autopista en función del número de carriles, y suponiendo que el número de carriles se almacena en el campo CARRILES, podríamos hacer algo así:
Añadir al código de Carretera estas condiciones:
ESTADO=27
CARRILES<=2
Al código de Carretera en construcción las condiciones:
ESTADO=44
CARRILES<=2
Al código de Autopista las condiciones:
ESTADO=27
CARRILES>2
Al código de Autopista en construcción las condiciones: