Aplicaciones de consola
Programas de Python normales, que se ejecutan en un intérprete de Python de tu sistema fuera de Digi3D.AI. Sirven para leer y procesar archivos de dibujo (convertir formatos, extraer información, generar informes, hacer controles por lotes…) sin necesidad de abrir el programa.
Usan dos paquetes:
| Paquete | Para qué sirve |
|---|---|
digi21.base |
Tipos del núcleo: códigos, geometrías, tablas de códigos y cámara. No abre archivos. |
digi21.io.<formato> |
Lectura de archivos de dibujo. Un módulo por formato (bindouble, bin, asciidigi, dgn, dwg, dxf). |
digi21.io se apoya en digi21.base: al abrir un archivo se obtienen geometrías que son
instancias de los tipos de digi21.base.
En esta forma de programación no existe el objeto
digi3d: ese solo está disponible dentro de Digi3D.AI, en el panel de Python y en los controles de calidad. Aquí trabajas con archivos, no con el dibujo activo del programa.
Un vistazo rápido
import digi21.io.bindouble as bind
drawing = bind.open("ciudad.bind")
for geometry in drawing:
print(type(geometry).__name__, len(geometry), "vértices")
from digi21.base import Line, Polygon
linea = Line(["CARR"], [(0, 0, 0), (10, 0, 0), (10, 10, 0)])
print(linea.perimeter_2d)
if linea.crosses(otra_linea):
print("Las líneas se cruzan")
Propiedad de la memoria
Una geometría creada desde Python la libera Python. En cuanto se añade a un contenedor (como hueco de un
Polygono hijo de unComplex), la propiedad pasa al contenedor, que será quien la libere. Las geometrías devueltas al iterar un archivo son propiedad del archivo: trátalas como de solo lectura durante el recorrido.
Enlaces
- Ejemplos de programación — aprende leyendo archivos, creando geometrías y consultando relaciones espaciales.
- Referencia de la API —
digi21.baseydigi21.io.