Εισαγωγή
Κυκλοφορούμε Aspose.3D FOSS για Python, μια καθαρή-Python βιβλιοθήκη για ανάγνωση, εγγραφή και μετατροπή κοινών μορφών 3D αρχείων. Η βιβλιοθήκη δημοσιεύεται στο PyPI ως aspose-3d-foss, έχει άδεια MIT και δεν έχει εξωτερικές εξαρτήσεις.
Αν ποτέ χρειάστηκε να επιθεωρήσετε ή να μετατρέψετε αρχεία 3D προγραμματιστικά (να εξάγετε αριθμούς κορυφών πλέγματος, να διοχετεύσετε τη γεωμετρία OBJ σε ένα σενάριο επεξεργασίας, ή να μετατρέψετε μαζικά αρχεία STL σε glTF για έναν διαδικτυακό προβολέα), αυτή η βιβλιοθήκη έχει σχεδιαστεί για αυτήν την περίπτωση χρήσης. Δεν απαιτεί οδηγό γραφικών, ενότητα εγγενούς επέκτασης ή οποιαδήποτε σύνδεση στο cloud.
Τι περιλαμβάνεται
Κύριο Γράφημα Σκηνής
Κάθε αρχείο φορτώνεται σε ένα Scene αντικείμενο που αντικατοπτρίζει την ιεραρχία κόμβων του αρχικού αρχείου. Οι κόμβοι περιέχουν Transform (μετάφραση, περιστροφή, κλίμακα) και μία ή περισσότερες συνδεδεμένες οντότητες όπως Mesh, Camera, ή Light. Το γράφημα σκηνής είναι το ίδιο ανεξάρτητα από τη μορφή προέλευσης, έτσι ο κώδικας που γράφτηκε για την περιήγηση και επεξεργασία γεωμετρίας λειτουργεί σε όλες τις υποστηριζόμενες μορφές χωρίς τροποποίηση.
Πρόσβαση στη Γεωμετρία
Mesh Τα αντικείμενα εκθέτουν:
control_points: λίστα θέσεων κορυφών ωςVector4(x, y, z, w)polygons: λίστα λιστών δεικτών προσώπων (αυθαίρετη πολυγωνική αρίθμηση, όχι μόνο τρίγωνα)get_element(VertexElementType): ανακτά ονομαστικά επίπεδα δεδομένων κορυφών για κανονικές, UVs, χρώματα κορυφών και ομάδες εξομάλυνσης
Υλικά
LambertMaterial και PhongMaterial μεταφέρουν τις ιδιότητες υλικού που διαβάζονται από OBJ .mtl αρχεία (ambient, diffuse, specular, emissive, transparency, shininess). Τα υλικά διατηρούνται μετά το κύκλο φόρτωσης-αποθήκευσης για μορφές που τα υποστηρίζουν.
Μαθηματικά βοηθήματα
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, και BoundingBox συμπεριλαμβάνονται ως ελαφριές τύποι τιμών για γεωμετρικούς υπολογισμούς.
Κίνηση
Το AnimationClip, AnimationNode, KeyframeSequence, και KeyFrame οι κλάσεις παρέχουν πρόσβαση σε δεδομένα keyframe animation από μορφές που τα περιέχουν, όπως glTF και COLLADA.
Γρήγορη Εκκίνηση
pip install aspose-3d-foss
Φορτώστε ένα αρχείο 3D και εκτυπώστε τον αριθμό κορυφών κάθε πλέγματος:
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)
Μετατρέψτε το ίδιο αρχείο σε glTF:
from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions
scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())
Αυτό είναι το πλήρες πρόγραμμα. Χωρίς αρχεία ρυθμίσεων, χωρίς κλειδιά API, χωρίς κλήσεις δικτύου.
Υποστηριζόμενες Μορφές
| Μορφή | Extension(s) | Φόρτωση | Αποθήκευση | Σημειώσεις |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Ναι | Ναι | .mtl υποστηρίζεται η φόρτωση υλικού |
| STL | .stl | Ναι | Ναι | Δυαδικό και ASCII; επιλογή αντιστροφής συστήματος συντεταγμένων |
| glTF 2.0 | .gltf, .glb | Ναι | Ναι | GLB (αυτοσυμπεριλαμβανόμενο δυαδικό) υποστηρίζεται |
| COLLADA | .dae | Ναι | Ναι | ColladaSaveOptions διαθέσιμο με flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Ναι | Ναι | Κατάλληλο για ροές εργασίας 3D εκτύπωσης |
| FBX | .fbx | Μερικό | N/A | Tokenizer μόνο· πλήρης parser σε εξέλιξη |
Η ανίχνευση μορφής είναι αυτόματη από την επέκταση του αρχείου. Οι επιλογές φόρτωσης και αποθήκευσης ειδικές για μορφή (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) είναι διαθέσιμες για λεπτομερή έλεγχο.
Ανοιχτού Κώδικα και Δωρεάν
Η βιβλιοθήκη είναι αδειοδοτημένη υπό την άδεια MIT. Μπορείτε να τη χρησιμοποιήσετε σε εμπορικές εφαρμογές, να την τροποποιήσετε και να τη διανείμετε χωρίς περιορισμούς. Ο κώδικας είναι διαθέσιμος στο GitHub υπό τον οργανισμό Aspose.
Δεν υπάρχουν επίπεδα χρήσης, περιορισμοί token ή τηλεμετρία. Η βιβλιοθήκη εκτελεί όλη την επεξεργασία τοπικά.
Εξαρτήσεις: κανένα. Το πακέτο εγκαθίσταται ως pure-Python wheel χωρίς επεκτάσεις C και χωρίς απαιτήσεις χρόνου εκτέλεσης τρίτων.
Ξεκινώντας
- Εγκατάσταση:
pip install aspose-3d-foss - Οδηγίες: Φόρτωση αρχείων: Πώς να φορτώσετε 3D μοντέλα στο Python
- Οδηγίες: Μετατροπή αρχείων: Πώς να μετατρέψετε 3D μοντέλα στο Python
- Αναφορά API: Aspose.3D FOSS για Python Αναφορά API
- PyPI: aspose-3d-foss στο PyPI
Συμπέρασμα
Aspose.3D FOSS for Python 26.1.0 καλύπτει τις πιο κοινές μορφές 3D αρχείων που χρησιμοποιούνται σε εργαλεία, pipelines και web εφαρμογές (OBJ, STL, glTF, COLLADA και 3MF) με ένα συνεπές Python API και χωρίς προβλήματα εγκατάστασης. Εάν αντιμετωπίσετε κάποιο σφάλμα, μια μη υποστηριζόμενη περίπτωση ή μια μορφή που χρειάζεται να προστεθεί, παρακαλούμε ανοίξτε ένα ζήτημα στο GitHub. Διατηρούμε ενεργά τη βιβλιοθήκη και καλωσορίζουμε συνεισφορές.