Einführung
Wir werden die 3D-FOSS für Python, eine reine Python-Bibliothek zum Lesen, Schreiben und Konvertieren gängiger 3D-Dateiformate. Die Bibliothik wird auf PyPI als aspose-3d-foss, trägt eine MIT-Lizenz und hat keine externen Abhängigkeiten.
Wenn Sie jemals 3D-Dateien programmatisch überprüfen oder konvertieren müssen (Mesh-Wertexzahlen extrahieren, OBJ-Geometrie in ein Verarbeitungsskriptsystem verwandeln oder STL-Files für einen Webviewer zu glTF umwandlen), ist diese Bibliothek für diesen Anwendungsfall gebaut. Es erfordert keinen Grafiktreiber, kein natives Erweiterungsmodul oder eine Cloudverbindung.
Was ist darin enthalten?
Kernszenegrafik
Jede Datei wird in eine Scene Objekt, das die Knotenhierarchie der ursprünglichen Datei widerspiegelt. Transform (Übersetzung, Rotation, Skala) und einer oder mehreren angeschlossenen Einheiten wie z. B. Mesh, Camera,oder , Light.Die Szenegrafik ist unabhängig vom Quellformat die gleiche, so dass Code geschrieben zu laufen und verarbeiten Geometrie funktioniert über alle unterstützten Formate ohne Änderung.
Geometrischer Zugang
Mesh Objekte zeigen:
control_points: Liste der Punktpositionen als:Vector4(x, y, z, w)polygons: Liste der Gesichtsindexlisten (willkürliche Polygonart, nicht nur Dreiecke)get_element(VertexElementType): holt benannte Winkel-Datenschichten für Normale, UVs, Winkelfarben und Glättungsgruppen ab
Materialien
LambertMaterial und PhongMaterial die aus dem OBJ abgelesenen Materialeigenschaften tragen; .mtl Materialien überstehen die Belastung, sofern nicht für Formate, die sie unterstützen, eine Hin- und Rückfahrt erforderlich ist.
Mathematik-Dienste
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, und BoundingBox als Leichtgewichtswerttypen für Geometrieberechnungen enthalten sind.
Animation und Film
Die AnimationClip, AnimationNode, KeyframeSequence, und KeyFrame Klassen ermöglichen den Zugriff auf Keyframe-Animationsdaten aus Formaten, die diese enthalten, wie glTF und COLLADA.
Schneller Start
asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.Laden Sie eine 3D-Datei und drucken Sie die Winkelzahl jedes Mesh:
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)
Konvertieren Sie dieselbe Datei in 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 komplette Programm, keine Konfigurationsdateien, kein API-Schlüssel, keinen Netzwerkruf.
Unterstützte Formate
| Format der Datenbank | Extension(s) | Last | Speichern | Anmerkungen |
|---|---|---|---|---|
| OBJ | .obj | - Ja , das ist gut . | - Ja , das ist gut . | .mtl Materialbelastung unterstützt |
| STL | .stl | - Ja , das ist gut . | - Ja , das ist gut . | Binär und ASCII; Koordinatensystem-Flip-Option |
| GFT-Systeme | .gltf, .glb | - Ja , das ist gut . | - Ja , das ist gut . | .glb (auf sich geschlossene Binär) unterstützt |
| COLLADA | .dae | - Ja , das ist gut . | - Ja , das ist gut . | ColladaSaveOptions mit einer flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | - Ja , das ist gut . | - Ja , das ist gut . | für 3D-Druckarbeiten geeignet |
| FBX | .fbx | Teilzeit | N/A | Nur Tokenizer; vollständiger Parser im Gange |
Die Formaterkennung erfolgt automatisch über die Dateierweiterung.ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) für die Feinkörnchenkontrolle verfügbar sind.
Open Source und kostenlos
Die Bibliothek ist MIT-lizenziert. Sie können sie in kommerziellen Anwendungen verwenden, verändern und ohne Einschränkung weitergeben. Die Quelle steht unter der Organisation Aspose auf GitHub zur Verfügung.
Es gibt keine Nutzungsstufen, keine Token-Limits und keine Telemetrie. Die Bibliothek führt alle Verarbeitung lokal durch.
Abhängigkeiten:Das Paket wird als reines Python-Rad ohne C-Erweiterungen und keine Runtimeanforderungen von Drittanbietern installiert.
Wie man anfängt
- Installieren:
pip install aspose-3d-foss - Wie: Lade Dateien ein: Wie man 3D-Modelle in Python lädt
- Wie-zu: Konvertieren von Dateien: Wie man 3D-Modelle in Python konvertiert
- Referenz für die API: Aspose.3D FOSS für Python-API Referenz
- PyPI: Aspose-3d-Foss auf PyPI
Schlussfolgerung
3D FOSS für Python 26.1.0 deckt die häufigsten in Werkzeugen, Pipelines und Webanwendungen verwendeten 3d-Dateiformate (OBJ, STL, glTF, COLLADA und 3MF) mit einer konsistenten Python API ab. Wenn Sie auf einen Fehler stoßen, eine nicht unterstützte Edge Case oder ein Format, das Sie hinzufügen müssen, öffnen Sie bitte ein Problem auf GitHub. Wir pflegen die Bibliothek aktiv und begrüßen Beiträge.