Bevezetés
Mi elengedjük a… 3D FOSS Python-hoz., egy tiszta Python könyvtár a gyakori 3D fájlformátumok olvasására, írására és konvertálására. A könyvházot PyPI-n publikálják mint aspose-3d-foss, MIT-licenciát hordoz, és nulla külső függőséggel rendelkezik.
Ha valaha is 3D fájlok programszerű ellenőrzésére vagy konvertálására volt szükséged (kivonás a hálózati csúcsok számlálása, OBJ geometria feldolgozási szkriptbe történő átalakítása vagy STL-fájlokat glTF-re való tételkonverzió egy webes néző számára), ez a könyvtár erre az esetre készült. Nem igényel grafikus drivereket, eredeti kiterjesztési modulokat vagy felhőkapcsolatot.
Mit tartalmaz?
Középpontú jelenet grafikon
Minden fájlt egy-egy adatbázisba töltöttek. Scene objektum, amely tükrözi az eredeti fájl csomópont hierarchiáját. A csomó a Transform (fordítás, forgás, méret) és egy vagy több kapcsolódó entitás. Mesh, Camera, vagy Light.A jelenet grafikona a forrásformátumtól függetlenül ugyanaz, így az átjáró és feldolgozó geometriára írt kód módosítás nélkül működik minden támogatott formátumon.
Geometriás hozzáférés
Mesh az objektumok a következőket mutatják be:
control_points: a csúcspontok listája, mint:Vector4(x, y, z, w)polygons: az arc-index listák listája (önkényes sokszög arity, nem csak háromszögek)get_element(VertexElementType): felveszi a normál, UV, csúcsszínek és egyenesítő csoportok nevű csúcsadatrétegeit
Az anyagok
LambertMaterial és a PhongMaterial az OBJ-ből olvasott anyag tulajdonságait hordozza; .mtl Az anyagok túlélik a terhelést, kivéve az őket támogató formátumok esetében a körútra történő utazást.
Matematikai segédprogramok
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, és BoundingBox geometriai számításokhoz könnyűsúlyú értéktípusokként szerepelnek.
Animációk
A AnimationClip, AnimationNode, KeyframeSequence, és KeyFrame A klasszák hozzáférést biztosítanak a kulcskeret animációs adataihoz az azt hordozó formátumokból, mint pl. glTF és COLLADA.
Gyors kezdés
asposefoss/3d is not yet published — build from source until it ships. See the project README for build instructions.Töltse be a 3D fájlt és nyomtassa ki az egyes hálózatok csúcsszámát:
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)
Ugyanazt a fájlt konvertizálja glTF-re:
from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions
scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())
Nincs konfigurációs fájl, API kulcs, hálózati hívás.
Támogatott formátumok
| Formátum | Extension(s) | Töltési kapacitás: | Megőrzés | Megjegyzések |
|---|---|---|---|---|
| OBJ | .obj | Igen, igen. - Az is jó. | Igen, igen. - Az is jó. | .mtl az anyagterhelés támogatott, |
| STL | .stl | Igen, igen. - Az is jó. | Igen, igen. - Az is jó. | Bináris és ASCII; koordinátarendszer-felváltási lehetőség |
| glTF-t | .gltf, .glb | Igen, igen. - Az is jó. | Igen, igen. - Az is jó. | .glb (magányos bináris) támogatott |
| COLLADA | .dae | Igen, igen. - Az is jó. | Igen, igen. - Az is jó. | ColladaSaveOptions a következőkben: flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Igen, igen. - Az is jó. | Igen, igen. - Az is jó. | 3D-nyomtatási munkafolyamatokra alkalmas |
| FBX | .fbx | Részleges | N/A | Csak tokenizer; folyamatban a teljes elemzés |
A formátum felismerése automatikusan történik a fájl kiterjesztésénél. Formátumspecifikus betöltési és mentési lehetőségek (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) finomszemű ellenőrzésre rendelkezésre állnak.
Nyitott forrás és ingyenes
A könyvtár MIT licenc alatt áll. Kereskedelmi alkalmazásokban használhatja, módosíthatja és korlátozás nélkül továbbadhatja. Az forrás a GitHub-on elérhető az Aspose szervezet alatt.
Nincs felhasználási szint, nincs token határ és nincs telemetria. A könyvtár minden feldolgozást helyileg végzi.
Feltételezések:A csomag tiszta Python-kerékként települ, C bővítések nélkül és harmadik fél futási időre vonatkozó követelmények nélkül.
Kezdjük!
- Beépítés:
pip install aspose-3d-foss - Hogyan: fájlok betöltése: Hogyan töltsünk be 3D modelleket Pythonban?
- Hogyan: fájlok átalakítása: Hogyan konvertizáljuk a 3D modelleket Pythonban?
- API hivatkozás: Aspose.3D FOSS Python API referenciához
- PyPI: Aspose-3d-foss a PyPI-n
A Bizottság következtetései
A Python 26.1.0 3D FOSS a leggyakoribb, az eszközkészletekben, csővezetékekben és webes alkalmazásokban használt 3d-s fájlformátumokat (OBJ, STL, glTF, COLLADA és 3MF) egy egységes Python APIval fedezi fel. Ha hibaba ütközik, nem támogatott szélügyben vagy olyan formátumba kerül hozzáadásra, kérjük, nyissa meg a GitHubon. Aktívan karbantartjuk a könyvtárat és üdvözöljük a hozzájárulásokat.