Hvordan man begynder med 3D i Python
Forudsætninger
- Python 3.7 eller nyere
- pip-pakkeforvalter
Trin 1 Installer pakken
Installer Aspose.3D FOSS for Python fra PyPI:
pip install aspose-3d-fossVerificer installationen:
import aspose.threed as a3d
scene = a3d.Scene()
print("Aspose.3D FOSS is working, version:", a3d.Scene.VERSION)Trin 2 Oprett din første 3D-scene
A. Det er ikke muligt. Scene er rodbeholderen for alle 3D-objekter. Konstruktoren accepterer en valgfri enhed, moderscen og navn:
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 # root_node is a property, not a method — no ()
print("Root node:", root)Trin 3 Tilføj et net til scenen
Mesh repræsenterer polygon geometri. Node vedhæfter enheder til scenegrafen:
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) # root_node is a property, not a method — no ()Trin 4 Lade en eksisterende 3D-fil op
Scene.open() indlæses en 3D-fil fra disk eller stream. Det accepterer en vej og valgfri belastningsmuligheder:
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 # root_node is a property, not a method — no ()
print("Child nodes:", len(root.child_nodes)) # child_nodes is a property, not a method — no ()For at opdage filformatet før indlæse:
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) # extension is a property, not a method — no ()Trin 5 Gem output til en fil
Scene.save() Eksporterer scenen til ethvert understøttet format. Autodetektion baseret på udvidelse: Aspose.3D udleder formatet fra filudvidelsen (CLM-3d-8051bd, CLM-3D-b28d7a,CLM3D -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")Du kan også overføre et udtrykkeligt format ved hjælp af fabrikken metoder FileFormat.WAVEFRONT_OBJ() eller en anden FileFormat.GLTF2(), men udvidelse automatisk detektion er enklere og mere bærbar.
Næste skridt
- Hvordan man indlæser 3D-modeller i Python formater, muligheder og scenegraf gennemgang
- Hvordan konverterer man 3D-modeller i Python? arbejdsstrømme for batchkonvertering
- Hvordan man bygger meshgeometri i Python kontrolpunkter, polygoner og normaler
- FAQ almindelige spørgsmål og fejlfinding