This page has not been translated yet and is shown in Spanish.

Cómo ejecutar guiones

Digi3D.AI puede ejecutar guiones de Python de tres maneras: desde el panel, como una orden (por su nombre, desde la consola de órdenes) y como control de calidad.

1. Desde el panel de Guiones Python

El panel de Guiones Python es un panel acoplable (menú Ventana/Guion Python) donde puedes teclear o pegar un guion y ejecutarlo al momento. Permite probar guiones y realizar tareas puntuales. El panel se describe en Guion Python.

import digi3d

view = digi3d.current_view()
digi3d.show_results(True)
digi3d.add_result(f"El dibujo tiene {len(view)} geometrías")

2. Como una orden (desde la consola de órdenes)

Puedes ejecutar un guion por su nombre, como si fuera una orden nativa de Digi3D.AI:

  1. Guarda el archivo .py en el directorio de macroinstrucciones, que se configura en Herramientas → Configuración → DigiNG → Directorio de macroinstrucciones.
  2. Con una ventana de dibujo abierta, pulsa Enter: en la barra de estado aparece un campo de texto para escribir un nombre de orden y sus parámetros.
  3. Escribe el nombre y, si la orden recibe parámetros, un = seguido de los parámetros separados por espacios.

Cuando el nombre no corresponde a ninguna orden nativa, Digi3D.AI busca en el directorio de macroinstrucciones un archivo .py que se llame igual; si lo encuentra, lo carga en el intérprete y lo ejecuta pasándole los parámetros. Puedes ejecutar el guion como cualquier otra orden.

Por ejemplo, con FILTRAR.py en el directorio de macroinstrucciones, al escribir:

FILTRAR=020124 020123 1

como FILTRAR no es una orden nativa, se carga FILTRAR.py y se ejecuta con esos tres parámetros.

Recibir los parámetros: argv

Dentro del guion, los parámetros llegan en la lista global argv, como cadenas y en el orden en que se escribieron:

import digi3d

if len(argv) < 1:
    digi3d.music(digi3d.MusicType.Error)
    raise Exception("Falta el código")

codigo = argv[0]
distancia = float(argv[1]) if len(argv) > 1 else 1.0
# ... usa codigo y distancia

Si quieres una orden interactiva (que espera pulsaciones del usuario sobre el dibujo), en lugar de un guion lineal crea una clase que herede de PythonCommand. Tienes ejemplos en Texto del callejero del Catastro y de Azure Maps.

3. Como control de calidad

Una función de Python puede actuar como control de calidad de un código: Digi3D.AI la ejecuta sobre las geometrías que tienen ese código para comprobar que cumplen ciertas reglas, ya sea bajo demanda o en tiempo real mientras digitalizas la geometría. Los controles se explican en Controles de calidad.

Véase también