Как да започнете с 3D в Python
Предварителни условия
- Python 3.8 или по-нова версия
- pip пакетен мениджър
Стъпка 1 — Инсталиране на пакета
Инсталирайте Aspose.3D FOSS за Python от PyPI:
pip install aspose-3d-fossПроверете инсталацията:
import aspose.threed as a3d
print(a3d.__version__)Стъпка 2 — Създайте вашата първа 3D сцена
Scene е кореновият контейнер за всички 3D обекти. Конструкторът приема незадължителен обект, родителска сцена и име:
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)Стъпка 3 — Добавяне на мрежа към сцената
Mesh представлява полигонна геометрия. Node прикрепя обекти към графа на сцената:
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)Стъпка 4 — Зареждане на съществуващ 3D файл
Scene.open() зарежда 3D файл от диск или поток. Приема път и незадължителни
опции за зареждане:
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()))За да откриете файловия формат преди зареждане:
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())Стъпка 5 — Записване на изхода във файл
Scene.save() експортира сцената във всеки поддържан формат. Препоръчителният подход е автоматично откриване, базирано на разширението: Aspose.3D извлича формата от разширението на файла (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")Можете също да предадете изрично формат, използвайки фабричните методи FileFormat.WAVEFRONT_OBJ() или FileFormat.GLTF2(), но автоматичното откриване на разширението е по‑опростено и по‑преносимо.
Следващи стъпки
- How to Load 3D Models in Python — формати, опции, обхождане на графа на сцената
- How to Convert 3D Models in Python — партидни процеси за конвертиране
- How to Build Mesh Geometry in Python — контролни точки, полигони, нормали
- FAQ — чести въпроси и отстраняване на проблеми