Introducció

Estem alliberant 3D FOSS per a Python, una biblioteca de Python pur per a la lectura, l’escriptura i la conversió dels formats d’arxiu 3D comuns. aspose-3d-foss, porta una llicència MIT, i té zero dependències externes.

Si mai ha hagut d’inspeccionar o convertir els arxius 3D programàticament (extreure comptes de vertex mesh, pipe geometria OBJ en un script de processament, o batx-convertar els arquivos STL a glTF per a un visualitzador web), aquesta biblioteca es construeix per aquest cas d’ús. No requereix un driver gràfic, un mòdul d ́extensió nativa, ni qualsevol connexió en núvol.


Què s’inclou

Grau de l’escena core

Cada fitxer es carrega en un Scene objectes que reflecteixen la jerarquia de nuclis del fitxer original. Transform (translació, rotació i escala) i una o més entitats afiliades com ara: Mesh, Camera,o Light.El gràfic de l’escena és el mateix independentment del format font, per la qual cosa el codi escrit per caminar i processar geometria funciona a través de tots els formats recolzats sense modificació.

Geometria d’accés

Mesh Els objectes exposats:

  • control_points:Llista de posicions vertex com a Vector4 (x, y i z)
  • polygons: llista de llistes d’indicadors facials (aritat arbitrària de poligons, no només triangles)
  • get_element(VertexElementType): retreu les anomenades capes de dades vertex per a normals, UVs, colors vertes i grups d’enxampament

Materials

LambertMaterial i PhongMaterial - Portar les propietats materials llegides de l’OBJ .mtl fitxers (ambient, difús, especular, emissiva, transparència, brillantor). Els materials sobreviuen a la càrrega-salva el viatge de ronda per als formats que els donen suport.

Utilitats matemàtiques

Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4,i BoundingBox Són inclosos com a tipus de valor lleugers per a càlculs geomètrics.

Animació

El AnimationClip, AnimationNode, KeyframeSequence,i KeyFrame Les classes proporcionen accés a les dades d’animació de quadre clau des dels formats que la porten, com ara glTF i COLLADA.


Inici ràpid

pip install aspose-3d-foss

Carregar un fitxer 3D i imprimir el nombre de vertex de cada mes:

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)

Convertir el mateix arxiu a glTF:

from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions

scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())

No hi ha fitxers de configuració, no hi haurà claus d’API, ni trucades de xarxa.


Formats suportats

FormatExtension(s)càrregaSalvemNotes
OBJ.obj.mtl El material de càrrega recolzat
STL.stlBinari i ASCII; opció de flip del sistema coordinat
GSTF.gltf, .glb.glb (Solvents de contingut binari) suportat
COLLADA.daeColladaSaveOptions Disponible amb flip_coordinate_system, enable_materials, indented
3MF.3mfAdequat per a les impressions 3D
FBX.fbxPartíN/ANomés Tokenizer; full parser en progrés

La detecció de format és automàtica des de l’extensori de fitxer. càrrega específica per format i opcions d’emmagatzematge (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptionsEstan disponibles per a controls de gra.


Font oberta i lliure

La biblioteca és llicenciada per MIT. Pots utilitzar-la en aplicacions comercials, modificar-lo i redistribuir-ho sense restricció. La font està disponible a GitHub sota la organització Aspose.

No hi ha cap tipus d’ús, no hi haurà límits de token i no s’ha produït telèmetria.La biblioteca realitza tot el processament localment.

Dependència:El paquet s’instal·la com una roda de Python pura sense extensions C i no hi ha requisits de temps d’execució de tercers.


Començar a fer


Conclusions

Aspose.3D FOSS per a Python 26.1.0 cobreix els formats de fitxers 3D més comuns utilitzats en les eines, tubs i aplicacions web (OBJ, STL, glTF, COLLADA, i 3MF) amb una API Python consistent i sense fricció d’instal·lació. Si trobes un error, un cas d’extrem no recolzat o un format que necessites afegir, si us plau obrir un problema al GitHub. manté activament la biblioteca i benvinguts contribucions.