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

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

OverviewOverview
SceneКонтейнер верхнього рівня для всіх даних 3D‑сцени. Містить кореневий вузол, метадані активу та кліпи анімації. Надає from_file(), open(), та save() як основні точки входу вводу/виводу.
NodeІменований вузол у ієрархії сцени. Містить список дочірніх вузлів і список приєднаних Entity об’єктів, таких як сітки, камери та освітлення. Містить локальний Transform.
EntityАбстрактний базовий клас для всіх об’єктів, які можуть бути приєднані до Node. Надає ім’я та ідентифікатор, але не має власної геометрії.
SceneObjectБазовий клас, спільний для Node та Entity. Надає інтерфейс колекції властивостей, що використовується для метаданих, визначених користувачем.
A3DObjectКореневий базовий клас для всіх керованих об’єктів Aspose.3D. Надає властивість name та the Properties колекція.
INamedObjectІнтерфейс, який гарантує name властивість. Реалізовано в Node, Entity, та кілька типів дескрипторів, специфічних для формату.

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

OverviewOverview
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 графи.

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

OverviewOverview
TransformЛокальне перетворення, прикріплене до Node. Забезпечує переміщення, обертання (як Quaternion), та компоненти масштабу, а також зручні властивості для кутів Ейлера.
GlobalTransformТільки для читання представлення перетворення простору світу вузла після композиції всіх предків. Доступно через Node.global_transform.
AssetInfoБлок метаданих, прикріплений до Scene. Зберігає назву програми-автора, назву одиниці, коефіцієнт масштабу одиниці, визначення осей системи координат та часові мітки створення/модифікації.

Матеріали та шейдинг

OverviewOverview
MaterialАбстрактний базовий клас для всіх типів матеріалів. Забезпечує назву та колекцію властивостей для числових та кольорових параметрів.
LambertMaterialМатеріальна модель лише дифузного освітлення. Зберігає колір навколишнього освітлення, дифузний колір, емісійний колір та прозорість. Завантажується з OBJ‑файлів, які використовують базові Ka/Kd/Ke оголошення.
PhongMaterialOverview LambertMaterial з відбивним (спекулярним) кольором та блиском (спекулярний експонент). Завантажується з OBJ‑файлів, які використовують Ks/Ns оголошення.
PbrMaterialМатеріал фізично‑заснованого рендерингу (Physically Based Rendering). Зберігає альбедо, металевий фактор, фактор шорсткості та пов’язані текстури. Використовується у glTF 2.0 та інших форматах, що підтримують PBR.

Камера та освітлення

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

Математичні утиліти

OverviewOverview
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Осьово-узгоджена обмежувальна коробка, визначена minimum та maximum Vector3 кутами. Використовується для просторових запитів та допоміжних засобів відсікання фрустуму.

Overview

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

Ввід/вивід форматів

OverviewOverview
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

OverviewOverview
ObjImporterВнутрішній клас імпортера, який аналізує файли Wavefront OBJ та MTL. Викликається автоматично Scene.from_file() для .obj розширень.
ObjLoadOptionsПараметри завантаження для файлів Wavefront OBJ. Ключові властивості: flip_coordinate_system, scale, enable_materials, normalize_normal.
ObjSaveOptionsПараметри збереження для виводу Wavefront OBJ. Керує нормалями, UVs, посиланнями на матеріали та режимом хмари точок.
ObjFormatОпис формату для Wavefront OBJ. Доступний як FileFormat.WAVEFRONT_OBJ().

Формат STL

OverviewOverview
StlImporterВнутрішній імпортер, який читає як бінарні, так і ASCII файли STL. Вибирається автоматично за розширенням.
StlExporterВнутрішній експортер, який записує STL.
StlLoadOptionsПараметри завантаження для файлів STL. Підтримує flip_coordinate_system і scale.
StlSaveOptionsПараметри збереження для виводу STL. Контролює binary_mode, scale, і flip_coordinate_system.
StlFormatОпис формату для STL.

Формат glTF

OverviewOverview
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

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

Формат COLLADA

OverviewOverview
ColladaLoadOptionsПараметри завантаження для COLLADA (.dae) файлів. Керує переназначенням осей і масштабом одиниць при імпорті.
ColladaSaveOptionsПараметри збереження для виводу COLLADA. Керує indented, flip_coordinate_system, і експортом матеріалів.
ColladaFormatОпис формату для COLLADA. Визначається автоматично з .dae розширення файлу.

3MF Format

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

Overview

OverviewOverview
TextureMappingВизначає, як текстура відображається на геометрії: DIFFUSE, SPECULAR, EMISSIVE, NORMAL, AMBIENT, тощо.
BooleanOperationТип булевої операції CSG: UNION, DIFFERENCE, INTERSECTION.

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

OverviewOverview
PropertyОдна іменована типізована властивість у A3DObject. Зберігає назву властивості, дескриптор типу та поточне значення.
PropertyCollectionІтерабельна колекція Property об’єкти, прикріплені до A3DObject. Підтримує пошук за назвою та ітерацію по всіх визначених властивостях.
CustomObjectЛегковаговий A3DObject підклас, який містить лише ім’я та довільний PropertyCollection. Використовується для зберігання метаданих, визначених користувачем, на об’єктах сцени.

Зображення та рендеринг

OverviewOverview
ImageRenderOptionsОпції для software rasterisation під час рендерингу сцени у image buffer. Зберігає background colour, image dimensions та camera reference. Ця функція доступна у підтримуваних конфігураціях.

Див. також

 Українська