Начало работы

Aspose.3D FOSS для Python

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


Требования

Прежде чем устанавливать, убедитесь, что ваша среда соответствует этим требованиям:

Версия Python

  • Python 3.7, 3.8, 3.9, 3.10, 3.11, or 3.12
  • CPython — это эталонный интерпретатор; все шесть версий тестируются в каждом выпуске

Менеджер пакетов

  • pip (включён в все современные установки Python)
  • Никакие другие инструменты сборки, компиляторы или системные пакеты не требуются

Операционная система

  • Поддерживаются Windows, macOS и Linux
  • Библиотека написана полностью на Python: нет платформенно-специфичных нативных расширений для компиляции

Установка

Установите из PyPI с помощью pip:

pip install aspose-3d-foss

Смотрите Руководство по установке для настройки виртуального окружения, шагов проверки и примера быстрого старта кода.


Aspose.3D FOSS для Python

После установки вы можете сразу:

  • Загрузить файлы OBJ (с поддержкой материалов .mtl), STL, glTF 2.0, GLB, COLLADA и 3MF
  • Проверить иерархии сцены: обход узлов, чтение мешей, доступ к нормалям вершин и UV‑координатам
  • Трансформировать сцены: применять позиции, вращения (через Quaternion), и масштабы с помощью Transform
  • Применить материалы:работать с LambertMaterial и PhongMaterial на узлах сцены
  • Экспорт в любой поддерживаемый формат с параметрами сохранения для каждого формата
  • Вычислять геометрию: запрос ограничивающих коробок, накопление трансформаций в мировом пространстве с GlobalTransform
  • Читать анимацию: доступ AnimationClip и KeyframeSequence данные из загруженных файлов glTF и COLLADA

Quick Start

Следующий код загружает файл сцены, выводит дочерние узлы корневого узла и сохраняет сцену заново в формате GLB:

from aspose.threed import Scene

scene = Scene.from_file("input.obj")

print(f"Root node children: {len(scene.root_node.child_nodes)}")
for node in scene.root_node.child_nodes:
    entity_type = type(node.entity).__name__ if node.entity else "no entity"
    print(f"  {node.name} [{entity_type}]")

scene.save("output.glb")
print("Saved output.glb")

Next Steps

 Русский