Įvadas
Mes išleidžiame Aspose.3D FOSS for Python, gryna-Python biblioteka skaitymui, rašymui ir konvertavimui įprastų 3D failų formatų. Biblioteka publikuojama PyPI kaip aspose-3d-foss, turi MIT licenciją ir neturi išorinių priklausomybių.
Jei kada nors reikėjo programiškai peržiūrėti arba konvertuoti 3D failus (išgauti tinklo viršūnių skaičių, perduoti OBJ geometriją į apdorojimo skriptą arba masiškai konvertuoti STL failus į glTF, kad juos būtų galima peržiūrėti internete), ši biblioteka sukurta būtent tam atvejui. Ji nereikalauja grafikos tvarkyklės, natūralios plėtinių modulio ar jokio debesų ryšio.
Kas įtraukta
Pagrindinis scenos grafas
Kiekvienas failas įkeliamas į Scene objektą, kuris atspindi originalaus failo mazgų hierarchiją. Mazgai talpina Transform (vertimą, sukimą, mastelį) ir vieną ar kelias prijungtas elementus, pvz. Mesh, Camera, arba Light. Scenos grafikas yra tas pats nepriklausomai nuo šaltinio formato, todėl kodas, parašytas eiti ir apdoroti geometriją, veikia visų palaikomų formatų be modifikacijų.
Geometrijos prieiga
Mesh objektai atskleidžia:
control_points:viršūnių pozicijų sąrašas kaipVector4(x, y, z, w)polygons:veidų indekso sąrašų sąrašas (bet kokio daugiakampio aritetas, ne tik trikampiai)get_element(VertexElementType):gauna pavadintus viršūnių duomenų sluoksnius normalėms, UV, viršūnių spalvoms ir glotninimo grupėms
Medžiagos
LambertMaterial ir PhongMaterial neša medžiagos savybes, perskaitytas iš OBJ .mtl failus (ambient, diffuse, specular, emissive, transparency, shininess). Medžiagos išlieka per įkėlimo–išsaugojimo ciklą formatuose, kurie jas palaiko.
Matematinės priemonės
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, ir BoundingBox yra įtraukti kaip lengvi reikšmių tipai geometrijos skaičiavimams.
Animacija
Ši AnimationClip, AnimationNode, KeyframeSequence, ir KeyFrame klasės suteikia prieigą prie raktų kadro animacijos duomenų iš formatų, kurie juos talpina, pvz., glTF ir COLLADA.
Greitas pradžia
pip install aspose-3d-foss
Įkelkite 3D failą ir atspausdinkite kiekvieno tinklo viršūnių skaičių:
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)
Konvertuokite tą patį failą į glTF:
from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions
scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())
Tai yra pilna programa. Nėra konfigūracijos failų, API raktų, tinklo kvietimų.
Palaikomi formatai
| Formatas | Extension(s) | Įkelti | Išsaugoti | Pastabos |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Taip | Taip | .mtl medžiagų įkėlimas palaikomas |
| STL | .stl | Taip | Taip | Dvejetainis ir ASCII; koordinatės sistemos apsukimo parinktis |
| glTF 2.0 | .gltf, .glb | Taip | Taip | GLB (savarankiškas dvejetainis) palaikomas |
| COLLADA | .dae | Taip | Taip | ColladaSaveOptions prieinama su flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Taip | Taip | Tinka 3D spausdinimo darbo srautams |
| FBX | .fbx | Dalinis | N/A | Tik žodžių skaidytuvas; pilnas analizatorius kuriamas |
Formato aptikimas yra automatinis pagal failo plėtinį. Formatui specifinės įkėlimo ir išsaugojimo parinktys (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions).
Atviro kodo ir nemokama
Biblioteka licencijuota pagal MIT licenciją. Galite ją naudoti komercinėse programose, modifikuoti ir platinti be jokių apribojimų. Šaltinis prieinamas GitHub po Aspose organizacijos.
Nėra naudojimo lygių, tokenų limitų ir telemetrijos. Biblioteka atlieka visą apdorojimą lokaliai.
Priklausomybės: none. Paketas įdiegiama kaip grynas Python wheel be C plėtinių ir be trečiųjų šalių vykdymo reikalavimų.
Pradžia
- Įdiegti:
pip install aspose-3d-foss - Kaip: Įkelti failus: Kaip įkelti 3D modelius į Python
- Instrukcija: Failų konvertavimas: Kaip konvertuoti 3D modelius Python
- API nuoroda: Aspose.3D FOSS for Python API nuoroda
- PyPI: aspose-3d-foss on PyPI
Išvada
Aspose.3D FOSS for Python 26.1.0 apima dažniausiai naudojamus 3D failų formatus, naudojamus įrankiuose, duomenų srautuose ir interneto programose (OBJ, STL, glTF, COLLADA ir 3MF) su nuosekliu Python API ir be diegimo trinties. Jei susiduriate su klaida, nepalaikoma kraštine situacija arba formatu, kurį reikia pridėti, prašome atidaryti problemą (issue) GitHub. Biblioteką aktyviai prižiūrime ir laukiame indėlių.