Introduktion
Vi udgiver Aspose.3D FOSS til Python, et rent-Python bibliotek til at læse, skrive og konvertere almindelige 3D-filformater. Biblioteket er udgivet på PyPI som aspose-3d-foss, har en MIT-licens og har nul eksterne afhængigheder.
Hvis du nogensinde har haft brug for at inspicere eller konvertere 3D-filer programmatisk (udtrække mesh-vertex-tællinger, sende OBJ-geometri til et behandlingsscript, eller batch-konvertere STL-filer til glTF til en web‑viewer), er dette bibliotek bygget til netop dette brugsscenarie. Det kræver hverken en grafikkortdriver, et native udvidelsesmodul eller nogen cloud‑forbindelse.
Hvad der er inkluderet
Kerne Scene Graph
Hver fil indlæses i en Scene objekt, der spejler den oprindelige fils nodehierarki. Noder bærer Transform (translation, rotation, skalering) og en eller flere vedhæftede enheder såsom Mesh, Camera, eller Light. Scenegrafen er den samme uanset kildeformat, så kode skrevet til at traversere og behandle geometri fungerer på tværs af alle understøttede formater uden ændring.
Geometriadgang
Mesh objekter eksponerer:
control_points: liste over vertexpositioner somVector4(x, y, z, w)polygons: liste over fladeindekslister (vilkårlig polygonaritet, ikke kun trekanter)get_element(VertexElementType): henter navngivne vertex-datalag for normaler, UV’er, vertexfarver og udjævningsgrupper
Materialer
LambertMaterial og PhongMaterial bærer materialegenskaberne læst fra OBJ .mtl filer (ambient, diffuse, specular, emissive, transparency, shininess). Materialer overlever indlæsnings‑gemnings‑cirklen for formater, der understøtter dem.
Matematikværktøjer
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, og BoundingBox er inkluderet som letvægts‑værdityper til geometriberegninger.
Animation
Den AnimationClip, AnimationNode, KeyframeSequence, og KeyFrame klasser giver adgang til keyframe-animeringsdata fra formater, der indeholder dem, såsom glTF og COLLADA.
Hurtig start
pip install aspose-3d-foss
Indlæs en 3D-fil og udskriv antallet af vertexer for hver mesh:
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)
Konvertér den samme fil til glTF:
from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions
scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())
Det er det komplette program. Ingen konfigurationsfiler, ingen API-nøgler, ingen netværksopkald.
Understøttede formater
| Format | Extension(s) | Indlæs | Gem | Noter |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Ja | Ja | .mtl materialindlæsning understøttet |
| STL | .stl | Ja | Ja | Binær og ASCII; mulighed for at vende koordinatsystemet |
| glTF 2.0 | .gltf, .glb | Ja | Ja | GLB (selvstændig binær) understøttet |
| COLLADA | .dae | Ja | Ja | ColladaSaveOptions tilgængelig med flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Ja | Ja | Velegnet til 3D-printarbejdsprocesser |
| FBX | .fbx | Delvis | N/A | Kun tokenizer; fuld parser under udvikling |
Formatdetektion er automatisk ud fra filendelsen. Format‑specifikke indlæsnings‑ og gemmeindstillinger (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) er tilgængelige for finjusteret kontrol.
Open source og gratis
Biblioteket er licenseret under MIT. Du kan bruge det i kommercielle applikationer, modificere det og redistribuere det uden restriktioner. Kilden er tilgængelig på GitHub under Aspose organisationen.
Der er ingen brugsniveauer, ingen token‑grænser og ingen telemetri. Biblioteket udfører al behandling lokalt.
Afhængigheder: ingen. Pakken installeres som et rent-Python wheel uden C-udvidelser og uden tredjeparts runtime‑krav.
Kom i gang
- Installer:
pip install aspose-3d-foss - Sådan: Indlæsning af filer: Sådan indlæses 3D-modeller i Python
- Sådan: Konvertering af filer: Sådan konverteres 3D-modeller i Python
- API‑reference: Aspose.3D FOSS for Python API‑reference
- PyPI: aspose-3d-foss på PyPI
Konklusion
Aspose.3D FOSS for Python 26.1.0 dækker de mest almindelige 3D-filformater, der bruges i værktøjer, pipelines og webapplikationer (OBJ, STL, glTF, COLLADA og 3MF) med et konsistent Python API og ingen installationsfriktion. Hvis du støder på en fejl, et ikke-understøttet kanttilfælde eller et format, du har brug for at få tilføjet, så opret venligst en issue på GitHub. Vi vedligeholder aktivt biblioteket og byder bidrag velkommen.