Indledning
Vi frigiver 3D FOSS til Python, et rent Python-bibliotek til læsning, skrivning og konvertering af almindelige 3D filformater. Biblioteket er udgivet på PyPI som aspose-3d-foss, har en MIT-licens og ingen eksterne afhængigheder.
Hvis du nogensinde har haft brug for at inspicere eller konvertere 3D-filer programmatisk (udtrække mesh vertex tæller, pipe OBJ geometri til et bearbejdningsskripts, eller batch-konvertere STL filer til glTF for en web-viewer), er dette bibliotek bygget til den brugssituation. Det kræver ikke en grafikdriver, en nativ udvidelsesmodul, og ingen cloudforbindelse.
Hvad der indgår i den
Grafik af kernen
Hver fil er indlæst i en Scene objekt, der afspejler den oprindelige fils knudehierarki. Knuder bærer Transform (oversættelse, rotation, skala) og en eller flere tilknyttede enheder såsom: Mesh, Camera,eller Light.Scenegrafen er den samme uanset kildeformat, så kode skrevet til at gå og behandle geometri fungerer på tværs af alle understøttede formater uden ændring.
Geometriindgang
Mesh genstande udsætter:
control_points: liste over toppositioner som:Vector4(x, y, z, w)polygons: liste over ansigtsindekslister (vælgerlig polygonart, ikke kun trekant)get_element(VertexElementType): henter navngivne topdatalag for normale, UV-værdier, toppfarver og glattende grupper
Materialer
LambertMaterial og: PhongMaterial bære de materialeegenskaber, der læses fra OBJ .mtl Materiale kan overleve belastningen, men kun tilbage til de formater, der understøtter dem.
Matematiske værktøjer
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, og BoundingBox er inkluderet som lette værdiformer til geometrisk beregning.
Animation
Den Europæiske Union AnimationClip, AnimationNode, KeyframeSequence, og KeyFrame klasser giver adgang til keyframe-animationsdata fra formater, der bærer den, såsom glTF og COLLADA.
Hurtig start
pip install aspose-3d-foss
Indtast en 3D-fil og printer højdepunkterne for hvert 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)
Konvertere 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())
Ingen konfigurationsfiler, ingen API-nøgler.
Støttede formater
| Format: | Extension(s) | Last | Indsæt | Noter til dette direktiv: |
|---|---|---|---|---|
| OBJ | .obj | - Ja, jeg gør. | - Ja, jeg gør. | .mtl understøttet materialebelastning |
| STL | .stl | - Ja, jeg gør. | - Ja, jeg gør. | Binær og ASCII; koordinatsystem-flip mulighed |
| GFT-værdi | .gltf, .glb | - Ja, jeg gør. | - Ja, jeg gør. | .glb (selvstændig binær) understøttet |
| COLLADA | .dae | - Ja, jeg gør. | - Ja, jeg gør. | ColladaSaveOptions Tilgængelig med: flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | - Ja, jeg gør. | - Ja, jeg gør. | Tilpasset til 3D-printing arbejdsprocesser |
| FBX | .fbx | Delvist | N/A | Kun tokenizer; fuld analyse i gang |
Formatdetektering sker automatisk fra filudvidelsen.ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) kan anvendes til finkornkontrol.
Open Source og gratis
Biblioteket er MIT-licenseret. Du kan bruge det i kommercielle applikationer, ændre det og distribuere det uden begrænsning. Kilden er tilgængelig på GitHub under organisationen Aspose .
Biblioteket udfører al behandling lokalt.
Afhængighed:Pakken installeres som et rent Python-hjul uden C-udvidelser og ingen krav til tredjepartens køretid.
Hvordan man begynder
- Installering:
pip install aspose-3d-foss - Hvordan: Lade filer op: Hvordan man indlæser 3D-modeller i Python
- Hvordan-til: Konvertering af filer: Hvordan konverterer man 3D-modeller i Python?
- API-reference: Aspose.3D FOSS for Python API reference
- PyPI: Aspose-3d-foss på PyPI
Konklusion:
3D FOSS for Python 26.1.0 dækker de mest almindelige 3d-filformater, der anvendes i værktøj, pipelines og webapplikationer (OBJ, STL, glTF, COLLADA og 3MF) med et konsekvent Python API og ingen installasjonsfriction. Hvis du støder på en fejl, et uunderstøttet kanttilfælde eller et format, du skal tilføje, så åbn et problem på GitHub. Vi vedligeholder aktivt biblioteket og byder velkommen til bidrag.