Hoe je aan de slag gaat met 3D in Python

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-foss

Controleer 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

 Nederlands