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 a Vector4 (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

FormatExtension(s)CarregarDesarNotes
Wavefront OBJ.obj.mtl càrrega de material compatible
STL.stlBinari i ASCII; opció d’inversió del sistema de coordenades
glTF 2.0.gltf, .glbGLB (binari autònom) compatible
COLLADA.daeColladaSaveOptions disponible amb flip_coordinate_system, enable_materials, indented
3MF.3mfAdequat per a fluxos de treball d’impressió 3D
FBX.fbxParcialN/ANomé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


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.