Příklady použití
Přehled
Aspose.3D je open-source knihovna pro formáty 3D souborů pro Python, která umožňuje vývojářům programově vytvářet, manipulovat a převádět 3D scény a modely. Podporuje moderní 3D pracovní postupy tím, že poskytuje robustní vstup/výstup souborů a správu grafu scény.
Knihovna nabízí plnou podporu formátu glTF (GL Transmission Format) s podporou materiálů PBR, což ji činí vhodnou pro webové a real-time renderovací pipeline. Její hierarchická struktura uzlů umožňuje intuitivní organizaci 3D scén pomocí vztahů rodič‑dítě mezi uzly, což umožňuje škálovatelné řízení scén pro složité modely.
Jak to funguje
Aspose.3D pro Python poskytuje programatickou kontrolu nad 3D scénami a modely prostřednictvím strukturovaného objektového modelu zaměřeného na Scene, Node, a Entity. Vývojáři mohou načíst existující formáty jako STL (rozšířeně používaný pro 3D tisk) nebo vytvořit scény od nuly pomocí základních primitiv, jako jsou Mesh. Knihovna podporuje správu sítí a entit, což umožňuje inspekci a úpravu dat vrcholů, topologie polygonů a prostorových vztahů v hierarchii scény.
from aspose.threed import Scene
from aspose.threed.entities import Mesh
# Create a Mesh instance
mesh = Mesh()
# Access mesh data (control_points and edges are properties, not method calls)
vertices = mesh.control_points
edges = mesh.edgesPříklad kódu
Tento příklad ukazuje načtení 3D modelu ze souboru OBJ s možnostmi načítání a následné procházení jeho grafu scény za účelem inspekce geometrie sítě. Scene.from_file() přijímá pouze cestu k souboru; použijte scene.open() k předání možností načítání.
from aspose.threed import Scene
from aspose.threed.entities import Mesh
from aspose.threed.formats import ObjLoadOptions
# Import an OBJ file with load options
# Note: Scene.from_file() takes only a file path argument.
# To pass options, use scene.open() instead.
options = ObjLoadOptions()
options.enable_materials = True
options.flip_coordinate_system = False
scene = Scene()
scene.open("model.obj", options)
# Access imported data
for node in scene.root_node.child_nodes:
if node.entity and isinstance(node.entity, Mesh):
mesh = node.entity
print(f"Mesh: {node.name}")
print(f" Vertices: {len(mesh.control_points)}")
print(f" Polygons: {mesh.polygon_count}")Viz také
Aspose.3D umožňuje robustní vývoj 3D Python pro vizualizační nástroje a interaktivní aplikace. Vývojáři mohou vytvářet a manipulovat s 3D scénami, importovat soubory OBJ s načítáním materiálů přes ObjLoadOptions.enable_materials, exportovat soubory OBJ pomocí ObjExporter, a provádět nízkoúrovňovou vektorovou matematiku pomocí vestavěných typů jako Vector4 a Matrix4.