Cómo comenzar con 3D en Python
Requisitos
- Python 3.8 o posterior
- gestor de paquetes pip
Paso 1 — Instalar el paquete
Instale Aspose.3D FOSS para Python desde PyPI:
pip install aspose-3d-fossVerifique la instalación:
import aspose.threed as a3d
print(a3d.__version__)Paso 2 — Crea tu primera escena 3D
Un Scene es el contenedor raíz para todos los objetos 3D. El constructor acepta una entidad opcional, escena padre y nombre:
import aspose.threed as a3d
# Create an empty scene (CLM-3d-35d727)
scene = a3d.Scene()
# Access the root node of the scene (CLM-3d-859ac2)
root = scene.root_node()
print("Root node:", root)Paso 3 — Añadir una malla a la escena
Mesh representa geometría de polígonos. Node adjunta entidades al grafo de escena:
import aspose.threed as a3d
scene = a3d.Scene()
# Create a named mesh (CLM-3d-529c11)
mesh = a3d.Mesh("my_mesh")
# Create a node and attach the mesh (CLM-3d-0edae8)
node = a3d.Node("my_node", mesh)
# Add the node as a child of the root (CLM-3d-a403f5)
scene.root_node().add_child_node(node)Paso 4 — Cargar un archivo 3D existente
Scene.open() carga un archivo 3D desde disco o flujo. Acepta una ruta y opciones de carga opcionales:
import aspose.threed as a3d
# Load an OBJ file (CLM-3d-d84964)
scene = a3d.Scene()
scene.open("model.obj")
# Inspect the loaded scene
root = scene.root_node()
print("Child nodes:", len(root.child_nodes()))Para detectar el formato de archivo antes de cargarlo:
import aspose.threed as a3d
# Detect the format from a file name (CLM-3d-d2de62)
fmt = a3d.FileFormat.detect(None, "model.fbx")
if fmt:
print("Detected format:", fmt.extension())Paso 5 — Guardar salida en un archivo
Scene.save() exporta la escena a cualquier formato compatible. El enfoque recomendado es la detección automática basada en la extensión: Aspose.3D infiere el formato a partir de la extensión del archivo (CLM-3d-8051bd, CLM-3d-b28d7a, CLM-3d-de8e1a):
import aspose.threed as a3d
scene = a3d.Scene()
# ... populate scene ...
# Save as Wavefront OBJ — extension auto-detects the format
scene.save("output.obj")
# Save as glTF 2.0 binary — .glb extension triggers binary GLB output
scene.save("output.glb")También puedes pasar un formato explícito usando los métodos de fábrica FileFormat.WAVEFRONT_OBJ() o FileFormat.GLTF2(), pero la detección automática de la extensión es más simple y más portátil.
Próximos pasos
- Cómo cargar modelos 3D en Python — formatos, opciones, recorrido del grafo de escena
- Cómo convertir modelos 3D en Python — flujos de trabajo de conversión por lotes
- Cómo construir geometría de malla en Python — puntos de control, polígonos, normales
- FAQ — preguntas comunes y solución de problemas