Aspose.3D FOSS for Python

Справочник API для aspose-3d-foss 26.1.0 (Python 3.7 – 3.12, лицензия MIT).

Все классы импортируются из aspose.threed пакета или его подпакетов. Корневой импорт:

import aspose.threed
##or selectively:
from aspose.threed import Scene, Node
from aspose.threed.entities import Mesh, Camera, Light
from aspose.threed.formats import ObjLoadOptions, StlSaveOptions, GltfSaveOptions
from aspose.threed.utilities import Vector3, Matrix4, BoundingBox
from aspose.threed.animation import AnimationClip, KeyFrame

Основной граф сцены

ExampleExample
SceneКонтейнер верхнего уровня для всех данных 3D‑сцены. Содержит корневой узел, метаданные ресурсов и анимационные клипы. Предоставляет from_file(), open(), и save() в качестве основных точек входа ввода/вывода.
NodeИменованный узел в иерархии сцены. Содержит список дочерних узлов и список присоединённых Entity объектов, таких как меши, камеры и источники света. Содержит локальный Transform.
EntityАбстрактный базовый класс для всех объектов, которые могут быть присоединены к Node. Предоставляет имя и идентичность, но не имеет собственной геометрии.
SceneObjectБазовый класс, общий для Node и Entity. Предоставляет интерфейс коллекции свойств, используемый для пользовательских метаданных.
A3DObjectКорневой базовый класс для всех управляемых объектов Aspose.3D. Предоставляет свойство name и the Properties коллекция.
INamedObjectИнтерфейс, который гарантирует name свойство. Реализуется в Node, Entity, и несколько специфичных для формата типов дескрипторов.

Геометрия и сетка

ExampleExample
MeshСущность полигональной сетки. Хранит контрольные точки (позиции вершин как Vector4), списки граней полигонов (списки индексов контрольных точек), и слои элементов вершин (нормали, UV, цвета вершин).
GeometryАбстрактная база для типов геометрии, похожей на сетку. Определяет массив контрольных точек и коллекцию VertexElement слоёв. Mesh наследуется от Geometry.
VertexElementАбстрактная база для слоя данных, привязанного к геометрии (нормали, UV, цвета и т.д.). Содержит mapping_mode, reference_mode, и data список.
VertexElementNormalСохраняет один вектор нормали на вершину или на угол полигона, в зависимости от mapping_mode. Значения данных FVector4 экземпляры (одинарной точности) с w не используется.
VertexElementUVСохраняет данные координат текстуры как FVector4 по вершине или по углу полигона (только x и y компоненты используются для UV). Сетка может содержать несколько UV-слоёв для разных текстурных каналов.
VertexElementVertexColorСохраняет данные цвета RGBA по вершине или по углу как FVector4 (r, g, b, a в диапазоне 0–1).
VertexElementSmoothingGroupСохраняет целочисленные идентификаторы групп сглаживания по полигону, используемые импортёром OBJ для восстановления оригинальных назначений групп сглаживания из исходного файла.
VertexElementTypeПеречисление, определяющее семантическую роль слоя элемента вершины: NORMAL, UV, VERTEX_COLOR, SMOOTHING_GROUP, и другие. Передайте значения в Mesh.get_element().
MappingModeПеречисление, определяющее, к какому примитиву сопоставляется значение элемента вершины: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, или ALL_SAME.
ReferenceModeПеречисление, определяющее, как индексируются значения: DIRECT (одно значение на каждый примитив отображения) или INDEX_TO_DIRECT (массив значений плюс отдельный массив индексов).
PolygonModifierСтатический вспомогательный класс с методами для триангуляции Mesh объектов и целых Scene графы.

Трансформация и пространство

ExampleExample
TransformЛокальное преобразование, прикреплённое к Node. Предоставляет перемещение, вращение (как Quaternion), и компоненты масштабирования, а также удобные свойства для углов Эйлера.
GlobalTransformТолько для чтения представление преобразования узла в мировом пространстве после композиции всех преобразований предков. Доступно через Node.global_transform.
AssetInfoБлок метаданных, прикреплённый к Scene. Сохраняет название приложения‑создателя, название единицы, коэффициент масштаба единицы, определения осей системы координат и метки времени создания/изменения.

Материалы и затенение

ExampleExample
MaterialАбстрактный базовый класс для всех типов материалов. Предоставляет имя и коллекцию свойств для числовых и цветовых параметров.
LambertMaterialМатериал только с диффузным отражением. Сохраняет цвет окружающего света, диффузный цвет, эмиссионный цвет и прозрачность. Загружается из OBJ‑файлов, использующих базовые Ka/Kd/Ke объявления.
PhongMaterialExample LambertMaterial с зеркальным (спекулярным) цветом и блеском (спекулярный показатель). Загружается из OBJ‑файлов, использующих Ks/Ns объявления.
PbrMaterialМатериал физически основанного рендеринга (Physically Based Rendering). Сохраняет альбедо, коэффициент металличности, коэффициент шероховатости и связанные текстуры. Используется в glTF 2.0 и других форматах, поддерживающих PBR.

Камера и освещение

ExampleExample
CameraСущность камеры. Только projection_type и name работают в этом издании; все остальные числовые свойства (near_plane, far_plane, field_of_view, aspect_ratio) являются заглушками, которые возвращают значения по умолчанию. Прикреплены к a Node для определения трансформаций точки зрения.
LightСущность источника света. Наследуется от Camera как заглушка‑класс; Light сам класс не раскрывает дополнительных свойств в этом выпуске.
LightTypeПеречисление поддерживаемых категорий света: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionTypeПеречисление режимов проекции камеры: PERSPECTIVE и ORTHOGRAPHIC.

Математические утилиты

ExampleExample
Vector2Вектор двойной точности с 2 компонентами (x, y). Используется для UV‑текстурных координат.
Vector3Вектор двойной точности с 3 компонентами (x, y, z). Используется для позиций, направлений и масштаба.
Vector4Вектор двойной точности с 4 компонентами (x, y, z, w). Используется для контрольных точек (однородных позиций) и данных о нормалях.
FVector2Вектор одинарной точности с 2 компонентами типа float. Используется внутри для компактного хранения в массивах данных элементов вершин.
FVector3Вектор одинарной точности с 3 компонентами типа float. Содержится в массивах данных элементов вершин для нормалей и тангенсов.
FVector4Вектор с плавающей точкой одинарной точности из 4 компонентов. Тип хранения VertexElementFVector.data.
QuaternionЕдиничный кватернион для представления вращений (w, x, y, z). Используется Transform.rotation.
Matrix44×4 double-precision transformation matrix. Used for world/local transform computations and can be constructed from TRS decompositions.
BoundingBoxОсиально-выравненный ограничивающий короб (AABB), определённый minimum и maximum Vector3 углами. Используется для пространственных запросов и вспомогательных функций отсечения фрустума.

Example

ExampleExample
AnimationClipИменованный контейнер для набора анимированных каналов, охватывающих один диапазон воспроизведения. A Scene может содержать несколько клипов (например, «Walk», «Run»).
AnimationNodeПривязывает AnimationClip к конкретному узлу сцены или свойству. Служит мостом между данными клипа и объектами графа сцены.
AnimationChannelОдин поток анимированного свойства внутри клипа, направленный на именованное свойство объекта (например,., Transform.translation.x).
KeyFrameОдин образец времени‑значения внутри KeyframeSequence. Сохраняет время (в секундах) и значение в этот момент.
KeyframeSequenceУпорядоченный список KeyFrame объектов для одного скалярного канала, вместе с настройками интерполяции и экстраполяции.
InterpolationПеречисление режимов интерполяции между ключевыми кадрами: CONSTANT, LINEAR, BEZIER, B_SPLINE, CARDINAL_SPLINE, TCB_SPLINE.
ExtrapolationTypeПеречисление поведения за пределами первого и последнего ключевого кадра: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, OSCILLATE.

Ввод/вывод форматов

ExampleExample
Scene.from_file(path)Статический метод. Открывает файл по адресу path, определяет формат по расширению и возвращает заполненный Scene. Вызывает исключение при отсутствии файла или неподдерживаемом формате.
Scene.open(path, options=None)Метод экземпляра. Открывает файл в существующем Scene экземпляре, при необходимости используя специфичный для формата LoadOptions подкласс.
Scene.save(path, options=None)Метод экземпляра. Сериализует сцену в path используя формат, определяемый по расширению, при необходимости используя специфичный для формата SaveOptions подкласс.
FileFormatРеестр поддерживаемых форматов файлов. Содержит записи, такие как FileFormat.WAVEFRONT_OBJ, FileFormat.GLTF, FileFormat.FBX7400ASCII, FileFormat.MICROSOFT_3MF. Варианты, зависящие от формата, доступны через классы опций (например,., ColladaSaveOptions, GltfSaveOptions).
IOServiceВнутренняя абстракция ввода/вывода, используемая импортёрами и экспортёрами форматов. Обычно не используется напрямую кодом приложения.
LoadOptionsБазовый класс для всех объектов опций загрузки, зависящих от формата. Подклассы: ObjLoadOptions, StlLoadOptions, GltfLoadOptions, FbxLoadOptions, ColladaLoadOptions, ThreeMfLoadOptions.
SaveOptionsБазовый класс для всех объектов опций сохранения, зависящих от формата. Подклассы: ObjSaveOptions, StlSaveOptions, GltfSaveOptions, FbxSaveOptions, ColladaSaveOptions, ThreeMfSaveOptions.

Формат OBJ

ExampleExample
ObjImporterВнутренний класс импортера, который разбирает файлы Wavefront OBJ и MTL. Вызывается автоматически by Scene.from_file() для .obj расширения.
ObjLoadOptionsПараметры загрузки для файлов Wavefront OBJ. Ключевые свойства: flip_coordinate_system, scale, enable_materials, normalize_normal.
ObjSaveOptionsПараметры сохранения для вывода Wavefront OBJ. Управляет нормалями, UV‑координатами, ссылками на материалы и режимом облака точек.
ObjFormatДескриптор формата для Wavefront OBJ. Доступен как FileFormat.WAVEFRONT_OBJ().

Формат STL

ExampleExample
StlImporterВнутренний импортер, который читает как бинарные, так и ASCII‑файлы STL. Выбирается автоматически по расширению.
StlExporterВнутренний экспортер, который записывает STL.
StlLoadOptionsПараметры загрузки для файлов STL. Поддерживает flip_coordinate_system и scale.
StlSaveOptionsПараметры сохранения для вывода STL. Управляет binary_mode, scale, и flip_coordinate_system.
StlFormatДескриптор формата для STL.

Формат glTF

ExampleExample
GltfLoadOptionsПараметры загрузки для файлов glTF 2.0 и GLB. Ключевое свойство: flip_tex_coord_v.
GltfSaveOptionsПараметры сохранения для вывода glTF 2.0. Используйте binary_mode=True для автономного пакета GLB.
GltfFormatОписание формата для glTF 2.0 / GLB. Доступно как FileFormat.GLTF2().

Формат FBX

ExampleExample
FbxLoadOptionsПараметры загрузки для файлов FBX. Ключевые свойства: keep_builtin_global_settings, compatible_mode.
FbxSaveOptionsПараметры сохранения для вывода FBX. Управляет сжатием, встраиванием текстур и свойствами материалов.
FbxFormatОписание формата для FBX. Доступно как FileFormat.FBX7400ASCII().

Формат COLLADA

ExampleExample
ColladaLoadOptionsПараметры загрузки для COLLADA (.dae) файлов. Управляет переназначением осей и масштабом единиц при импорте.
ColladaSaveOptionsПараметры сохранения для вывода COLLADA. Управляет indented, flip_coordinate_system, а также экспортом материалов.
ColladaFormatДескриптор формата для COLLADA. Определяется автоматически из .dae расширения файла.

3MF Format

ExampleExample
ThreeMfLoadOptionsПараметры загрузки для 3MF (.3mf) файлов.
ThreeMfSaveOptionsПараметры сохранения для вывода 3MF. 3MF является предпочтительным форматом для рабочих процессов 3D‑печати.
ThreeMfFormatДескриптор формата для 3MF. Доступен как FileFormat.MICROSOFT_3MF_FORMAT().

Example

ExampleExample
TextureMappingОпределяет, как текстура отображается на геометрию: DIFFUSE, SPECULAR, EMISSIVE, NORMAL, AMBIENT, и т.д.
BooleanOperationТип булевой операции CSG: UNION, DIFFERENCE, INTERSECTION.

Система свойств

ExampleExample
PropertyОдин именованный типизированный параметр на A3DObject. Сохраняет имя свойства, дескриптор типа и текущее значение.
PropertyCollectionИтерируемая коллекция Property объекты, прикреплённые к A3DObject. Поддерживает поиск по имени и итерацию по всем определённым свойствам.
CustomObjectЛёгкий A3DObject подкласс, который содержит только имя и произвольный PropertyCollection. Используется для хранения пользовательских метаданных в объектах сцены.

Изображение и рендер

ExampleExample
ImageRenderOptionsОпции программной растеризации при рендеринге сцены в буфер изображения. Сохраняет цвет фона, размеры изображения и ссылку на камеру. Эта функция доступна в поддерживаемых конфигурациях.

См. также

 Русский