Einleitung

Wir veröffentlichen Aspose.3D FOSS für Python, eine reine-Python-Bibliothek zum Lesen, Schreiben und Konvertieren gängiger 3D-Dateiformate. Die Bibliothek wird auf PyPI veröffentlicht als aspose-3d-foss, trägt eine MIT-Lizenz und hat keinerlei externe Abhängigkeiten.

Falls Sie jemals 3D-Dateien programmgesteuert inspizieren oder konvertieren mussten (Mesh‑Vertex‑Anzahlen extrahieren, OBJ‑Geometrie in ein Verarbeitungsskript leiten oder STL‑Dateien stapelweise in glTF für einen Web‑Viewer konvertieren), ist diese Bibliothek genau für diesen Anwendungsfall gebaut. Sie benötigt keinen Grafiktreiber, kein natives Erweiterungsmodul und keine Cloud‑Verbindung.


Was enthalten ist

Kern‑Szenengraph

Jede Datei wird geladen in ein Scene Objekt, das die Knotenhierarchie der Originaldatei widerspiegelt. Knoten enthalten Transform (Translation, Rotation, Skalierung) und ein oder mehrere angehängte Entitäten wie Mesh, Camera, oder Light. Der Szenengraph ist unabhängig vom Quellformat identisch, sodass Code, der zum Durchlaufen und Verarbeiten von Geometrie geschrieben wurde, über alle unterstützten Formate hinweg ohne Änderungen funktioniert.

Geometriezugriff

Mesh Objekte stellen bereit:

  • control_points: Liste von Scheitelpunktpositionen als Vector4 (x, y, z, w)
  • polygons: Liste von Flächen-Indexlisten (beliebige Polygon-Arität, nicht nur Dreiecke)
  • get_element(VertexElementType): ruft benannte Vertex-Datenebenen für Normalen, UVs, Vertex-Farben und Glättungsgruppen ab

Materialien

LambertMaterial und PhongMaterial tragen die aus OBJ gelesenen Materialeigenschaften .mtl Dateien (ambient, diffuse, specular, emissive, transparency, shininess). Materialien überstehen den Lade‑Speicher‑Durchlauf für Formate, die sie unterstützen.

Mathe‑Hilfsfunktionen

Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, und BoundingBox sind als leichte Werttypen für Geometrieberechnungen enthalten.

Animation

Die AnimationClip, AnimationNode, KeyframeSequence, und KeyFrame Klassen bieten Zugriff auf Keyframe-Animationsdaten aus Formaten, die diese enthalten, wie glTF und COLLADA.


Schnellstart

pip install aspose-3d-foss

Lade eine 3D‑Datei und gib die Vertex‑Anzahl jedes Meshes aus:

from aspose.threed import Scene
from aspose.threed.entities import Mesh

scene = Scene.from_file("model.obj")

def visit(node):
    for entity in node.entities:
        if isinstance(entity, Mesh):
            print(f"{node.name}: {len(entity.control_points)} vertices, "
                  f"{len(entity.polygons)} polygons")
    for child in node.child_nodes:
        visit(child)

visit(scene.root_node)

Konvertiere dieselbe Datei zu glTF:

from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions

scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())

Das ist das vollständige Programm. Keine Konfigurationsdateien, keine API-Schlüssel, keine Netzwerkaufrufe.


Unterstützte Formate

FormatExtension(s)LadenSpeichernHinweise
Wavefront OBJ.objJaJa.mtl Materialladen unterstützt
STL.stlJaJaBinär und ASCII; Option zum Koordinatensystem-Flip
glTF 2.0.gltf, .glbJaJaGLB (selbstenthaltene Binärdatei) unterstützt
COLLADA.daeJaJaColladaSaveOptions verfügbar mit flip_coordinate_system, enable_materials, indented
3MF.3mfJaJaGeeignet für 3D-Druck-Workflows
FBX.fbxTeilweiseN/ANur Tokenizer; vollständiger Parser in Arbeit

Die Format-Erkennung erfolgt automatisch anhand der Dateierweiterung. Format-spezifische Lade- und Speicheroptionen (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) sind für feinkörnige Steuerung verfügbar.


Open Source und kostenlos

Die Bibliothek ist unter der MIT-Lizenz lizenziert. Sie können sie in kommerziellen Anwendungen verwenden, modifizieren und ohne Einschränkungen weiterverbreiten. Der Quellcode ist auf GitHub unter der Aspose Organisation verfügbar.

Es gibt keine Nutzungsebenen, keine Token-Limits und keine Telemetrie. Die Bibliothek führt alle Verarbeitung lokal durch.

Abhängigkeiten: keine. Das Paket wird als reines Python-Wheel ohne C-Erweiterungen und ohne Drittanbieter-Laufzeitabhängigkeiten installiert.


Erste Schritte


Fazit

Aspose.3D FOSS für Python 26.1.0 deckt die gängigsten 3D-Dateiformate ab, die in Werkzeugen, Pipelines und Webanwendungen verwendet werden (OBJ, STL, glTF, COLLADA und 3MF), mit einer konsistenten Python API und ohne Installationsaufwand. Wenn Sie einen Fehler, einen nicht unterstützten Sonderfall oder ein Format, das Sie benötigen, finden, öffnen Sie bitte ein Issue auf GitHub. Wir pflegen die Bibliothek aktiv und freuen uns über Beiträge.