Introducció
Estem publicant Aspose.3D FOSS per Python, una biblioteca pura-Python per llegir, escriure i convertir formats de fitxers 3D comuns. La biblioteca es publica a PyPI com a aspose-3d-foss, té una llicència MIT i no té cap dependència externa.
Si alguna vegada heu necessitat inspeccionar o convertir fitxers 3D de manera programàtica (extreure el recompte de vèrtexs de la malla, canalitzar geometria OBJ a un script de processament, o convertir en lot fitxers STL a glTF per a un visualitzador web), aquesta biblioteca està dissenyada per a aquest cas d’ús. No requereix cap controlador gràfic, cap mòdul d’extensió natiu ni cap connexió al núvol.
Què s’inclou
Graf de l’escena central
Cada fitxer es carrega en un Scene objecte que reflecteix la jerarquia de nodes del fitxer original. Els nodes contenen Transform (traducció, rotació, escala) i una o més entitats adjuntes com ara Mesh, Camera, o Light. El gràfic de l’escena és el mateix independentment del format d’origen, de manera que el codi escrit per recórrer i processar la geometria funciona en tots els formats compatibles sense modificació.
Accés a la geometria
Mesh els objectes exposen:
control_points: llista de posicions de vèrtex com aVector4(x, y, z, w)polygons: llista de llistes d’índexs de cares (aritat arbitrària de polígons, no només triangles)get_element(VertexElementType): recupera capes de dades de vèrtex anomenades per a normals, UVs, colors de vèrtex i grups d’allisat
Materials
LambertMaterial i PhongMaterial porta les propietats del material llegides des d’OBJ .mtl fitxers (ambient, difús, especular, emissiu, transparència, brillantor). Els materials sobreviuen el viatge d’anada i tornada de càrrega–desar per a formats que els admeten.
Utilitats matemàtiques
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, i BoundingBox s’inclouen com a tipus de valor lleugers per a càlculs de geometria.
Animació
El AnimationClip, AnimationNode, KeyframeSequence, i KeyFrame Les classes proporcionen accés a les dades d’animació de keyframes dels formats que les contenen, com ara glTF i COLLADA.
Inici ràpid
pip install aspose-3d-foss
Carrega un fitxer 3D i imprimeix el recompte de vèrtexs de cada malla:
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)
Converteix el mateix fitxer a glTF:
from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions
scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())
Aquest és el programa complet. No hi ha fitxers de configuració, ni claus d’API, ni crides a la xarxa.
Formats compatibles
| Format | Extension(s) | Carregar | Desar | Notes |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Sí | Sí | .mtl càrrega de material compatible |
| STL | .stl | Sí | Sí | Binari i ASCII; opció d’inversió del sistema de coordenades |
| glTF 2.0 | .gltf, .glb | Sí | Sí | GLB (binari autònom) compatible |
| COLLADA | .dae | Sí | Sí | ColladaSaveOptions disponible amb flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Sí | Sí | Adequat per a fluxos de treball d’impressió 3D |
| FBX | .fbx | Parcial | N/A | Només el tokenitzador; l’analitzador complet està en desenvolupament |
La detecció del format és automàtica a partir de l’extensió del fitxer. Les opcions de càrrega i desament específiques del format (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) estan disponibles per a un control detallat.
Codi obert i gratuït
La biblioteca té llicència MIT. Podeu utilitzar-la en aplicacions comercials, modificar-la i redistribuir-la sense cap restricció. El codi font està disponible a GitHub sota l’organització Aspose.
No hi ha cap nivell d’ús, límits de tokens ni telemetria. La biblioteca realitza tot el processament localment.
Dependències: cap. El paquet s’instal·la com una roda pura-Python sense extensions C i sense requisits d’execució de tercers.
Començar
- Instal·lar:
pip install aspose-3d-foss - Com fer: Càrrega de fitxers: Com carregar models 3D a Python
- Com fer: Conversió de fitxers: Com convertir models 3D a Python
- Referència de l’API: Referència de l’API Aspose.3D FOSS per a Python
- PyPI: aspose-3d-foss a PyPI
Conclusió
Aspose.3D FOSS per a Python 26.1.0 cobreix els formats de fitxer 3D més comuns utilitzats en eines, canals i aplicacions web (OBJ, STL, glTF, COLLADA i 3MF) amb una API Python coherent i sense fricció d’instal·lació. Si trobeu un error, un cas límit no compatible o un format que necessiteu afegir, si us plau, obriu un problema a GitHub. Mantinguem activament la biblioteca i donem la benvinguda a les contribucions.