Introducere
Lansăm Aspose.3D FOSS pentru Python, o bibliotecă pure-Python pentru citirea, scrierea și conversia formatelor de fișiere 3D comune. Biblioteca este publicată pe PyPI ca aspose-3d-foss, are o licență MIT și nu are dependențe externe.
Dacă ați avut vreodată nevoie să inspectați sau să convertiți fișiere 3D programatic (să extrageți numărul de vârfuri ale rețelei, să direcționați geometria OBJ într-un script de procesare sau să convertiți în lot fișiere STL în glTF pentru un vizualizator web), această bibliotecă este concepută pentru acest scenariu. Nu necesită driver grafic, modul de extensie nativă sau vreo conexiune la cloud.
Ce este inclus
Grafică de scenă de bază
Fiecare fișier este încărcat într-un Scene obiect care reflectă ierarhia de noduri a fișierului original. Nodurile conțin Transform (translație, rotație, scară) și una sau mai multe entități atașate, cum ar fi Mesh, Camera, sau Light. Graful de scenă este același indiferent de formatul sursă, astfel că codul scris pentru a parcurge și procesa geometria funcționează pe toate formatele suportate fără modificări.
Acces la geometrie
Mesh obiectele expun:
control_points: listă de poziții de vârfuri caVector4(x, y, z, w)polygons: listă de liste de indici de fețe (aritate poligonală arbitrară, nu doar triunghiuri)get_element(VertexElementType): recuperează straturi de date de vârf numite pentru normale, UV-uri, culori de vârf și grupuri de netezire
Materiale
LambertMaterial și PhongMaterial transportă proprietățile materialului citite din OBJ .mtl fișiere (ambient, difuz, specular, emisiv, transparență, luciu). Materialele supraviețuiesc ciclului de încărcare‑salvare pentru formatele care le suportă.
Utilitare Matematice
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, și BoundingBox sunt incluse ca tipuri de valori ușoare pentru calcule geometrice.
Animație
Clasa AnimationClip, AnimationNode, KeyframeSequence, și KeyFrame clasele oferă acces la datele de animație pe cadre cheie din formatele care le conțin, cum ar fi glTF și COLLADA.
Începe rapid
pip install aspose-3d-foss
Încarcă un fișier 3D și afișează numărul de vârfuri al fiecărui 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)
Convertește același fișier în glTF:
from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions
scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())
Acesta este programul complet. Fără fișiere de configurare, fără chei API, fără apeluri de rețea.
Formate suportate
| Format | Extension(s) | Încărcare | Salvare | Note |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Da | Da | .mtl Încărcarea materialelor este suportată |
| STL | .stl | Da | Da | Binare și ASCII; opțiune de inversare a sistemului de coordonate |
| glTF 2.0 | .gltf, .glb | Da | Da | GLB (binar auto-conținut) suportat |
| COLLADA | .dae | Da | Da | ColladaSaveOptions disponibil cu flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Da | Da | Potrivit pentru fluxurile de lucru de imprimare 3D |
| FBX | .fbx | Parțial | N/A | Numai tokenizer; parser complet în curs de dezvoltare |
Detectarea formatului este automată din extensia fișierului. Opțiunile de încărcare și salvare specifice formatului (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) sunt disponibile pentru control detaliat.
Open Source și Gratuit
Biblioteca este licențiată sub MIT. O poți folosi în aplicații comerciale, o poți modifica și redistribui fără restricții. Codul sursă este disponibil pe GitHub în cadrul organizației Aspose.
Nu există niveluri de utilizare, nici limite de tokenuri și nici telemetrie. Biblioteca efectuează tot procesul local.
Dependențe: niciuna. Pachetul se instalează ca un wheel pure-Python fără extensii C și fără cerințe de runtime de la terți.
Începeți
- Instalare:
pip install aspose-3d-foss - Cum să: Încărcarea fișierelor: Cum să încarci modele 3D în Python
- Cum să: Conversia fișierelor: Cum să convertești modele 3D în Python
- Referință API: Referință API Aspose.3D FOSS pentru Python
- PyPI: aspose-3d-foss pe PyPI
Concluzie
Aspose.3D FOSS pentru Python 26.1.0 acoperă cele mai comune formate de fișiere 3D utilizate în unelte, fluxuri de lucru și aplicații web (OBJ, STL, glTF, COLLADA și 3MF) cu un API Python consistent și fără fricțiune la instalare. Dacă întâmpini un bug, un caz limită neacceptat sau un format pe care trebuie să-l adaugi, te rugăm să deschizi o problemă pe GitHub. Menținem activ biblioteca și așteptăm cu nerăbdare contribuțiile.