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 als Vector4 (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

FormaatExtension(s)LadenOpslaanOpmerkingen
Wavefront OBJ.objJaJa.mtl materiaal laden ondersteund
STL.stlJaJaBinair en ASCII; optie voor omkeren van coördinatensysteem
glTF 2.0.gltf, .glbJaJaGLB (zelfstandige binaire) ondersteund
COLLADA.daeJaJaColladaSaveOptions beschikbaar met flip_coordinate_system, enable_materials, indented
3MF.3mfJaJaGeschikt voor 3D-printworkflows
FBX.fbxGedeeltelijkN/AAlleen 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


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.