Hoe je aan de slag gaat met 3D in Python
Voorvereisten
- Python 3.8 of later
- pip‑pakketbeheerder
Stap 1 — Installeer het pakket
Installeer Aspose.3D FOSS voor Python vanaf PyPI:
pip install aspose-3d-fossControleer de installatie:
import aspose.threed as a3d
print(a3d.__version__)Stap 2 — Maak uw eerste 3D‑scène
Een Scene is de hoofdcontainer voor alle 3D‑objecten. De constructor accepteert een optionele entiteit, bovenliggende scène en naam:
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)Stap 3 — Voeg een Mesh toe aan de Scene
Mesh vertegenwoordigt polygongeometrie.Node voegt entiteiten toe aan de scenegraph:
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)Stap 4 — Laad een bestaand 3D‑bestand
Scene.open() laadt een 3D‑bestand van schijf of stream. Het accepteert een pad en optionele
laadopties:
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()))Om het bestandsformaat vóór het laden te detecteren:
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())Stap 5 — Sla uitvoer op in een bestand
Scene.save() exporteert de scène naar elk ondersteund formaat. De aanbevolen aanpak is
extensiegebaseerde automatische detectie: Aspose.3D leidt het formaat af van de bestandsextensie
(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")U kunt ook een expliciet formaat doorgeven met behulp van de fabrieksmethoden FileFormat.WAVEFRONT_OBJ() of FileFormat.GLTF2(), maar automatische detectie van extensies is eenvoudiger en draagbaarder.
Volgende stappen
- Hoe 3D-modellen te laden in Python — formaten, opties, doorlopen van de scènegrafiek
- Hoe 3D-modellen te converteren in Python — batchconversie‑workflows
- Hoe mesh‑structuur te bouwen in Python — controlepunten, polygonen, normaalvectoren
- FAQ — veelgestelde vragen en probleemoplossing