1. Продукты
  2.   Aspose.3D
  3.   Aspose.3D FOSS for Python

Aspose.3D FOSS для Python

Загружайте, создавайте, трансформируйте и экспортируйте 3D‑сцены из Python — бесплатно и с открытым исходным кодом.

Открытая библиотека Python для обработки 3D‑файлов

Aspose.3D FOSS для Python — это библиотека с лицензией MIT, написанная полностью на Python, предназначенная для работы с 3D‑форматами файлов. Установите её одной командой pip и сразу начните читать, конструировать и записывать 3D‑сцены без установки какого‑либо нативного рантайма, внешнего SDK или стороннего рендерера.

Библиотека предоставляет чистый API графа сцены, построенный вокруг Scene, Node, Mesh, Camera, Light и Transform — той же концептуальной модели, которую используют профессиональные 3D‑инструменты. Поддерживаемые форматы включают OBJ (с загрузкой материалов из .mtl), STL (бинарный и ASCII, проверено сквозным проходом), glTF 2.0 / GLB (PBR‑материалы), COLLADA (DAE), 3MF и FBX. Параметры загрузки и сохранения для каждого формата позволяют управлять отражением координат, масштабом, нормализацией нормалей и загрузкой материалов без написания кода парсинга конкретного формата.

Aspose.3D FOSS поддерживает Python версии от 3.7 до 3.12 и работает одинаково на Windows, macOS и Linux‑раннерах CI, в Docker‑контейнерах и безсерверных средах. Нет нативного расширения для компиляции и системного пакета для установки.

Поддержка 3D‑форматов и API графа сцены

  • OBJ / MTL: Загрузка файлов Wavefront OBJ с сопутствующими определениями материалов.
  • STL: Чтение и запись как бинарных, так и ASCII STL с полной проверкой сквозного прохода.
  • glTF 2.0 / GLB: Загрузка PBR‑материалов и вывод бинарного GLB через GltfSaveOptions.
  • COLLADA, 3MF, FBX: Дополнительная поддержка форматов с классами параметров для каждого формата.
  • Scene-graph API: Scene, Node, Mesh, Camera, Light, Transform.

Где можно использовать Aspose.3D FOSS

  • Конвейеры проверки активов: Проверять, переориентировать и повторно экспортировать 3D‑активы в CI.
  • Инструменты разработки игр: Пакетная обработка OBJ/GLB мешей без использования нативного движка.
  • Рабочие процессы 3D‑печати: Читать, проверять и повторно экспортировать файлы STL и 3MF.
  • Web backends: Обслуживайте конечные точки 3D‑конвертации в Docker или безсерверных функциях.
  • Content migration: Конвертируйте между семействами форматов в масштабе.

Параметры для каждого формата и управление координатами

  • Ориентация системы координат: Переворачивать оси и корректировать масштаб в зависимости от формата без пользовательского кода.
  • Нормализация нормалей: Автоматически нормализовать нормали вершин при загрузке или сохранении.
  • Управление загрузкой материалов: Включать или отключать загрузку MTL/текстур для более быстрой обработки.
  • Бинарный vs. JSON вывод: Выбирать компактный GLB или читаемый человеком glTF через параметры.
  • Точность обратного цикла: Структура графа сцены сохраняется при загрузке и сохранении (точность сохранения узлов зависит от формата и не проверялась независимо для всех форматов).

Опыт разработчика

Aspose.3D FOSS для установок Python одной командой pip install aspose-3d-foss. Библиотека полностью написана на Python, без нативных расширений для компиляции и без необходимости установки системных пакетов.

API графа сцены отражает концептуальную модель профессиональных 3D‑инструментов, поэтому кривая обучения невысока для тех, кто знаком с моделью данных Three.js или Blender. Библиотека лицензирована по MIT, открыта, и приветствует сообщения об ошибках и вклады на GitHub.

Загрузить сцену OBJ и экспортировать в glTF

Установите через pip, затем вызовите Scene.open() с ObjLoadOptions, чтобы загрузить OBJ‑файл вместе с его определениями материалов MTL. Один вызов scene.save() с расширением .gltf записывает файл JSON glTF 2.0 без необходимости реестра форматов или объекта‑конвертера.

pip install aspose-3d-foss
from aspose.threed import Scene
from aspose.threed.formats import ObjLoadOptions

# Загрузить файл OBJ (с материалами .mtl)
scene = Scene()
scene.open("model.obj", ObjLoadOptions())

# Экспортировать как glTF 2.0
scene.save("model.gltf")

Преобразовать STL в бинарный GLB с инвертированием координат

Чтобы получить компактный бинарный GLB вместо стандартного JSON glTF, передайте экземпляр GltfSaveOptions с binary_mode = True. Та же схема применяется к настройкам системы координат — замените класс параметров на тот, который соответствует целевому формату.

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

scene = Scene()
scene.open("mesh.stl")

# Сохранить как бинарный GLB
opts = GltfSaveOptions()
opts.binary_mode = True
scene.save("mesh.glb", opts)

Часто задаваемые вопросы

Что такое Aspose.3D FOSS для Python?

Это бесплатная библиотека pure-Python с лицензией MIT для загрузки, манипулирования и сохранения 3D‑сцен без установки какого-либо нативного рантайма или внешнего SDK.

Какие 3D‑форматы поддерживаются?

OBJ (с .mtl), STL (бинарный и ASCII), glTF 2.0 и GLB, COLLADA (DAE), 3MF и FBX. Каждый формат имеет отдельный класс параметров загрузки/сохранения.

Требует ли он каких‑либо нативных зависимостей?

Нет. Aspose.3D FOSS для Python — это чистый Python без нативных расширений. Он работает на Windows, macOS и Linux без какого-либо шага компиляции.

Как установить его?

Выполните pip install aspose-3d-foss. Дополнительные системные пакеты или нативные расширения не требуются.

Могу ли я управлять ориентацией системы координат?

Да. Классы параметров для каждого формата позволяют менять ориентацию осей, корректировать масштаб и нормализовать нормали без написания кода парсинга, специфичного для формата.

Какие версии Python поддерживаются?

Python версии от 3.7 до 3.12 поддерживаются. Библиотека работает одинаково на всех основных операционных системах.

Доступен ли исходный код?

Да. Библиотека лицензирована по MIT и размещена на GitHub. Сообщения об ошибках и запросы на включение изменений приветствуются.

  

Ресурсы поддержки и обучения

 Русский