Introduction
Nous publions Aspose.3D FOSS pour Python, une bibliothèque pure-Python pour lire, écrire et convertir les formats de fichiers 3D courants. La bibliothèque est publiée sur PyPI sous le nom de aspose-3d-foss, possède une licence MIT et n’a aucune dépendance externe.
Si vous avez déjà eu besoin d’inspecter ou de convertir des fichiers 3D de manière programmatique (extraire le nombre de sommets d’un maillage, acheminer la géométrie OBJ dans un script de traitement, ou convertir en lot des fichiers STL en glTF pour un visualiseur web), cette bibliothèque est conçue pour ce cas d’utilisation. Elle ne nécessite ni pilote graphique, ni module d’extension natif, ni connexion cloud.
Ce qui est inclus
Graphique de scène principal
Chaque fichier est chargé dans un Scene objet qui reflète la hiérarchie des nœuds du fichier original. Les nœuds portent Transform (translation, rotation, mise à l’échelle) et une ou plusieurs entités attachées telles que Mesh, Camera, ou Light. Le graphe de scène est identique quel que soit le format source, ainsi le code écrit pour parcourir et traiter la géométrie fonctionne sur tous les formats pris en charge sans modification.
Accès à la géométrie
Mesh les objets exposent :
control_points: liste des positions des sommets en tant queVector4(x, y, z, w)polygons: liste de listes d’indices de faces (arité de polygone arbitraire, pas seulement des triangles)get_element(VertexElementType): récupère les couches de données de sommet nommées pour les normales, les UV, les couleurs de sommet et les groupes de lissage
Matériaux
LambertMaterial et PhongMaterial conservent les propriétés de matériau lues depuis OBJ .mtl fichiers (ambient, diffuse, specular, emissive, transparency, shininess). Les matériaux survivent au cycle de chargement‑enregistrement pour les formats qui les prennent en charge.
Utilitaires mathématiques
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, et BoundingBox sont inclus en tant que types de valeur légers pour les calculs géométriques.
Animation
Le AnimationClip, AnimationNode, KeyframeSequence, et KeyFrame les classes offrent un accès aux données d’animation par images clés provenant de formats qui les contiennent, tels que glTF et COLLADA.
Démarrage rapide
pip install aspose-3d-foss
Chargez un fichier 3D et affichez le nombre de sommets de chaque maillage :
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)
Convertissez le même fichier en glTF :
from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions
scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())
C’est le programme complet. Aucun fichier de configuration, aucune clé API, aucun appel réseau.
Formats pris en charge
| Format | Extension(s) | Charger | Enregistrer | Notes |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Oui | Oui | .mtl chargement de matériau pris en charge |
| STL | .stl | Oui | Oui | Binaire et ASCII ; option d’inversion du système de coordonnées |
| glTF 2.0 | .gltf, .glb | Oui | Oui | GLB (binaire autonome) pris en charge |
| COLLADA | .dae | Oui | Oui | ColladaSaveOptions disponible avec flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Oui | Oui | Adapté aux flux de travail d’impression 3D |
| FBX | .fbx | Partiel | N/A | Tokenizer uniquement ; analyseur complet en cours |
La détection du format est automatique à partir de l’extension du fichier. Les options de chargement et d’enregistrement spécifiques au format (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) sont disponibles pour un contrôle fin.
Open source et gratuit
La bibliothèque est sous licence MIT. Vous pouvez l’utiliser dans des applications commerciales, la modifier et la redistribuer sans restriction. Le code source est disponible sur GitHub sous l’organisation Aspose.
Il n’y a aucun niveau d’utilisation, aucune limite de jetons et aucune télémétrie. La bibliothèque effectue tout le traitement localement.
Dépendances: aucune. Le paquet s’installe comme une roue pure-Python sans extensions C et sans dépendances d’exécution tierces.
Premiers pas
- Installation:
pip install aspose-3d-foss - Comment faire : Chargement des fichiers: Comment charger des modèles 3D dans Python
- Comment faire : Conversion des fichiers: Comment convertir des modèles 3D dans Python
- Référence API: Aspose.3D FOSS pour Python Référence API
- PyPI: aspose-3d-foss sur PyPI
Conclusion
Aspose.3D FOSS for Python 26.1.0 couvre les formats de fichiers 3D les plus courants utilisés dans les outils, les pipelines et les applications web (OBJ, STL, glTF, COLLADA et 3MF) avec une API Python cohérente et aucune friction d’installation. Si vous rencontrez un bug, un cas limite non pris en charge ou un format que vous souhaitez ajouter, veuillez ouvrir une issue sur GitHub. Nous maintenons activement la bibliothèque et accueillons les contributions.