Como Começar com 3D em Python
Pré-requisitos
- Python 3.8 ou posterior
- gerenciador de pacotes pip
Etapa 1 — Instalar o Pacote
Instale o Aspose.3D FOSS para Python a partir do PyPI:
pip install aspose-3d-fossVerifique a instalação:
import aspose.threed as a3d
scene = a3d.Scene()
print("Aspose.3D FOSS is working, version:", a3d.Scene.VERSION)Etapa 2 — Crie sua primeira cena 3D
Um Scene é o contêiner raiz para todos os objetos 3D. O construtor aceita uma entidade opcional, cena pai e nome:
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 # root_node is a property, not a method — no ()
print("Root node:", root)Etapa 3 — Adicionar uma Malha à Cena
Mesh representa geometria de polígonos. Node anexa entidades ao grafo de cena:
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) # root_node is a property, not a method — no ()Etapa 4 — Carregar um Arquivo 3D Existente
Scene.open() carrega um arquivo 3D do disco ou de um fluxo. Ele aceita um caminho e opções de carregamento
opcionais:
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 # root_node is a property, not a method — no ()
print("Child nodes:", len(root.child_nodes)) # child_nodes is a property, not a method — no ()Para detectar o formato do arquivo antes de carregá-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) # extension is a property, not a method — no ()Etapa 5 — Salvar Saída em um Arquivo
Scene.save() exporta a cena para qualquer formato suportado. A abordagem recomendada é a detecção automática baseada em extensão: Aspose.3D infere o formato a partir da extensão do arquivo (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")Você também pode passar um formato explícito usando os métodos de fábrica FileFormat.WAVEFRONT_OBJ() ou FileFormat.GLTF2(), mas a detecção automática de extensão é mais simples e mais portátil.
Próximas Etapas
- Como Carregar Modelos 3D em Python — formatos, opções, travessia do grafo de cena
- Como Converter Modelos 3D em Python — fluxos de trabalho de conversão em lote
- Como Construir Geometria de Malha em Python — pontos de controle, polígonos, normais
- FAQ — perguntas comuns e solução de problemas