Aspose.3D FOSS for Python

API nuoroda, skirta aspose-3d-foss 26.1.0 (Python 3.7 – 3.12, MIT licencija).

Visos klasės importuojamos iš aspose.threed paketo arba jo subpaketų. Pagrindinis importas yra:

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

Pagrindinis scenos grafas

MethodsMethods
SceneAukščiausio lygio konteineris visiems 3D scenos duomenims. Laiko šaknies mazgą, išteklių metaduomenis ir animacijos klipus. Pateikia from_file(), open(), ir save() kaip pagrindines I/O įvesties/išvesties taškus.
NodePavadintas mazgas scenos hierarchijoje. Turi vaikų mazgų sąrašą ir prijungtų Entity objektų, tokių kaip tinklai, kameros ir šviesos. Perneša vietinį Transform.
EntityAbstrakti bazinė klasė visiems objektams, kuriuos galima prijungti prie Node. Suteikia pavadinimą ir tapatybę, bet neturi savo geometrijos.
SceneObjectBazinė klasė, kurią dalijasi Node ir Entity. Suteikia savybių kolekcijos sąsają, naudojamą vartotojo apibrėžtiems metaduomenims.
A3DObjectŠaknies bazinė klasė visiems Aspose.3D valdomiems objektams. Pateikia pavadinimo savybę ir Properties kolekcija.
INamedObjectSąsaja, kuri garantuoja name savybė. Įgyvendinta Node, Entity, ir keli formatui specifiniai deskriptoriaus tipai.

Geometrija ir tinklas

MethodsMethods
MeshPoligonų tinklelio objektas. Saugo valdymo taškus (viršūnių pozicijas kaip Vector4), poligonų veidų sąrašus (valdymo taškų indeksų sąrašus) ir viršūnių elementų sluoksnius (normales, UV, viršūnių spalvas).
GeometryAbstrakti bazė tinklelio tipo geometrijoms. Apibrėžia valdymo taškų masyvą ir kolekciją VertexElement sluoksnių. Mesh paveldi iš Geometry.
VertexElementAbstrakti bazė duomenų sluoksniui, priskirtam geometrijai (normales, UV, spalvas ir t.t.). Perduoda mapping_mode, reference_mode, ir data sąrašą.
VertexElementNormalSaugo vieną normalės vektorių kiekvienai viršūnei arba poligono kampui, priklausomai nuo mapping_mode. Duomenų reikšmės yra FVector4 instancijos (viengubo tikslumo) su w nenaudojama.
VertexElementUVSaugo tekstūros koordinatės duomenis kaip FVector4 kiekvienam viršūnei arba kiekvienam daugiakampio kampui (tik x ir y komponentai naudojami UV). Tinklas gali turėti kelis UV sluoksnius skirtingiems tekstūros kanalams.
VertexElementVertexColorSaugo RGBA spalvų duomenis vienam viršūnei arba kampui kaip FVector4 (r, g, b, a intervale 0–1).
VertexElementSmoothingGroupSaugo vienam daugiakampiui glotninimo grupės sveikųjų skaičių ID, kuriuos naudoja OBJ importuotojas, kad atkurti originalias glotninimo grupės priskyrimus iš šaltinio failo.
VertexElementTypeIšvardinimas, nurodantis semantinį viršūnės elemento sluoksnio vaidmenį: NORMAL, UV, VERTEX_COLOR, SMOOTHING_GROUP, ir kiti. Perduokite reikšmes į Mesh.get_element().
MappingModeIšvardijimas, kontroliuojantis, kuriam primityvui susiejama viršūnės elemento reikšmė: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, arba ALL_SAME.
ReferenceModeIšvardijimas, kontroliuojantis, kaip indeksuojamos reikšmės: DIRECT (viena reikšmė per susiejimo primityvą) arba INDEX_TO_DIRECT (reikšmių masyvas plius atskiras indeksų masyvas).
PolygonModifierStatinė pagalbinė klasė su metodais trikampių sudarymui Mesh objektų ir visų Scene grafų.

Transformacija ir erdviniai

MethodsMethods
TransformVietinė transformacija, priskirta Node. Suteikia perkėlimą, sukimosi (kaip Quaternion), ir mastelio komponentus, bei patogias savybes Eulerio kampams.
GlobalTransformTik skaitymui skirta vaizdas į mazgo pasaulio erdvės transformaciją po visų tėvų transformacijų sujungimo. Pasiekiama per Node.global_transform.
AssetInfoMetaduomenų blokas, priskirtas Scene. Saugo autoriaus programos pavadinimą, vieneto pavadinimą, vieneto mastelio koeficientą, koordinatės sistemos ašies apibrėžimus ir sukūrimo/modifikavimo laiko žymas.

Medžiagos ir šešėliavimas

MethodsMethods
MaterialAbstrakti bazinė klasė visiems medžiagų tipams. Suteikia pavadinimą ir savybių kolekciją skaitiniams ir spalvų parametrams.
LambertMaterialTik difuzinis medžiagos modelis. Saugo aplinkos spalvą, difuzinę spalvą, emisijos spalvą ir skaidrumą. Įkeliamas iš OBJ failų, kurie naudoja pagrindines Ka/Kd/Ke deklaracijas.
PhongMaterialMethods LambertMaterial su spekuliarine spalva ir blizgesiu (spekuliarinis eksponentas). Įkeliamas iš OBJ failų, kurie naudoja Ks/Ns deklaracijas.
PbrMaterialFizinio pagrindo atvaizdavimo (Physically Based Rendering) medžiaga. Saugo albedo, metalinį faktorių, šiurkštumo faktorių ir susijusias tekstūras. Naudojama glTF 2.0 ir kitų PBR-palaikančių formatų.

Kamera ir apšvietimas

MethodsMethods
CameraKameros objektas. Tik projection_type ir name yra funkciniai šioje versijoje; visi kiti skaitiniai savybės (near_plane, far_plane, field_of_view, aspect_ratio) yra stubai, kurie grąžina numatytąsias reikšmes. Prijungta prie a Node apibrėžti vaizdo taško transformacijas.
LightŠviesos šaltinio objektas. Paveldi iš Camera kaip stub klasė; šis Light klasė pati neatskleidžia papildomų savybių šioje versijoje.
LightTypePalaikomų šviesos kategorijų išvardinimas: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionTypeKamerų projekcijos režimų išvardijimas: PERSPECTIVE ir ORTHOGRAPHIC.

Matematinės priemonės

MethodsMethods
Vector2Dvigubo tikslumo 2 komponentų vektorius (x, y). Naudojamas UV tekstūros koordinatėms.
Vector3Dvigubo tikslumo 3 komponentų vektorius (x, y, z). Naudojamas pozicijoms, kryptims ir mastui.
Vector4Dvigubo tikslumo 4 komponentų vektorius (x, y, z, w). Naudojamas valdymo taškams (homogeniškoms pozicijoms) ir normalių duomenims.
FVector2Viengubo tikslumo 2 komponentų slankaus kablelio vektorius. Naudojamas viduje kompaktiškam saugojimui viršūnių elementų duomenų masyvuose.
FVector3Viengubo tikslumo 3 komponentų slankaus kablelio vektorius. Pasirodo viršūnių elementų duomenų masyvuose normalių ir tangentų.
FVector4Viengubo tikslumo 4 komponentų slankaus kablelio vektorius. Saugojimo tipas, skirtas VertexElementFVector.data.
QuaternionVienetinis kvaternionas, naudojamas rotacijoms atvaizduoti (w, x, y, z). Naudojamas Transform.rotation.
Matrix44×4 double-precision transformation matrix. Used for world/local transform computations and can be constructed from TRS decompositions.
BoundingBoxAšies lygiavietė ribojanti dėžė, apibrėžta minimum ir maximum Vector3 kampais. Naudojama erdviniams užklausoms ir frustumų išfiltravimo pagalbininkams.

Methods

MethodsMethods
AnimationClipPavadintas konteineris, skirtas animuotų kanalų rinkiniui, apimančiam vieną atkūrimo intervalą. A Scene gali turėti kelis klipus (pvz., „Walk“, „Run“).
AnimationNodeSusieja AnimationClip su konkrečiu scenos mazgu arba savybe. Veikia kaip tiltas tarp klipo duomenų ir scenos grafiko objektų.
AnimationChannelVienas animuotas savybės srautas klipo viduje, nukreiptas į pavadintą savybę objekte (pvz., Transform.translation.x).
KeyFrameVienas laiko–reikšmės mėginys viduje KeyframeSequence. Saugo laiką (sekundėmis) ir reikšmę tuo momentu.
KeyframeSequenceSurikiuotas sąrašas KeyFrame objektų vienam skaliariniam kanalui, kartu su interpoliacijos ir ekstrapoliacijos nustatymais.
InterpolationInterpoliacijos režimų išvardijimas tarp raktinių kadrų: CONSTANT, LINEAR, BEZIER, B_SPLINE, CARDINAL_SPLINE, TCB_SPLINE.
ExtrapolationTypeElgsenų išvardijimas, esantis už pirmojo ir paskutinio raktinio kadro: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, OSCILLATE.

Formato įvestis/išvestis

MethodsMethods
Scene.from_file(path)Statinis metodas. Atveria failą ties path, nustato formatą iš plėtinio ir grąžina užpildytą Scene. Iškelia išimtį, kai failas nerastas arba formatas nepalaikomas.
Scene.open(path, options=None)Instance method. Atveria failą į esamą Scene egzempliorių, pasirenkant naudoti formatui specifinį LoadOptions subklasę.
Scene.save(path, options=None)Instance method. Serializuoja sceną į path naudodamas formatą, išvestą iš plėtinio, pasirenkant naudoti formatui specifinį SaveOptions subklasę.
FileFormatRegistras palaikomų failų formatų. Turi įrašus, pvz., FileFormat.WAVEFRONT_OBJ, FileFormat.GLTF, FileFormat.FBX7400ASCII, FileFormat.MICROSOFT_3MF. Formatui specifiniai variantai pasiekiami per parinkčių klases (pvz., ColladaSaveOptions, GltfSaveOptions).
IOServiceVidinė I/O abstrakcija, naudojama formatų importuotojų ir eksportuotojų. Paprastai nenaudojama tiesiogiai programų kode.
LoadOptionsBazinė klasė visiems formatui specifiniams įkėlimo parinkčių objektams. Paveldima klasėmis ObjLoadOptions, StlLoadOptions, GltfLoadOptions, FbxLoadOptions, ColladaLoadOptions, ThreeMfLoadOptions.
SaveOptionsBazinė klasė visiems formatui specifiniams išsaugojimo parinkčių objektams. Paveldima klasėmis ObjSaveOptions, StlSaveOptions, GltfSaveOptions, FbxSaveOptions, ColladaSaveOptions, ThreeMfSaveOptions.

OBJ formatas

MethodsMethods
ObjImporterVidinė importuotojo klasė, kuri analizuoja Wavefront OBJ ir MTL failus. Iškviečiama automatiškai Scene.from_file() dėl .obj plėtinių.
ObjLoadOptionsĮkėlimo parinktys Wavefront OBJ failams. Pagrindinės savybės: flip_coordinate_system, scale, enable_materials, normalize_normal.
ObjSaveOptionsIšsaugoti parinktis Wavefront OBJ išvesties. Valdo normalės, UV, medžiagų nuorodas ir taškų debesies režimą.
ObjFormatFormato aprašas Wavefront OBJ. Prieinamas kaip FileFormat.WAVEFRONT_OBJ().

STL formatas

MethodsMethods
StlImporterVidinis importuotojas, kuris skaito tiek binarinius, tiek ASCII STL failus. Pasirenkamas automatiškai pagal plėtinį.
StlExporterVidinis eksportuotojas, kuris rašo STL.
StlLoadOptionsĮkėlimo parinktys STL failams. Palaiko flip_coordinate_system ir scale.
StlSaveOptionsIšsaugojimo parinktys STL išvesties. Valdo binary_mode, scale, ir flip_coordinate_system.
StlFormatFormato aprašas STL.

glTF formatas

MethodsMethods
GltfLoadOptionsĮkėlimo parinktys glTF 2.0 ir GLB failams. Pagrindinė savybė: flip_tex_coord_v.
GltfSaveOptionsIšsaugojimo parinktys glTF 2.0 išvesties. Naudokite binary_mode=True savarankiškam GLB paketui.
GltfFormatFormato aprašas glTF 2.0 / GLB. Prieinamas kaip FileFormat.GLTF2().

FBX formatas

MethodsMethods
FbxLoadOptionsĮkėlimo parinktys FBX failams. Pagrindinės savybės: keep_builtin_global_settings, compatible_mode.
FbxSaveOptionsIšsaugojimo parinktys FBX išvesties. FBX eksportas sukelia NotImplementedError nepriklausomai nuo sąlygų; FbxSaveOptions yra, bet eksportas neįgyvendintas.
FbxFormatFormato aprašas FBX. Prieinamas kaip FileFormat.FBX7400ASCII().

COLLADA formatas

MethodsMethods
ColladaLoadOptionsĮkėlimo parinktys COLLADA (.dae) failams. Valdo ašies peradresavimą ir vienetų mastelį importuojant.
ColladaSaveOptionsIšsaugojimo parinktys COLLADA išvestims. Valdikliai indented, flip_coordinate_system, ir medžiagų eksportavimas.
ColladaFormatFormato aprašas COLLADA. Nustatoma automatiškai iš .dae failo plėtinio.

3MF Format

MethodsMethods
ThreeMfLoadOptionsĮkelti 3MF parinktis (.3mf) failų.
ThreeMfSaveOptionsIšsaugoti parinktis 3MF išvesties. 3MF yra pageidautiniausias formatas 3D spausdinimo darbo srautams.
ThreeMfFormatFormato aprašas 3MF. Prieinamas kaip FileFormat.MICROSOFT_3MF_FORMAT().

Methods

MethodsMethods
TextureMappingNurodo, kaip tekstūra yra susieta su geometrija: DIFFUSE, SPECULAR, EMISSIVE, NORMAL, AMBIENT, ir t.t.
BooleanOperationCSG loginės operacijos tipas: UNION, DIFFERENCE, INTERSECTION.

Savybių sistema

MethodsMethods
PropertyViena pavadinta tipizuota savybė ant A3DObject. Saugo savybės pavadinimą, tipo aprašą ir dabartinę reikšmę.
PropertyCollectionIteruojama kolekcija, sudaryta iš Property objektų, priskirtų A3DObject. Palaiko paiešką pagal pavadinimą ir iteraciją per visas apibrėžtas savybes.
CustomObjectLengvas A3DObject pakaitinė klasė, kuri nešioja tik pavadinimą ir bet kokį PropertyCollection. Naudojama vartotojo apibrėžtiems metaduomenims saugoti ant scenos objektų.

Vaizdas ir renderiavimas

MethodsMethods
ImageRenderOptionsParinktys programinės rasterizacijos metu, kai scena atvaizduojama į vaizdo buferį. Saugo fono spalvą, vaizdo matmenis ir kameros nuorodą. Scene.render() kelia NotImplementedError; atvaizdavimas neįgyvendintas šioje versijoje.

Žr. taip pat

 Lietuvių