Aplicaciones de consola
Programas de Python normales, que se ejecutan en un intérprete de Python fuera de Digi3D.AI (el que incluye el propio programa o uno tuyo de 3.12). Sirven para leer, procesar y crear archivos de dibujo (convertir de un formato a otro, extraer información, generar informes, hacer controles por lotes…) sin necesidad de abrir el programa.
Digi3D.AI trae su propio intérprete de Python 3.12 en la carpeta de instalación, con
digi21ya disponible. Consulta Intérprete incluido, pip y entornos virtuales.
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 ni crea archivos. |
digi21.io.<formato> |
Lectura (open) y escritura (create) de archivos de dibujo. Un módulo por formato (bin, bindouble, asciidigi, dgn, dwg, dxf, geojson, kml, svg, wkt, geopackage, shp, pdf, geomedia, postgis, ifc, vec), cada uno con su página y sus ejemplos en la referencia de digi21.io. |
digi21.io se apoya en digi21.base: al abrir un archivo se obtienen geometrías que son
instancias de los tipos de digi21.base, y al crear uno se escriben geometrías de esos tipos.
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")
import digi21.io.bindouble as bind
import digi21.io.dxf as dxf
origen = bind.open("ciudad.bind")
with dxf.create("ciudad.dxf", crs=origen.crs) as writer:
for geometry in origen:
writer.add(geometry)
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
- Intérprete incluido, pip y entornos virtuales — usa el Python que trae Digi3D.AI e instala paquetes de terceros (numpy…) con un entorno virtual.
- Ejemplos de programación — aprende leyendo y creando archivos, creando geometrías y consultando relaciones espaciales.
- Referencia de la API —
digi21.baseydigi21.io.