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 comeVector4(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
| Formato | Extension(s) | Carica | Salva | Note |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Sì | Sì | .mtl caricamento dei materiali supportato |
| STL | .stl | Sì | Sì | Binario e ASCII; opzione di inversione del sistema di coordinate |
| glTF 2.0 | .gltf, .glb | Sì | Sì | GLB (binario autonomo) supportato |
| COLLADA | .dae | Sì | Sì | ColladaSaveOptions disponibile con flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Sì | Sì | Adatto ai flussi di lavoro di stampa 3D |
| FBX | .fbx | Parziale | N/A | Solo 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
- Installa:
pip install aspose-3d-foss - Guida: Caricamento dei file: Come caricare modelli 3D in Python
- Guida: Conversione dei file: Come convertire modelli 3D in Python
- Riferimento API: Aspose.3D FOSS per Python Riferimento API
- PyPI: aspose-3d-foss su PyPI
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.