Сценарии использования

Сценарии использования

Обзор

Aspose.3D — это библиотека с открытым исходным кодом для работы с 3D‑форматами файлов на Python, позволяющая разработчикам программно создавать, изменять и конвертировать 3D‑сцены и модели. Она поддерживает современные 3D‑рабочие процессы, предоставляя надёжный ввод‑вывод файлов и обработку графа сцены.

Библиотека полностью поддерживает glTF (GL Transmission Format) с поддержкой материалов PBR, что делает её подходящей для веб‑ и реального‑времени рендеринга. Её иерархическая структура узлов позволяет интуитивно организовывать 3D‑сцены с помощью отношений «родитель‑дитя» между узлами, обеспечивая масштабируемое управление сценой для сложных моделей.

Как это работает

Aspose.3D for Python предоставляет программный контроль над 3D‑сценами и моделями через структурированную объектную модель, центрированную на Scene, Node и Entity. Разработчики могут загружать существующие форматы, такие как STL (широко используемый для 3D‑печати), или создавать сцены с нуля, используя базовые примитивы, такие как Mesh. Библиотека поддерживает управление сетками и объектами, позволяя инспектировать и изменять данные вершин, топологию полигонов и пространственные отношения внутри иерархии сцены.

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.edges

Пример кода

В этом примере демонстрируется загрузка 3D‑модели из файла OBJ с параметрами загрузки, а затем обход её графа сцены для проверки геометрии сетки. Scene.from_file() принимает только путь к файлу; используйте scene.open() для передачи параметров загрузки.

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}")

См. также

Aspose.3D обеспечивает надёжную разработку 3D на Python для инструментов визуализации и интерактивных приложений. Разработчики могут создавать и манипулировать 3D‑сценами, импортировать OBJ‑файлы с загрузкой материалов через ObjLoadOptions.enable_materials, экспортировать OBJ‑файлы с помощью ObjExporter и выполнять низкоуровневую векторную математику, используя встроенные типы, такие как Vector4 и Matrix4.

 Русский