Uvod u članak
Oslobađamo… 3D FOSS za Python, čista Python biblioteka za čitanje, pisanje i pretvaranje u 3D formate datoteke. Biblioteka je objavljena na PyPI-u kao aspose-3d-foss, nosi MIT licencu, i ima nula vanjskih ovisnosti.
Ako ste ikada trebali pregledati ili pretvoriti 3D datoteke programom (izvadite brojeve mrežnih vrhova, obradite OBJ geometriju u skript za obradu ili batch-konvertirajte STL datotekama na glTF za web pregledač), ova je knjižnica napravljena za taj slučaj uporabe. Ne zahtijeva grafički upravljač, nativni modul proširenja niti bilo kakvu vezu s oblakom.
Što je uključeno u to?
Grafikon glavne scene
Svaka datoteka je učita u Scene objekt koji odražava originalni datoteke čvor hijerarhije. čvorišta nose Transform (prevod, rotacija, skala) i jedan ili više povezanih subjekata kao što su: Mesh, Camera,ili Light.Grafikon je isti bez obzira na izvorni format, tako da kod koji se piše za hodanje i obradu geometrije radi u svim podržanim formata bez modifikacije.
Prihvat geometrije
Mesh objekte izlože:
control_points: popis pozicija vrhova kao:Vector4(x, y, z, w)polygons: popis indeksnih lista lica (ne samo trokut, već i poligonski broj)get_element(VertexElementType): preuzima datoteke o imenovanim vrhovima za normalne, UV-ove, boje vrhova i grupe glatkanja.
Materijali
LambertMaterial i u članku 1. PhongMaterial S obzirom na to da je u ovom slučaju potrebno utvrditi: .mtl U ovom slučaju, u skladu s člankom 73. stavkom 1. ovog članka, se primjenjuje na:.
Matematičke aplikacije
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, i BoundingBox U skladu s člankom 16. stavkom 1. točkom (a) i podstavkom 7., u slučaju da se primjenjuje metoda “srednja” ili “najnovija”, treba uvesti sljedeće:.
Animiranje
U skladu s člankom 1. AnimationClip, AnimationNode, KeyframeSequence, i KeyFrame U ovom slučaju, u skladu s člankom 16. stavkom 1. točkom (a) i podstavcima 2. i 3. ovog članka, ako je primjenjivo, se može koristiti sljedeće:.
Brzi početak
pip install aspose-3d-foss
Uplatiti 3D datoteku i ispisati broj vrhunaca 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)
Konvertirajte 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())
Nema konfiguracijskih datoteka, API ključeva, niti mrežnih poziva.
Podržani formati
| Format: | Extension(s) | Uređaj za prevoz: | Sačuvati | Upis: |
|---|---|---|---|---|
| OBJ | .obj | - Da, u redu. | - Da, u redu. | .mtl podupiranje opterećenja materijala |
| STL | .stl | - Da, u redu. | - Da, u redu. | Binarni i ASCII; mogućnost prebacivanja koordinatnog sustava |
| GTF-a | .gltf, .glb | - Da, u redu. | - Da, u redu. | .glb (samostalna binarna) podržana |
| COLLADA | .dae | - Da, u redu. | - Da, u redu. | ColladaSaveOptions dostupna s: flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | - Da, u redu. | - Da, u redu. | Sredstva za proizvodnju i distribuciju, uključujući: |
| FBX | .fbx | Delno | N/A | Samo tokenizer; u tijeku je potpuni parser |
Detekcija formata je automatska iz proširenja datoteke. Opcije učitavanja i pohranjivanja specifične za format (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions(Stoga je u ovom slučaju potrebno uzeti u obzir i sljedeće:.
Otvoreni izvor i besplatni
Knjižnica je licencirana na MIT. Možete ju koristiti u komercijalnim aplikacijama, modificirati i redistribuirati bez ograničenja. Izvor je dostupan na GitHub-u pod organizacijom Aspose .
Nema niza upotrebe, nema ograničenja tokena i nema telemetrije.
Odvisnosti:Paket se instalira kao čisto Python kolo bez C proširenja i zahtjeva za vrijeme rada trećih strana.
Početak
- Instaliraj:
pip install aspose-3d-foss - Kako: Upisivanje datoteka: Kako učitati 3D modele u Python-u?
- Kako: Konvertirati datoteke: Kako pretvoriti 3D modele u Python?
- Odgovor na API: Aspose.3D FOSS za Python API Reference
- PyPI: Aspose-3d-foss na PyPI-u
Izvješće
3D FOSS za Python 26.1.0 pokriva najčešće 3d formate datoteka koji se koriste u alatima, cijevi i web aplikacijama (OBJ, STL, glTF, COLLADA i 3MF) uz dosljednu Python API-ju i bez trenja instalacije. Ako naiđete na pogrešku, nespreman slučaj krajeva ili format koji trebate dodati, molim vas otvorite problem na GitHub-u. Aktivno održavamo knjižnicu i dobrodošli doprinosi.