Bienvenido al repositorio comunitario de comandos de Digi3D.AI escritos en Python. Aquí, el equipo de Digi3D.AI y cualquier usuario con conocimientos de Python pueden compartir comandos para que los aproveche toda la comunidad.
¿Usas Digi3D.NET? Los comandos de la rama
mainusan la API de Digi3D.AI y no funcionan en las versiones anteriores. Descarga los comandos de la ramaDigi3D.NET, que contiene la última versión anterior a Digi3D.AI.
Digi3D.AI integra un intérprete de Python (panel de Guiones Python) y ejecuta como una orden más cualquier
guion .py que encuentre con el nombre de la orden. El instalador de Digi3D.AI copia los comandos de este
repositorio en la carpeta OrdenesPython de su carpeta de instalación, así que basta con escribir el nombre
del comando en la línea de órdenes, por ejemplo FILTRAR=020124 020123 1.
Digi3D.AI busca el archivo .py en este orden y ejecuta el primero que encuentra: la carpeta del archivo de
dibujo, el directorio de macroinstrucciones, C:\digi\, la carpeta del ejecutable y, por último, la carpeta
OrdenesPython. Para modificar un comando, o para usar un comando en una versión de Digi3D.AI que no los
instala:
- Descarga el archivo
.pyque te interese (botón Raw en GitHub, o clonando el repositorio). - Cópialo en tu directorio de macroinstrucciones de Digi3D.AI y, si quieres, edítalo. Digi3D.AI ejecuta esa copia en lugar del archivo instalado.
La página Órdenes en Python del repositorio ComandosDigi3DPython de la ayuda de Digi3D.AI resume cada comando y enlaza a su página en la referencia de órdenes.
Cada archivo .py es un comando independiente. Abre el archivo para ver los detalles de uso (parámetros,
ejemplos) en su cabecera.
| Comando | Qué hace |
|---|---|
borra_atr.py |
BORRA_ATR: elimina el enlace a base de datos (atributos) de todas las entidades del dibujo. |
crea_tareas_con_areas_inferior_a_valor.py |
CREA_TAREAS_CON_AREAS_INFERIOR_A_VALOR=área: crea una tarea de localización para cada línea cerrada o polígono cuya área sea inferior al valor indicado. |
crear_tramos_para_unir_curvas.py |
CREAR_TRAMOS_PARA_UNIR_CURVAS=código distancia: crea tramos que unen curvas de nivel del mismo nivel cuyos extremos están a menos de la distancia indicada. |
dibuja_texto_extraido_callejero_catastro.py |
DIBUJA_TEXTO_EXTRAIDO_CALLEJERO_CATASTRO, orden interactiva: inserta el nombre de la calle (Catastro de España) del punto señalado. |
dibuja_texto_extraido_servicio_mapas_azure.py |
DIBUJA_TEXTO_EXTRAIDO_SERVICIO_MAPAS_AZURE=clave, orden interactiva: inserta el nombre de la calle desde Azure Maps; recibe la clave (subscription key) de tu cuenta. |
elimina_curvas_por_equidistancia.py |
ELIMINA_CURVAS_POR_EQUIDISTANCIA=código [código...] equidistancia: borra las curvas cuya Z es múltiplo de la equidistancia dada. |
filtrar.py |
FILTRAR=maestra fina equidistancia [intervalo de maestras]: filtra las curvas para una escala y reasigna los códigos de maestra/fina (réplica del FILTRAR de MS-DOS). |
prefija_cod.py |
PREFIJA_COD=prefijo, orden interactiva: antepone el prefijo (por ejemplo BAI_ o ACT_) a los códigos de cada geometría que se selecciona, salvo a los que ya tienen uno. Necesita una versión de Digi3D.AI con PythonCommand.select_geometry. |
redondea_z.py |
REDONDEA_Z=maestra fina: redondea a entero la coordenada Z de las curvas de nivel con esos códigos. |
renomcod_manteniendo_atributos.py |
RENOMCOD_MANTENIENDO_ATRIBUTOS=origen destino: cambia un código por otro conservando Tabla y Registro (RENOMCOD sin perder atributos). |
transforma_complejo_a_punto.py |
TRANSFORMA_COMPLEJO_A_PUNTO=código [código...]: transforma las geometrías de tipo Complejo con esos códigos en Punto. |
Si a una orden le faltan parámetros, o un número no es válido, la orden emite el sonido de error y muestra un cuadro con el motivo y la forma de uso.
¡Tus comandos son bienvenidos! Si has escrito un guión que te resulta útil, compártelo con el resto de la comunidad:
- Haz un fork de este repositorio.
- Añade tu archivo
.py(con un nombre descriptivo y, por favor, unos comentarios explicando qué hace y qué parámetros admite). - Abre un pull request. Lo revisaremos e integraremos.
¿Tienes una idea para un comando, o has encontrado un fallo en alguno? Abre una issue y lo comentamos.
- 2017 — Digi3D.AI incorpora un panel con un intérprete interactivo de IronPython (versión 2017.0.0.16).
- 2020 — Se añade la posibilidad de pegar y ejecutar código Python en el panel y de
ejecutar guiones como comandos, de modo que basta con
copiar un
.pya la carpeta de macroinstrucciones o a la tabla de códigos. - 2023 — Se sustituye el panel interactivo por el panel de Guiones Python, se cambia el motor de
IronPython a CPython y se rediseña el modelo de objetos para que sea más Pythonic. Desde entonces se
pueden crear órdenes interactivas en Python (la primera fue
dibuja_texto_extraido_callejero_catastro.py).