Johdanto

Julkaisemme Aspose.3D FOSS kohteelle Python, puhdas-Python kirjasto lukemiseen, kirjoittamiseen ja yleisten 3D-tiedostomuotojen muuntamiseen. Kirjasto on julkaistu PyPI:ssä nimellä aspose-3d-foss, sisältää MIT-lisenssin, eikä sillä ole ulkoisia riippuvuuksia.

Jos olet koskaan tarvinnut tarkastella tai muuntaa 3D-tiedostoja ohjelmallisesti (poimia verkon kärkipisteiden lukumäärä, syöttää OBJ-geometriaa käsittelyskriptiin tai erämuuntaa STL-tiedostoja glTF-muotoon web-näytintä varten), tämä kirjasto on rakennettu juuri tähän käyttötapaukseen. Se ei vaadi grafiikka-ajuria, natiivimoduulia tai mitään piloyhteyttä.


Mitä sisältyy

Ydinkohtausgrafi

Jokainen tiedosto ladataan Scene objektiin, joka peilaa alkuperäisen tiedoston solmuhierarkiaa. Solmut sisältävät Transform (käännös, kierto, skaalaus) ja yksi tai useampi liitetty entiteetti kuten Mesh, Camera, tai Light. Näkymägraafi on sama riippumatta lähdeformaatista, joten koodi, joka on kirjoitettu käymään läpi ja käsittelemään geometriaa, toimii kaikissa tuetuissa formaateissa ilman muutoksia.

Geometrian käyttö

Mesh objektit tarjoavat:

  • control_points: lista kärkipisteiden sijainneista muodossa Vector4 (x, y, z, w)
  • polygons: lista kasvoindeksilistoista (mielivaltaisen monikulmion ariteetti, ei pelkästään kolmioita)
  • get_element(VertexElementType): hakee nimettyjä kärkipisteiden datakerroksia normaalivektoreille, UV-koordinaateille, kärkipisteiden väreille ja tasoitusryhmille

Materiaalit

LambertMaterial ja PhongMaterial sisältävät OBJ:stä luetut materiaalin ominaisuudet. .mtl tiedostot (ambient, diffuse, specular, emissive, transparency, shininess). Materiaalit säilyvät lataus‑tallennus -kierroksessa formaateissa, jotka tukevat niitä.

Matematiikkatyökalut

Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, ja BoundingBox sisältyvät kevyinä arvo-tyyppeinä geometrialaskelmia varten.

Animaatio

Se AnimationClip, AnimationNode, KeyframeSequence, ja KeyFrame luokat tarjoavat pääsyn avainruutu-animaatiotietoihin formaateista, jotka sisältävät sen, kuten glTF ja COLLADA.


Pikakäynnistys

pip install aspose-3d-foss

Lataa 3D-tiedosto ja tulosta jokaisen verkon kärkipisteiden lukumäärä:

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)

Muunna sama tiedosto glTF-muotoon:

from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions

scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())

Tämä on koko ohjelma. Ei konfiguraatiotiedostoja, ei API-avaimia, ei verkkokutsuja.


Tuetut formaatit

FormaattiExtension(s)LataaTallennaHuomautukset
Wavefront OBJ.objKylläKyllä.mtl materiaalin lataus tuettu
STL.stlKylläKylläBinääri- ja ASCII; koordinaatistojärjestelmän kääntövalinta
glTF 2.0.gltf, .glbKylläKylläGLB (itsenäinen binaari) tuettu
COLLADA.daeKylläKylläColladaSaveOptions saatavilla flip_coordinate_system, enable_materials, indented
3MF.3mfKylläKylläSopiva 3D-tulostusprosessiin
FBX.fbxOsittainenN/AVain tokenisoija; täysi jäsentäjä työn alla

Tiedostopäätteen perusteella tapahtuva formaatin tunnistus on automaattinen. Formaattiin spesifiset lataus- ja tallennusasetukset (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) ovat saatavilla hienojakoista hallintaa varten.


Avoin lähdekoodi ja ilmainen

Kirjasto on MIT-lisensoitu. Voit käyttää sitä kaupallisissa sovelluksissa, muokata sitä ja jakaa sitä edelleen ilman rajoituksia. Lähdekoodi on saatavilla GitHubissa Aspose-organisaation alla.

Ei käyttökerroksia, ei token-rajoituksia eikä telemetriaa. Kirjasto suorittaa kaiken käsittelyn paikallisesti.

Riippuvuudet: ei mitään. Paketti asennetaan puhtaana Python-wheelinä ilman C-laajennuksia eikä kolmansien osapuolten ajoaikavaatimuksia.


Aloittaminen


Yhteenveto

Aspose.3D FOSS for Python 26.1.0 kattaa yleisimmät työkalujen, putkistojen ja web-sovellusten käyttämät 3D-tiedostomuodot (OBJ, STL, glTF, COLLADA ja 3MF) yhtenäisellä Python API:lla ilman asennusvaikeuksia. Jos kohtaat virheen, tukemattoman reunatapauksen tai tarvitset lisättävän formaatin, avaa issue GitHubissa. Ylläpidämme kirjastoa aktiivisesti ja toivotamme kontribuutiot tervetulleiksi.