Úvod

Uvoľňujeme Aspose.3D FOSS for Python, čistá-Python knižnica na čítanie, zápis a konverziu bežných 3D formátov súborov. Knižnica je publikovaná na PyPI ako aspose-3d-foss, má licenciu MIT a nemá žiadne externé závislosti.

Ak ste niekedy potrebovali programovo skúmať alebo konvertovať 3D súbory (získať počet vrcholov siete, odovzdať geometriu OBJ do spracovateľského skriptu alebo hromadne konvertovať STL súbory do glTF pre webový prehliadač), táto knižnica je pre takýto prípad vytvorená. Nevyžaduje grafický ovládač, natívny rozširujúci modul ani žiadne cloudové pripojenie.


Čo je zahrnuté

Základný graf scény

Každý súbor je načítaný do Scene objektu, ktorý odráža hierarchiu uzlov pôvodného súboru. Uzly nesú Transform (preklad, rotáciu, mierku) a jeden alebo viac pripojených entít, ako napríklad Mesh, Camera, alebo Light. Graf scény je rovnaký bez ohľadu na zdrojový formát, takže kód napísaný na prechádzanie a spracovanie geometrie funguje naprieč všetkými podporovanými formátmi bez úprav.

Prístup k geometrii

Mesh objekty poskytujú:

  • control_points: zoznam pozícií vrcholov ako Vector4 (x, y, z, w)
  • polygons: zoznam zoznamov indexov tvárí (ľubovoľná arita polygonov, nie len trojuholníky)
  • get_element(VertexElementType): získava pomenované vrstvy dát vrcholov pre normály, UV, farby vrcholov a skupiny vyhladzovania

Materiály

LambertMaterial a PhongMaterial nesú materiálové vlastnosti načítané z OBJ .mtl súbory (ambient, diffuse, specular, emissive, transparency, shininess). Materiály prežijú načítanie‑uloženie cyklus pre formáty, ktoré ich podporujú.

Matematické nástroje

Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, a BoundingBox sú zahrnuté ako ľahké typy hodnôt pre geometrické výpočty.

Animácia

The AnimationClip, AnimationNode, KeyframeSequence, a KeyFrame triedy poskytujú prístup k dátam kľúčových snímok animácie z formátov, ktoré ich obsahujú, ako napríklad glTF a COLLADA.


Rýchly štart

pip install aspose-3d-foss

Načítajte 3D súbor a vypíšte počet vrcholov každého meshu:

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)

Preveďte rovnaký súbor do formátu glTF:

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

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

Toto je kompletný program. Žiadne konfiguračné súbory, žiadne API kľúče, žiadne sieťové volania.


Podporované formáty

FormátExtension(s)NačítaťUložiťPoznámky
Wavefront OBJ.objÁnoÁno.mtl podpora načítania materiálov
STL.stlÁnoÁnoBinárny a ASCII; možnosť preklopenia súradnicového systému
glTF 2.0.gltf, .glbÁnoÁnoGLB (samostatný binárny) podporovaný
COLLADA.daeÁnoÁnoColladaSaveOptions k dispozícii s flip_coordinate_system, enable_materials, indented
3MF.3mfÁnoÁnoVhodné pre pracovné postupy 3D tlače
FBX.fbxČiastočnéN/AIba tokenizér; plný parser v procese

Detekcia formátu je automatická na základe prípony súboru. Formátovo špecifické možnosti načítania a ukladania (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) sú k dispozícii pre detailné ovládanie.


Open Source a zadarmo

Knižnica je licencovaná pod MIT. Môžete ju používať v komerčných aplikáciách, upravovať ju a redistribuovať bez obmedzení. Zdrojový kód je dostupný na GitHub pod organizáciou Aspose.

Neexistujú žiadne úrovne používania, žiadne limity tokenov a žiadna telemetria. Knižnica vykonáva všetok proces lokálne.

Závislosti: žiadne. Balík sa inštaluje ako čisté-Python wheel bez C rozšírení a bez požiadaviek na tretie strany v runtime.


Začíname


Záver

Aspose.3D FOSS pre Python 26.1.0 pokrýva najbežnejšie 3D formáty súborov používané v nástrojoch, pipeline-och a webových aplikáciách (OBJ, STL, glTF, COLLADA a 3MF) s konzistentným Python API a bez inštalačných prekážok. Ak narazíte na chybu, nepodporovaný okrajový prípad alebo formát, ktorý potrebujete pridať, otvorte, prosím, issue na GitHub. Aktívne udržiavame knižnicu a vítame príspevky.