Introduzione

Stiamo rilasciando Aspose.3D FOSS per Python, una libreria pure-Python per leggere, scrivere e convertire i formati di file 3D comuni. La libreria è pubblicata su PyPI come aspose-3d-foss, è rilasciata con licenza MIT e non ha dipendenze esterne.

Se hai mai avuto bisogno di ispezionare o convertire file 3D programmaticamente (estrarre il conteggio dei vertici della mesh, inviare la geometria OBJ a uno script di elaborazione, o convertire in batch file STL in glTF per un visualizzatore web), questa libreria è stata creata per quel caso d’uso. Non richiede un driver grafico, un modulo di estensione nativo o alcuna connessione cloud.


Cosa è incluso

Grafico della Scena Principale

Ogni file viene caricato in un Scene oggetto che rispecchia la gerarchia dei nodi del file originale. I nodi contengono Transform (traslazione, rotazione, scala) e una o più entità collegate come Mesh, Camera, o Light. Il grafo della scena è lo stesso indipendentemente dal formato di origine, quindi il codice scritto per attraversare e processare la geometria funziona su tutti i formati supportati senza modifiche.

Accesso alla Geometria

Mesh gli oggetti espongono:

  • control_points: elenco delle posizioni dei vertici come Vector4 (x, y, z, w)
  • polygons: elenco di liste di indici delle facce (aritmetica poligonale arbitraria, non solo triangoli)
  • get_element(VertexElementType): recupera i layer di dati dei vertici denominati per normali, UV, colori dei vertici e gruppi di smoothing

Materiali

LambertMaterial e PhongMaterial contengono le proprietà dei materiali lette da OBJ .mtl file (ambient, diffuse, specular, emissive, transparency, shininess). I materiali sopravvivono al ciclo di caricamento‑salvataggio per i formati che li supportano.

Utility Matematiche

Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, e BoundingBox sono inclusi come tipi di valore leggeri per i calcoli geometrici.

Animazione

Il AnimationClip, AnimationNode, KeyframeSequence, e KeyFrame le classi forniscono l’accesso ai dati di animazione a fotogrammi chiave da formati che li contengono, come glTF e COLLADA.


Avvio rapido

pip install aspose-3d-foss

Carica un file 3D e stampa il conteggio dei vertici di ogni mesh:

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)

Converti lo stesso file in glTF:

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

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

Questo è il programma completo. Nessun file di configurazione, nessuna chiave API, nessuna chiamata di rete.


Formati Supportati

FormatoExtension(s)CaricaSalvaNote
Wavefront OBJ.obj.mtl caricamento dei materiali supportato
STL.stlBinario e ASCII; opzione di inversione del sistema di coordinate
glTF 2.0.gltf, .glbGLB (binario autonomo) supportato
COLLADA.daeColladaSaveOptions disponibile con flip_coordinate_system, enable_materials, indented
3MF.3mfAdatto ai flussi di lavoro di stampa 3D
FBX.fbxParzialeN/ASolo tokenizer; parser completo in sviluppo

Il rilevamento del formato è automatico dall’estensione del file. Le opzioni di caricamento e salvataggio specifiche per formato (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) sono disponibili per un controllo dettagliato.


Open Source e Gratuito

La libreria è rilasciata con licenza MIT. Puoi usarla in applicazioni commerciali, modificarla e ridistribuirla senza restrizioni. Il codice sorgente è disponibile su GitHub sotto l’organizzazione Aspose.

Non ci sono livelli di utilizzo, limiti di token o telemetria. La libreria esegue tutto l’elaborazione localmente.

Dipendenze: nessuna. Il pacchetto si installa come wheel pure-Python senza estensioni C e senza requisiti di runtime di terze parti.


Iniziare


Conclusione

Aspose.3D FOSS per Python 26.1.0 copre i formati di file 3D più comuni usati in tooling, pipeline e applicazioni web (OBJ, STL, glTF, COLLADA e 3MF) con un’API Python coerente e senza attriti di installazione. Se incontri un bug, un caso limite non supportato o un formato che desideri aggiungere, apri una segnalazione su GitHub. Manteniamo attivamente la libreria e accogliamo contributi.