API Overview — @aspose/3d for TypeScript

חבילה: @aspose/3d (v24.12.0) שפה: TypeScript / Node.js 18+ רישיון: MIT

@aspose/3d היא ספרייה ברישיון MIT לקריאה, בנייה וייצוא של סצנות תלת‑ממד ב‑Node.js. היא מגיעה עם הגדרות טיפוס מלאות של TypeScript, תלות ריצה יחידה (xmldom), ותומכת שבעה פורמטים עיקריים של קבצי 3D. כל הקלט/פלט הוא סינכרוני. אין צורך בתוספים מקומיים.


Enumerations

npm install @aspose/3d

Enumerations tsconfig.json הגדרות לפתרון נתיב משנה נכון:

{
  "compilerOptions": {
    "target": "ES2020",
    "module": "commonjs",
    "moduleResolution": "node",
    "esModuleInterop": true,
    "strict": true
  }
}

מחלקות ליבה

Enumerations

מכולת השורש עבור סצנת 3D. כל התוכן; צמתים, גאומטריה, חומרים והאנימציות; נשמרים בעץ שמושרש ב scene.rootNode.השתמש open() / openFromBuffer() לטעון קובץ ו save() / saveToBuffer() לייצא.

EnumerationsEnumerationsEnumerations
rootNodeNodeשורש גרף הסצנה
assetInfoAssetInfoמטא‑נתוני קובץ (יוצר, יחידות, מערכת קואורדינטות)
animationClipsAnimationClip[]כל קטעי האנימציה בסצנה
open(path, opts?)(string, LoadOptions?) → voidטען קובץ מהדיסק
openFromBuffer(buf, opts?)(Buffer, LoadOptions?) → voidטען ממאגר בזיכרון
save(path, opts?)(string, SaveOptions?) → voidשמור לדיסק (הפורמט נובע מההרחבה)
saveToBuffer(ext, opts?)(string, SaveOptions?) → Bufferשמור למאגר בזיכרון
createAnimationClip(name)(string) → AnimationClipצור ורשום קטע אנימציה חדש

Enumerations

צומת עץ בעל שם בגרף הסצנה. צמתים נושאים אופציונלי Entity (mesh, camera, light) ו- Transform שממקם את הצומת ביחס להורה שלו.

EnumerationsEnumerationsEnumerations
namestringשם הצומת
childNodesNode[]צמתים ישירים
entity`Entitynull`
transformTransformתרגום, סיבוב וקנה מידה מקומיים
materialsMaterial[]חומרים שהוקצו לצומת זה
createChildNode(name)(string) → Nodeהוסף צומת בן
getChildNode(name)`(string) → Nodenull`

Enumerations

רשת פוליגונים; סוג הגיאומטריה הראשי. מרחיב Geometry.

EnumerationsEnumerationsEnumerations
controlPointsVector4[]מיקומי קודקוד (w=1 למיקומים)
polygonCountnumberמספר הפוליגונים
createPolygon(indices)(number[]) → voidהוסף פוליגון (משולש או מרובע)
getElement(type)`(VertexElementType) → VertexElementnull`
createElement(type)(VertexElementType) → VertexElementצור אלמנט קודקוד

Enumerations

טרנספורמציה מקומית המיושמת על צומת.

EnumerationsEnumerationsEnumerations
translationVector3מיקום מקומי
eulerAnglesVector3סיבוב אוילר במעלות (סדר XYZ)
rotationQuaternionסיבוב כקוואטורניון
scalingVector3קנה מידה מקומי

מחלקות חומר

EnumerationsEnumerationsמאפיינים מרכזיים
LambertMaterialהצללה פיזורית + סביבתיתdiffuseColor, ambientColor, transparency
PhongMaterialמוסיף ברק + פליטה ל‑LambertspecularColor, shininess, emissiveColor
PbrMaterialמבוסס פיזיקלית עבור glTF 2.0albedo, metallicFactor, roughnessFactor, emissiveColor

BoundingBox הוא תיבת גבול מיושרת לציר המוגדרת על ידי פינות Vector3 מינימליות ומקסימליות, עם שיטות למיזוג נקודות, בדיקות הכללה, ושאילתות היקף.

EnumerationsEnumerations
Vector33-component double-precision vector (x, y, z)
Vector44-component vector for homogeneous math (x, y, z, w)
FVector3גרסה ברמת דיוק יחיד המשמשת בנתוני קודקוד
Matrix44×4 transformation matrix; multiply, invert, decompose
Quaternionקוואטרניון סיבוב; fromEulerAngle, toEulerAngles, slerp
BoundingBoxתיבת גבול מיושרת לציר; minimum, maximum, center, size, merge

מחלקות אנימציה

EnumerationsEnumerations
AnimationClipקלאפ בשם; מכיל AnimationNode רשימה; נגישה דרך scene.animationClips
AnimationNodeקושר קלאפ לצומת סצנה בשם; מכיל AnimationChannel רשימה
AnimationChannelמתמקד בתכונה יחידה (למשל תרגום X); מחזיק KeyframeSequence
KeyframeSequenceרשימה מסודרת של KeyFrame אובייקטים עם interpolation ו extrapolation
KeyFrameזוג זמן/ערך יחיד

Enumerations

EnumerationsEnumerationsEnumerations
VertexElementTypeNORMAL, UV, VERTEX_COLOR, BINORMAL, TANGENTסמנטיקה של Vertex element
MappingModeCONTROL_POINT, POLYGON_VERTEX, POLYGON, ALL_SAMEכיצד נתונים ממופים לגיאומטריה
ReferenceModeDIRECT, INDEX, INDEX_TO_DIRECTאסטרטגיית אינדקסינג לנתוני Vertex element
InterpolationCONSTANT, LINEAR, BEZIERאינטרפולציית keyframe
ExtrapolationCONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, OSCILLATEהתנהגות מחוץ לטווח מסגרות המפתח

מודולי פורמט

BoundingBox הוא תיבת גבול מיושרת לציר המוגדרת על ידי פינות Vector3 מינימליות ומקסימליות, עם שיטות למיזוג נקודות, בדיקות הכללה, ושאילתות היקף.:

import { ObjLoadOptions } from '@aspose/3d/formats/obj';
import { GltfSaveOptions, GltfFormat } from '@aspose/3d/formats/gltf';
import { StlLoadOptions, StlSaveOptions } from '@aspose/3d/formats/stl';
import { FbxLoadOptions, FbxSaveOptions } from '@aspose/3d/formats/fbx';
import { ColladaLoadOptions } from '@aspose/3d/formats/collada';
import { ThreeMfSaveOptions } from '@aspose/3d/formats/3mf';

מודול OBJ (@aspose/3d/formats/obj)

Enumerationsאפשרויות מפתח
ObjLoadOptionsenableMaterials, flipCoordinateSystem, scale, normalizeNormal

מודול glTF/GLB (@aspose/3d/formats/gltf)

Enumerationsאפשרויות מפתח
GltfSaveOptionsbinaryMode (true → .glb), flipTexCoordV
GltfFormatGltfFormat.getInstance(): מופע פורמט עבור scene.save()

מודול STL (@aspose/3d/formats/stl)

Enumerationsאפשרויות מפתח
StlLoadOptionsN/A
StlSaveOptionsbinaryMode (false → ASCII, true → binary)

מודול FBX (@aspose/3d/formats/fbx)

Enumerationsאפשרויות מפתח
FbxLoadOptionsN/A
FbxSaveOptionsembedTextures

פורמטים נתמכים

EnumerationsEnumerationsEnumerationsEnumerations
Enumerations.objEnumerationsEnumerations
glTF 2.0.gltfEnumerationsEnumerations
Enumerations.glbEnumerationsEnumerations
STL.stlEnumerationsEnumerations
FBX.fbxלא*לא*
COLLADA.daeEnumerationsEnumerations
3MF.3mfEnumerationsEnumerations

contains(arg)

import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
import { GltfSaveOptions } from '@aspose/3d/formats/gltf';

// Load OBJ with materials
const scene = new Scene();
const loadOpts = new ObjLoadOptions();
loadOpts.enableMaterials = true;
scene.open('input.obj', loadOpts);

// Inspect root nodes
for (const node of scene.rootNode.childNodes) {
    console.log(`Node: ${node.name}, entity: ${node.entity?.constructor.name}`);
}

// Export as GLB (binary glTF)
const saveOpts = new GltfSaveOptions();
saveOpts.binaryMode = true;
scene.save('output.glb', saveOpts);

ראה גם

 עברית