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

Основен граф на сцената

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

Геометрия и мрежа

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

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

MethodsMethods
TransformЛокална трансформация, прикрепена към Node. Предоставя транслация, ротация (като Quaternion), и компоненти за мащаб, плюс удобни свойства за ъгли на Юлер.
GlobalTransformПреглед само за четене на трансформацията в световното пространство на възел след комбиниране на всички трансформации на предците. Достъпва се чрез Node.global_transform.
AssetInfoБлок с метаданни, прикрепен към Scene. Съхранява името на приложението за създаване, името на единицата, коефициент на мащабиране на единицата, дефинициите на осите на координатната система и времеви отметки за създаване/модифициране.

Материали и сенкиране

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

Камера и осветление

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

Математически помощни функции

MethodsMethods
Vector2Вектор с двойна точност, 2‑компонентен (x, y). Използва се за UV текстурни координати.
Vector3Вектор с двойна точност, 3‑компонентен (x, y, z). Използва се за позиции, посоки и мащаб.
Vector4Вектор с двойна точност, 4‑компонентен (x, y, z, w). Използва се за контролни точки (хомогенни позиции) и данни за нормали.
FVector2Вектор с единична точност, 2‑компонентен float. Използва се вътрешно за компактно съхранение в масиви от данни за елементите на върховете.
FVector3Вектор с единична точност, 3‑компонентен float. Появява се в масиви от данни за елементите на върховете за нормали и тангенти.
FVector4Вектор с плаваща запетая (float) с единична точност, състоящ се от 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 ъгли. Използва се за пространствени заявки и помощни функции за отрязване на фрустум.

Methods

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

Вход/изход на формати

MethodsMethods
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Вътрешна I/O абстракция, използвана от импортерите и експортерите на формати. Обикновено не се използва директно от приложен код.
LoadOptionsБазов клас за всички обекти за зареждане на опции, специфични за формата. Подкласуван от ObjLoadOptions, StlLoadOptions, GltfLoadOptions, FbxLoadOptions, ColladaLoadOptions, ThreeMfLoadOptions.
SaveOptionsБазов клас за всички обекти за запазване на опции, специфични за формата. Подкласуван от ObjSaveOptions, StlSaveOptions, GltfSaveOptions, FbxSaveOptions, ColladaSaveOptions, ThreeMfSaveOptions.

OBJ формат

MethodsMethods
ObjImporterВътрешен клас за импортиране, който анализира Wavefront OBJ и MTL файлове. Извиква се автоматично от 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 формат

MethodsMethods
StlImporterВътрешен импортер, който чете както бинарни, така и ASCII STL файлове. Избира се автоматично според разширението.
StlExporterВътрешен експортер, който записва STL.
StlLoadOptionsОпции за зареждане на STL файлове. Поддържа flip_coordinate_system и scale.
StlSaveOptionsОпции за запазване на STL изход. Управлява binary_mode, scale, и flip_coordinate_system.
StlFormatДескриптор на формата за STL.

glTF формат

MethodsMethods
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 формат

MethodsMethods
FbxLoadOptionsОпции за зареждане на FBX файлове. Ключови свойства: keep_builtin_global_settings, compatible_mode.
FbxSaveOptionsОпции за запазване на FBX изход. Експортът на FBX предизвиква NotImplementedError безусловно; FbxSaveOptions съществува, но експортът не е реализиран.
FbxFormatДескриптор на формат за FBX. Достъпен като FileFormat.FBX7400ASCII().

COLLADA формат

MethodsMethods
ColladaLoadOptionsОпции за зареждане на COLLADA (.dae) файлове. Управлява пренареждането на осите и мащаба на единиците при импортиране.
ColladaSaveOptionsОпции за запазване за изход в COLLADA. Контроли indented, flip_coordinate_system, и експортиране на материали.
ColladaFormatДескриптор на формат за COLLADA. Автоматично се определя от .dae файловото разширение.

3MF Format

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

Methods

MethodsMethods
TextureMappingИдентифицира как текстурата се картографира върху геометрията: DIFFUSE, SPECULAR, EMISSIVE, NORMAL, AMBIENT, и т.н.
BooleanOperationТип на булевата операция в CSG: UNION, DIFFERENCE, INTERSECTION.

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

MethodsMethods
PropertyЕдно именувано типизирано свойство върху A3DObject. Съхранява името на свойството, дескриптора на типа и текущата стойност.
PropertyCollectionИтерируемо колекция от Property обекти, прикрепени към A3DObject. Поддържа търсене по име и итериране над всички дефинирани свойства.
CustomObjectЛек A3DObject подклас, който съдържа само име и произволен PropertyCollection. Използва се за съхраняване на потребителски дефинирани метаданни върху обекти от сцената.

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

MethodsMethods
ImageRenderOptionsОпции за софтуерно растеризиране при рендериране на сцена в буфер за изображение. Съхранява цвят на фона, размери на изображението и референция към камерата. Scene.render() повдига NotImplementedError; рендерирането не е реализирано в това издание.

Вижте също

 Български