Introductie
We brengen uit Aspose.3D FOSS voor Python, een pure-Python bibliotheek voor het lezen, schrijven en converteren van gangbare 3D-bestandsformaten. De bibliotheek wordt gepubliceerd op PyPI als aspose-3d-foss, heeft een MIT-licentie en heeft geen externe afhankelijkheden.
Als je ooit 3D-bestanden programmatisch moest inspecteren of converteren (bijvoorbeeld het aantal mesh-vertices extraheren, OBJ-geometry doorsturen naar een verwerkingsscriptt, of STL-bestanden batchgewijs converteren naar glTF voor een webviewer), is deze bibliotheek voor dat gebruiksscenario gebouwd. Het vereist geen grafische driver, geen native extensiemodule en geen cloudverbinding.
Wat er inbegrepen is
Kern Scene Graph
Elk bestand wordt geladen in een Scene object dat de knooppunt-hiërarchie van het oorspronkelijke bestand weerspiegelt. Knooppunten bevatten Transform (vertaling, rotatie, schaal) en een of meer gekoppelde entiteiten zoals Mesh, Camera, of Light. De scenegrafiek is hetzelfde ongeacht het bronformaat, zodat code die geschreven is om de geometrie te doorlopen en te verwerken werkt voor alle ondersteunde formaten zonder aanpassing.
Toegang tot geometrie
Mesh objecten bieden:
control_points: lijst van vertexposities alsVector4(x, y, z, w)polygons: lijst van gezichtsindexlijsten (willekeurige veelhoek-arity, niet alleen driehoeken)get_element(VertexElementType): haalt benoemde vertexgegevenslagen op voor normalen, UV’s, vertexkleuren en smoothing-groepen
Materialen
LambertMaterial en PhongMaterial dragen de materiaaleigenschappen die uit OBJ zijn gelezen .mtl bestanden (ambient, diffuse, specular, emissive, transparency, shininess). Materialen overleven de load–save round trip voor formaten die ze ondersteunen.
Wiskundige hulpprogramma’s
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, en BoundingBox zijn opgenomen als lichtgewicht waardetypen voor geometrieberekeningen.
Animatie
De AnimationClip, AnimationNode, KeyframeSequence, en KeyFrame klassen bieden toegang tot keyframe-animatiedata van formaten die deze bevatten, zoals glTF en COLLADA.
Snelle start
pip install aspose-3d-foss
Laad een 3D‑bestand en print het aantal vertices van elke 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)
Converteer hetzelfde bestand naar glTF:
from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions
scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())
Dat is het volledige programma. Geen configuratiebestanden, geen API‑sleutels, geen netwerkverzoeken.
Ondersteunde formaten
| Formaat | Extension(s) | Laden | Opslaan | Opmerkingen |
|---|---|---|---|---|
| Wavefront OBJ | .obj | Ja | Ja | .mtl materiaal laden ondersteund |
| STL | .stl | Ja | Ja | Binair en ASCII; optie voor omkeren van coördinatensysteem |
| glTF 2.0 | .gltf, .glb | Ja | Ja | GLB (zelfstandige binaire) ondersteund |
| COLLADA | .dae | Ja | Ja | ColladaSaveOptions beschikbaar met flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | Ja | Ja | Geschikt voor 3D-printworkflows |
| FBX | .fbx | Gedeeltelijk | N/A | Alleen tokenizer; volledige parser in ontwikkeling |
Formaatdetectie gebeurt automatisch op basis van de bestandsextensie. Formaat‑specifieke laad‑ en opslaan‑opties (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) zijn beschikbaar voor fijnmazige controle.
Open source en gratis
De bibliotheek is gelicentieerd onder de MIT‑licentie. Je kunt hem gebruiken in commerciële toepassingen, aanpassen en zonder beperkingen herdistribueren. De broncode is beschikbaar op GitHub onder de Aspose organisatie.
Er zijn geen gebruiksniveaus, geen tokenlimieten en geen telemetrie. De bibliotheek voert alle verwerking lokaal uit.
Afhankelijkheden: geen. Het pakket wordt geïnstalleerd als een pure-Python wheel zonder C-extensies en zonder externe runtime‑vereisten.
Aan de slag
- Installeren:
pip install aspose-3d-foss - Handleiding: Bestanden laden: Hoe 3D-modellen te laden in Python
- Handleiding: Bestanden converteren: Hoe 3D-modellen te converteren in Python
- API-referentie: Aspose.3D FOSS voor Python API-referentie
- PyPI: aspose-3d-foss op PyPI
Conclusie
Aspose.3D FOSS voor Python 26.1.0 ondersteunt de meest voorkomende 3D‑bestandformaten die worden gebruikt in gereedschappen, pipelines en webapplicaties (OBJ, STL, glTF, COLLADA en 3MF) met een consistente Python‑API en zonder installatie‑frictie. Als je een bug, een niet‑ondersteund randgeval, of een formaat dat je nodig hebt, tegenkomt, open dan een issue op GitHub. We onderhouden de bibliotheek actief en verwelkomen bijdragen.