Jak rozpocząć pracę z 3D w Pythonie
Wymagania wstępne
- Python 3.8 lub nowszy
- menedżer pakietów pip
Krok 1 — Zainstaluj pakiet
Zainstaluj Aspose.3D FOSS dla Pythona z PyPI:
pip install aspose-3d-fossSprawdź instalację:
import aspose.threed as a3d
print(a3d.__version__)Krok 2 — Utwórz swoją pierwszą scenę 3D
Scene jest kontenerem głównym dla wszystkich obiektów 3D. Konstruktor przyjmuje opcjonalny entity, scenę nadrzędną i nazwę:
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)Krok 3 — Dodaj siatkę do sceny
Mesh reprezentuje geometrię wielokąta. Node dołącza jednostki do grafu sceny:
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)Krok 4 — Załaduj istniejący plik 3D
Scene.open() ładuje plik 3D z dysku lub strumienia. Akceptuje ścieżkę i opcjonalne
opcje ładowania:
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()))Aby wykryć format pliku przed załadowaniem:
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())Krok 5 — Zapisz wynik do pliku
Scene.save() eksportuje scenę do dowolnego obsługiwanego formatu. Zalecane podejście to automatyczne wykrywanie oparte na rozszerzeniu: Aspose.3D wywnioskuje format z rozszerzenia pliku (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")Możesz również przekazać jawny format używając metod fabrycznych FileFormat.WAVEFRONT_OBJ()
lub FileFormat.GLTF2(), ale automatyczne wykrywanie rozszerzenia jest prostsze i bardziej przenośne.
Kolejne kroki
- Jak ładować modele 3D w Pythonie — formaty, opcje, przeglądanie grafu sceny
- Jak konwertować modele 3D w Pythonie — przepływy pracy konwersji wsadowej
- Jak budować geometrię siatki w Pythonie — punkty kontrolne, wielokąty, wektory normalne
- FAQ — częste pytania i rozwiązywanie problemów