Як розпочати роботу з 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 сцену
A 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(), але автоматичне визначення розширення простіше та більш портативне.
Наступні кроки
- Як завантажити 3D‑моделі у Python — формати, параметри, обход графа сцени
- Як конвертувати 3D‑моделі у Python — пакетні процеси конвертації
- Як створювати геометрію сітки у Python — контрольні точки, полігони, нормалі
- ЧаП — поширені питання та усунення проблем