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 comoVector4(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
| Formato | Extension(s) | Cargar | Guardar | Notas |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Sí | Sí | .mtl carga de material compatible |
| STL | .stl | Sí | Sí | Binario y ASCII; opción de inversión del sistema de coordenadas |
| glTF 2.0 | .gltf, .glb | Sí | Sí | GLB (binario autónomo) compatible |
| COLLADA | .dae | Sí | Sí | ColladaSaveOptions disponible con flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Sí | Sí | Adecuado para flujos de trabajo de impresión 3D |
| FBX | .fbx | Parcial | N/A | Solo 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
- Instalar:
pip install aspose-3d-foss - Cómo hacerlo: Cargar archivos: Cómo cargar modelos 3D en Python
- Cómo hacerlo: Convertir archivos: Cómo convertir modelos 3D en Python
- Referencia de API: Referencia de API de Aspose.3D FOSS para Python
- PyPI: aspose-3d-foss en PyPI
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.