Uvod
Objavljujemo Aspose.3D FOSS za Python, čista-Python biblioteka za čitanje, pisanje i konvertovanje uobičajenih 3D formata fajlova. Biblioteka je objavljena na PyPI kao aspose-3d-foss, nosi MIT licencu i nema spoljašnjih zavisnosti.
Ako ste ikada morali da pregledate ili konvertujete 3D fajlove programatski (izvucite broj vrhova mreže, prosledite OBJ geometriju u skriptu za obradu, ili grupno konvertujete STL fajlove u glTF za web preglednik), ova biblioteka je napravljena za takav slučaj upotrebe. Ne zahteva grafički drajver, nativni ekstenzijski modul niti bilo kakvu cloud vezu.
Šta je uključeno
Osnovni graf scene
Svaki fajl se učitava u Scene objekat koji preslikava hijerarhiju čvorova originalnog fajla. Čvorovi nose Transform (prevod, rotacija, skala) i jednu ili više prikačenih entiteta kao što su Mesh, Camera, ili Light. Graf scena je isti bez obzira na izvorni format, pa kod napisan za prolazak i obradu geometrije radi na svim podržanim formatima bez izmene.
Pristup geometriji
Mesh objekti izlažu:
control_points: lista položaja vrhova kaoVector4(x, y, z, w)polygons: lista listi indeksa lica (arbitrarna arnost poligona, ne samo trouglova)get_element(VertexElementType): dohvaća imenovane slojeve podataka vrhova za normale, UV‑ove, boje vrhova i grupe zaglađivanja
Materijali
LambertMaterial i PhongMaterial nose svojstva materijala pročitana iz OBJ .mtl datoteke (ambient, diffuse, specular, emissive, transparency, shininess). Materijali preživljavaju ciklus učitavanja–čuvanja za formate koji ih podržavaju.
Matematički alati
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, i BoundingBox su uključeni kao lagani tipovi vrednosti za geometrijske proračune.
Animacija
The AnimationClip, AnimationNode, KeyframeSequence, i KeyFrame Klase pružaju pristup podacima o animaciji ključnih frejmova iz formata koji ih sadrže, kao što su glTF i COLLADA.
Brzi početak
pip install aspose-3d-foss
Učitajte 3D fajl i ispišite broj vrhova svakog mesh-a:
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)
Konvertujte isti fajl 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 kompletan program. Nema konfiguracionih fajlova, nema API ključeva, nema mrežnih poziva.
Podržani formati
| Format | Extension(s) | Učitaj | Sačuvaj | Beleške |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Da | Da | .mtl učitavanje materijala podržano |
| STL | .stl | Da | Da | Binarni i ASCII; opcija za preokret koordinatnog sistema |
| glTF 2.0 | .gltf, .glb | Da | Da | GLB (samostalni binarni) podržan |
| COLLADA | .dae | Da | Da | ColladaSaveOptions dostupan uz flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Da | Da | Pogodno za radne tokove 3D štampe |
| FBX | .fbx | Delimično | N/A | Samo tokenizator; kompletan parser u razvoju |
Detekcija formata je automatska na osnovu ekstenzije fajla. Opcije učitavanja i čuvanja specifične za format (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) su dostupne za finu kontrolu.
Open source i besplatan
Biblioteka je licencirana pod MIT licencom. Možete je koristiti u komercijalnim aplikacijama, menjati je i redistribuirati bez ograničenja. Izvor je dostupan na GitHub-u pod organizacijom Aspose.
Nema nivoa korišćenja, nema ograničenja tokena i nema telemetrije. Biblioteka obavlja svu obradu lokalno.
Zavisnosti: none. Paket se instalira kao čist-Python wheel bez C ekstenzija i bez zahteva za treće strane u vreme izvršavanja.
Početak
- Instaliraj:
pip install aspose-3d-foss - Uputstvo: Učitavanje fajlova: Kako učitati 3D modele u Python
- Uputstvo: Pretvaranje fajlova: Kako konvertovati 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 fajlova koji se koriste u alatima, pipeline-ovima i web aplikacijama (OBJ, STL, glTF, COLLADA i 3MF) uz dosledan Python API i bez problema pri instalaciji. Ako naiđete na grešku, nepodržani slučaj ili format koji treba da se doda, molimo otvorite problem na GitHub. Aktivno održavamo biblioteku i rado prihvatamo doprinose.