Introducción

Estamos lanzando Aspose.3D FOSS para Python, una biblioteca pure-Python para leer, escribir y convertir formatos de archivo 3D comunes. La biblioteca se publica en PyPI como aspose-3d-foss, tiene una licencia MIT y no tiene dependencias externas.

Si alguna vez has necesitado inspeccionar o convertir archivos 3D programáticamente (extraer el recuento de vértices de mallas, canalizar geometría OBJ a un script de procesamiento, o convertir en lote archivos STL a glTF para un visor web), esta biblioteca está diseñada para ese caso de uso. No requiere un controlador gráfico, un módulo de extensión nativo ni ninguna conexión a la nube.


Qué incluye

Gráfico de escena central

Cada archivo se carga en un Scene objeto que refleja la jerarquía de nodos del archivo original. Los nodos llevan Transform (traslación, rotación, escala) y una o más entidades adjuntas como Mesh, Camera, o Light. El grafo de escena es el mismo sin importar el formato de origen, por lo que el código escrito para recorrer y procesar geometría funciona en todos los formatos compatibles sin modificaciones.

Acceso a la geometría

Mesh los objetos exponen:

  • control_points: lista de posiciones de vértices como Vector4 (x, y, z, w)
  • polygons: lista de listas de índices de caras (aridad de polígono arbitraria, no solo triángulos)
  • get_element(VertexElementType): recupera capas de datos de vértices nombradas para normales, UVs, colores de vértice y grupos de suavizado

Materiales

LambertMaterial y PhongMaterial transportan las propiedades del material leídas de OBJ .mtl archivos (ambient, diffuse, specular, emissive, transparency, shininess). Los materiales sobreviven al ciclo de carga‑guardado para los formatos que los admiten.

Utilidades matemáticas

Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, y BoundingBox se incluyen como tipos de valor ligeros para cálculos de geometría.

Animación

El AnimationClip, AnimationNode, KeyframeSequence, y KeyFrame clases proporcionan acceso a datos de animación por fotogramas clave de formatos que los incluyen, como glTF y COLLADA.


Inicio rápido

pip install aspose-3d-foss

Cargue un archivo 3D e imprima el recuento de vértices 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)

Convierta el mismo archivo a glTF:

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

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

Ese es el programa completo. Sin archivos de configuración, sin claves API, sin llamadas a la red.


Formatos compatibles

FormatoExtension(s)CargarGuardarNotas
Wavefront OBJ.obj.mtl carga de material compatible
STL.stlBinario y ASCII; opción de inversión del sistema de coordenadas
glTF 2.0.gltf, .glbGLB (binario autónomo) compatible
COLLADA.daeColladaSaveOptions disponible con flip_coordinate_system, enable_materials, indented
3MF.3mfAdecuado para flujos de trabajo de impresión 3D
FBX.fbxParcialN/ASolo tokenizador; parser completo en progreso

La detección de formato es automática a partir de la extensión del archivo. Las opciones de carga y guardado específicas de cada formato (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) están disponibles para un control granular.


Código abierto y gratuito

La biblioteca tiene licencia MIT. Puede usarla en aplicaciones comerciales, modificarla y redistribuirla sin restricciones. El código fuente está disponible en GitHub bajo la organización Aspose.

No hay niveles de uso, límites de tokens ni telemetría. La biblioteca realiza todo el procesamiento localmente.

Dependencias: ninguno. El paquete se instala como una rueda pure-Python sin extensiones C y sin requisitos de tiempo de ejecución de terceros.


Comenzando


Conclusión

Aspose.3D FOSS for Python 26.1.0 cubre los formatos de archivo 3D más comunes utilizados en herramientas, canalizaciones y aplicaciones web (OBJ, STL, glTF, COLLADA y 3MF) con una API Python coherente y sin fricción de instalación. Si encuentras un error, un caso límite no compatible o un formato que necesites agregar, por favor abre un issue en GitHub. Mantenemos activamente la biblioteca y agradecemos las contribuciones.