Com començar amb 3D a Python

Com començar amb 3D a Python

Requisits previs

  • Python 3.8 o posterior
  • gestor de paquets pip

Pas 1 — Instal·la el paquet

Instal·la Aspose.3D FOSS per a Python des de PyPI:

pip install aspose-3d-foss

Verifiqueu la instal·lació:

import aspose.threed as a3d
print(a3d.__version__)

Pas 2 — Crea la teva primera escena 3D

Un Scene és el contenidor arrel per a tots els objectes 3D. El constructor accepta una entitat opcional, l’escena pare i un nom:

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)

Pas 3 — Afegeix una malla a l’Escena

Mesh representa geometria de polígons. Node adjunta entitats al graf de l’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)

Pas 4 — Carrega un fitxer 3D existent

Scene.open() carrega un fitxer 3D des del disc o flux. Accepta una ruta i opcional opcions de càrrega:

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()))

Per detectar el format del fitxer abans de carregar-lo:

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())

Pas 5 — Desa la sortida a un fitxer

Scene.save() exporta l’escena a qualsevol format compatible. L’enfocament recomanat és la detecció automàtica basada en l’extensió: Aspose.3D infereix el format a partir de l’extensió del fitxer (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")

També podeu passar un format explícit utilitzant els mètodes de fàbrica FileFormat.WAVEFRONT_OBJ() o FileFormat.GLTF2(), però la detecció automàtica de l’extensió és més senzilla i més portàtil.

Pròxims passos

 Català