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 alsVector4(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
| Format | Extension(s) | Laden | Speichern | Hinweise |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Ja | Ja | .mtl Materialladen unterstützt |
| STL | .stl | Ja | Ja | Binär und ASCII; Option zum Koordinatensystem-Flip |
| glTF 2.0 | .gltf, .glb | Ja | Ja | GLB (selbstenthaltene Binärdatei) unterstützt |
| COLLADA | .dae | Ja | Ja | ColladaSaveOptions verfügbar mit flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Ja | Ja | Geeignet für 3D-Druck-Workflows |
| FBX | .fbx | Teilweise | N/A | Nur 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
- Installation:
pip install aspose-3d-foss - Anleitung: Dateien laden: Wie man 3D-Modelle in Python lädt
- Anleitung: Dateien konvertieren: Wie man 3D-Modelle in Python konvertiert
- API-Referenz: Aspose.3D FOSS für Python API-Referenz
- PyPI: aspose-3d-foss auf PyPI
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.