Uvod
Objavljujemo Aspose.3D FOSS za Python, čista-Python biblioteka za čitanje, pisanje i pretvaranje uobičajenih 3D formata datoteka. Biblioteka je objavljena na PyPI-u kao aspose-3d-foss, ima MIT licencu i nema vanjskih ovisnosti.
Ako ste ikada trebali programatski pregledavati ili pretvarati 3D datoteke (izvlačiti broj vrhova mreže, prosljeđivati OBJ geometriju u skriptu za obradu ili masovno pretvarati STL datoteke u glTF za web preglednik), ova biblioteka je izgrađena za takav slučaj upotrebe. Ne zahtijeva grafički driver, izvorni prošireni modul niti ikakvu vezu s oblakom.
Što je uključeno
Osnovni graf scene
Svaka datoteka učitava se u Scene objekt koji preslikava hijerarhiju čvorova izvorne datoteke. Čvorovi sadrže Transform (translation, rotation, scale) i jedan ili više pridruženih entiteta poput Mesh, Camera, ili Light. Graf scena je isti neovisno o izvornom formatu, pa kod napisan za prolazak i obradu geometrije radi na svim podržanim formatima bez izmjena.
Pristup geometriji
Mesh objekti izlažu:
control_points: popis položaja vrhova kaoVector4(x, y, z, w)polygons: popis listi indeksa lica (arbitrarna arnost poligona, ne samo trokuti)get_element(VertexElementType): dohvaća imenovane slojeve podataka vrhova za normals, UVs, vertex colours i smoothing groups
Materijali
LambertMaterial i PhongMaterial sadrže svojstva materijala pročitana iz OBJ .mtl datoteke (ambient, diffuse, specular, emissive, transparency, shininess). Materijali preživljavaju ciklus učitavanja‑spremanja za formate koji ih podržavaju.
Matematički alati
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, i BoundingBox su uključeni kao lagani tipovi vrijednosti za geometrijske izračune.
Animacija
The AnimationClip, AnimationNode, KeyframeSequence, i KeyFrame klase pružaju pristup podacima o ključnim okvirima animacije iz formata koji ih sadrže, poput glTF i COLLADA.
Brzi početak
pip install aspose-3d-foss
Učitaj 3D datoteku i ispiši broj vrhova svake mreže:
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)
Pretvori istu datoteku u glTF:
from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions
scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())
To je cijeli program. Nema konfiguracijskih datoteka, nema API ključeva, nema mrežnih poziva.
Podržani formati
| Format | Extension(s) | Učitaj | Spremi | Napomene |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Da | Da | .mtl Učitavanje materijala podržano |
| STL | .stl | Da | Da | Binarni i ASCII; opcija preokretanja koordinatnog sustava |
| glTF 2.0 | .gltf, .glb | Da | Da | GLB (samostalni binarni) podržan |
| COLLADA | .dae | Da | Da | ColladaSaveOptions dostupan s flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Da | Da | Pogodno za radne tokove 3D ispisa |
| FBX | .fbx | Djelomično | N/A | Samo tokenizator; potpuni parser u izradi |
Detekcija formata je automatska na temelju ekstenzije datoteke. Opcije učitavanja i spremanja specifične za format (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) su dostupne za detaljnu kontrolu.
Otvoreni kod i besplatan
Biblioteka je licencirana pod MIT licencom. Možete je koristiti u komercijalnim aplikacijama, mijenjati je i redistribuirati bez ograničenja. Izvorni kod je dostupan na GitHubu pod organizacijom Aspose.
Nema razina korištenja, nema ograničenja tokena i nema telemetrije. Biblioteka sve obradu obavlja lokalno.
Ovisnosti: nijedna. Paket se instalira kao čist-Python wheel bez C ekstenzija i bez zahtjeva trećih strana za vrijeme izvođenja.
Početak rada
- Instaliraj:
pip install aspose-3d-foss - Upute: Učitavanje datoteka: Kako učitati 3D modele u Python
- Upute: Pretvaranje datoteka: Kako pretvoriti 3D modele u Python
- API referenca: Aspose.3D FOSS za Python API referenca
- PyPI: aspose-3d-foss na PyPI
Zaključak
Aspose.3D FOSS za Python 26.1.0 pokriva najčešće 3D formate datoteka koji se koriste u alatima, cjevovodima i web aplikacijama (OBJ, STL, glTF, COLLADA i 3MF) s dosljednim Python API-jem i bez problema s instalacijom. Ako naiđete na grešku, nepodržani rubni slučaj ili format koji trebate dodati, otvorite problem na GitHubu. Aktivno održavamo biblioteku i dobrodošli su doprinosi.