Aspose.3D FOSS for TypeScript
مرجع API لـ @aspose/3d الإصدار 24.12.0. التثبيت عبر:
npm install @aspose/3dبيئة التشغيل: Node.js 18، 20، 22+ · اللغة: TypeScript 5.0+ / JavaScript (CommonJS) · الترخيص: MIT
مخطط المشهد الأساسي
Methods
حاوية الجذر لمشهد ثلاثي الأبعاد. استدعِ scene.open() أو scene.openFromBuffer() لتحميل ملف، و scene.save() لإخراج المخرجات. يوفّر scene.rootNode كنقطة الدخول إلى تسلسل العقد.
Methods
عقدة مسماة في شجرة المشهد. تحتوي على Transform,، اختيارية entity (mesh, camera, light, أو غيرها SceneObject)، و صفر أو أكثر من العقد الفرعية يمكن الوصول إليها عبر childNodes.
Methods
الفئة الأساسية لجميع الكائنات التي يمكن إرفاقها بـ Node ككيانها الأساسي. تم إنشاء فئات فرعية بواسطة Mesh, Camera, Light,، وغيرها.
SceneObject
الفئة الأساسية المجردة للكائنات المسماة التي تنتمي إلى مشهد. توفر name خاصية وتعقب الانتماء للمشهد المشترك بين العقد، الكيانات، والكائنات على مستوى الأصول.
A3DObject
الفئة الأساسية الجذرية لجميع كائنات Aspose.3D. توفر نظام الخصائص (getProperty, setProperty) و name الحقل الموروث من قبل كل فئة عامة.
الهندسة والشبكة
Methods
يمثل شبكة مضلّعات. يحتوي على controlPoints مصفوفة من Vector4 رؤوس وتعريفات المضلّعات التي تم إنشاؤها عبر createPolygon(). استدعِ triangulate() لتحويل جميع المضلّعات إلى مثلثات قبل التصدير.
Methods
الفئة الأساسية لجميع أنواع الهندسة. تحتوي على controlPoints ومجموعة عناصر الرؤوس (العمليات العادية، UVs، الألوان) المرتبطة بالهندسة.
VertexElement
الفئة الأساسية لقنوات السمات لكل رأس المرتبطة بـ Geometry. الفئات الفرعية تحمل مصفوفات بيانات ذات نوع و mappingMode / referenceMode بيانات وصفية.
VertexElementNormal
أ VertexElement فئة فرعية تخزن المتجهات العمودية للسطح. يتم تخزين البيانات داخليًا كـ FVector4[] (موروث من VertexElementFVector). مطلوب من قبل معظم محركات العرض للإضاءة الصحيحة.
VertexElementUV
أ VertexElement فئة فرعية تخزن إحداثيات القوام ثنائية الأبعاد. قد يحتوي نموذج واحد على مجموعات UV متعددة لطبقات القوام المختلفة.
VertexElementVertexColor
أ VertexElement فئة فرعية تخزن قيم ألوان RGBA لكل رأس.
VertexElementType
تعداد لأنواع قنوات السمة التي يمكن لـ VertexElement تمثيلها (مثال،., NORMAL, UV, VERTEX_COLOR, TANGENT, BINORMAL).
MappingMode
تعداد يتحكم في كيفية ربط بيانات العنصر بالهندسة: CONTROL_POINT, POLYGON_VERTEX, POLYGON, EDGE, أو ALL_SAME.
ReferenceMode
تعداد يتحكم في كيفية إشارة مؤشرات العنصر إلى البيانات: DIRECT (واحد إلى واحد) أو INDEX_TO_DIRECT (عبر مصفوفة مؤشرات).
TextureMapping
تعداد لمعاني قناة القوام: DIFFUSE, SPECULAR, NORMAL, EMISSIVE, BUMP, وأكثر.
Transform و Spatial
Methods
يحفظ الموضع المحلي (translation), التدوير (rotation كـ Quaternion), والتحجيم (scaling) لـ a Node. التغييرات هنا تؤثر على العقدة وجميع أطفالها.
GlobalTransform
عرض للقراءة فقط لتحويل الفضاء العالمي للعقدة، يتم حسابه عن طريق تجميع جميع الأسلاف Transform القيم. الوصول عبر node.globalTransform.
BoundingBox
صندوق احتواء محاذى للمحاور يُعرّف بـ minimum و maximum Vector3 زاوية. يُستخدم لوصف الامتداد المكاني لشبكة أو مشهد.
Methods
Material، LambertMaterial، PhongMaterial، PbrMaterial
Material هي الفئة الأساسية المجردة لجميع أنواع المواد. تتوفر ثلاث تطبيقات ملموسة:
- LambertMaterial — فقط انتشار مع قنوات اللون المحيطي، الانتشاري، والملوث. مناسب للأسطح غير اللامعة.
- PhongMaterial — يمتد
LambertMaterialمع خصائص اللون الانعكاسي واللمعان لتظليل Phong. - PbrMaterial — مادة تصيير معتمدة على الفيزياء مع قنوات metallic, roughness, base-color، و normal‑map. تُطابق مباشرةً نموذج مادة glTF 2.0 PBR.
الكاميرا والإضاءة
Methods
كيان عقدة نقطة مشاهدة مع نوع الإسقاط، مجال الرؤية، مسافات القص القريبة/البعيدة، وخصائص نسبة العرض إلى الارتفاع.
Methods
كيان عقدة مصدر ضوء. يتم التحكم في النوع بواسطة LightType التعداد.
LightType
تعداد أنواع الضوء المدعومة: POINT, DIRECTIONAL, SPOT, AREA, VOLUME.
ProjectionType
تعداد أوضاع إسقاط الكاميرا: PERSPECTIVE و ORTHOGRAPHIC.
أدوات رياضية
Methods
متجه عائم ثلاثي المكوّن مع x, y, z حقول وطرق حسابية شائعة (dot, cross, normalize, minus, times). تم التصدير من @aspose/3d/utilities.
Methods
متجه عائم مكوّن من أربعة مكوّنات مع x, y, z, w حقول. يُستخدم كنوع للمدخلات في Mesh.controlPoints.
Methods
متجه مزدوج الدقة مكوّن من عنصرين مع x و y حقول. يُستخدم لإحداثيات القوام UV.
FVector3
متجه عائم أحادي الدقة ثلاثي المكوّنات مدمج يُستخدم في مصفوفات بيانات عناصر الرؤوس للمعايير (normals) واللمسات (tangents).
Methods
مصفوفة تحويل 4×4. تدعم الجمع، العكس، النقل، والتحليل إلى مكوّنات الإزاحة، الدوران، والقياس. تم التصدير من @aspose/3d/utilities.
Methods
رباعية وحدة لتمثيل الدورانات دون قفل الجيمبال. توفر slerp() للتقريب السلس والتحويل من/إلى زوايا إيلر و Matrix4. تم التصدير من @aspose/3d/utilities.
Methods
AnimationClip
مجموعة مسماة ومحدودة زمنياً من AnimationNode المسارات. الحاوية الأساسية لبيانات الرسوم المتحركة ذات الإطارات المفتاحية التي تم تحميلها من ملفات FBX أو COLLADA.
AnimationNode
مسار رسوم متحركة مسمى يستهدف مسار خاصية محدد على كائن المشهد. يحتوي على واحد أو أكثر من AnimationChannel الكائنات.
AnimationChannel
قناة خاصية متحركة واحدة داخل AnimationNode. يحتوي على KeyframeSequence من أزواج الوقت/القيمة.
KeyFrame
عينة وقت/قيمة واحدة في KeyframeSequence. تحمل الطابع الزمني (بالثواني)، القيمة، ومعلومات المماس للتقريب.
KeyframeSequence
قائمة مرتبة من KeyFrame عينات لقناة خاصية واحدة، إلى جانب الـ Interpolation و Extrapolation الإعدادات التي تتحكم في التشغيل.
Methods
تعداد أوضاع استيفاء الإطارات المفتاحية. الأعضاء المعروفون تشمل LINEAR و CONSTANT. أعضاء إضافيون مثل BEZIER قد تكون متاحة.
Methods
يحدد السلوك خارج نطاق الإطار المفتاحي (قبل المفتاح الأول وبعد المفتاح الأخير). يتم التحكم فيه بواسطة ExtrapolationType.
StepMode
تعداد يتحكم في كيفية تطبيق الاستيفاء المتدرج (الثابت) عند الحدود.
WeightedMode
تعداد لمعالجة وزن المماس بيزيير: NONE, OUT_WEIGHT, NEXT_IN_WEIGHT, أو BOTH.
ExtrapolationType
تعداد سلوكيات خارج النطاق: CONSTANT, GRADIENT, CYCLE, CYCLE_RELATIVE, و OSCILLATE.
إدخال/إخراج الصيغة
FileFormat
الوصف الأساسي لتنسيق ملف ثلاثي الأبعاد. كل تنسيق مدعوم يوفر نسخة مفردة ملموسة عبر getInstance().
Methods
الفئة الأساسية لتطبيقات الاستيراد الخاصة بالتنسيق. لا يتم إنشاء مثيل لها مباشرة؛ تُستدعى داخليًا بواسطة scene.open().
Methods
الفئة الأساسية لتطبيقات التصدير الخاصة بالتنسيق. لا يتم إنشاء مثيل لها مباشرة؛ تُستدعى داخليًا بواسطة scene.save().
LoadOptions
الفئة الأساسية لكائنات خيارات التحميل الخاصة بالتنسيق. مرّر مثيل الفئة الفرعية إلى scene.open() أو scene.openFromBuffer().
SaveOptions
الفئة الأساسية لكائنات خيارات الحفظ الخاصة بالتنسيق. مرّر مثيل الفئة الفرعية إلى scene.save().
خدمة الإدخال/الإخراج
واجهة خدمة داخلية تجريدية لإدخال/إخراج نظام الملفات والذاكرة المؤقتة للمستوردين والمصدرين.
تنسيق OBJ
يدعم OBJ كلًا من الاستيراد والتصدير. عند الحفظ كـ OBJ، تُكتب مكتبة المواد (.mtl) تُكتب تلقائيًا إلى جانب ال .obj ملف.
ObjImporter
مستورد داخلي يقرأ ملفات Wavefront OBJ، يحل .mtl مكتبات المواد، ويملأ Scene. يتم استدعاؤه تلقائيًا عندما ObjLoadOptions يتم تمريره إلى scene.open().
ObjExporter
مصدّر داخلي يكتب ملفات Wavefront OBJ. مرفق .mtl مكتبة المواد تُكتب تلقائيًا. يتم استدعاؤه عندما scene.save() يستهدف .obj مسار.
ObjLoadOptions
خيارات التحميل لملفات OBJ. الخصائص الرئيسية: enableMaterials (boolean, الافتراضي true), flipCoordinateSystem (boolean), normalizeNormal (boolean, الافتراضي true), scale (number). انظر خيارات تحميل وحفظ الصيغة للتفاصيل الكاملة.
ObjSaveOptions
احفظ الخيارات لتصدير OBJ. مرّر إلى scene.save() للتحكم في سلوك إخراج OBJ. انظر خيارات تحميل وحفظ الصيغة للتفاصيل الكاملة.
ObjFormat
وصف تنسيق singleton لتنسيق OBJ. كلا canImport و canExport هي true.
تنسيق glTF
GltfImporter
يقرأ glTF 2.0 JSON (.gltf) وملف ثنائي GLB (.glb) ملفات. يتعامل مع مراجع المخزن المؤقت المدمجة والخارجية، ومواد PBR، والجلود، ومقاطع الرسوم المتحركة.
GltfExporter
يكتب مخرجات glTF 2.0. عندما GltfSaveOptions.binaryMode يكون true,، ينتج GLB ذاتي الاحتواء؛ وإلا يكتب JSON .gltf مع ملف مصاحب .bin مخزن مؤقت.
GltfLoadOptions
خيارات التحميل لملفات glTF/GLB. تتحكم في حل المخزن وسلوك تحميل القوام.
GltfSaveOptions
خيارات الحفظ لتصدير glTF/GLB. الخصائص الملحوظة: binaryMode (منطقي, true → GLB، الافتراضي false), flipTexCoordV (منطقي، يقلب محور UV العمودي، الافتراضي true). انظر خيارات تحميل وحفظ الصيغة للتفاصيل الكاملة.
GltfFormat
وصف تنسيق كائن مفرد. احصل عليه عبر GltfFormat.getInstance() وامره إلى scene.save() كوسيط ثانٍ.
تنسيق STL
StlImporter
يقرأ ملفات STL بنسق ASCII وbinary إلى Scene تحتوي على عنصر واحد Mesh كيان.
StlExporter
يكتب STL ثنائي. يحتوي الناتج على الشبكة المثلثية من المشهد؛ يتم تحويل الأشكال غير المثلثية إلى مثلثات تلقائيًا.
StlLoadOptions
خيارات التحميل لملف STL. تتحكم فيما إذا كان المستورد يقلب الاتجاهات (normals) أثناء الاستيراد.
StlSaveOptions
خيارات الحفظ لتصدير STL. الخاصية الأساسية: binaryMode (منطقي، الافتراضي false). يتحكم فيما إذا كان الإخراج ASCII أو STL ثنائي. راجع خيارات تحميل وحفظ الصيغة للتفاصيل الكاملة.
StlFormat
وصف التنسيق ككائن مفرد. احصل عليه عبر StlFormat.getInstance().
3MF Format
ThreeMfImporter
يقرأ أرشيفات Open Packaging Convention 3MF ويملأ Scene بكائنات الشبكة، الألوان، وخصائص المواد.
ThreeMfExporter
يكتب أرشيف 3MF صالح من المشهد الحالي. مناسب لتدفقات عمل الطباعة ثلاثية الأبعاد.
ThreeMfLoadOptions
خيارات التحميل لملفات 3MF.
ThreeMfSaveOptions
خيارات الحفظ لتصدير 3MF.
ThreeMfFormat
وصف التنسيق ككائن مفرد. احصل عليه عبر ThreeMfFormat.getInstance().
تنسيق FBX
FbxImporter
يقرأ ملفات FBX الثنائية وASCII بما في ذلك الهندسة، المواد، الهياكل العظمية، أشكال الدمج، ومقاطع الرسوم المتحركة.
FbxExporter
يكتب ملفات FBX من المشهد الحالي. يتم دعم كل من الإخراج الثنائي وASCII لـ FBX حسب الخيارات.
FbxLoadOptions
خيارات التحميل لـ FBX. تتحكم فيما إذا كانت الرسوم المتحركة، الجلود، وأشكال الدمج تُستورد.
FbxSaveOptions
خيارات الحفظ لتصدير FBX. الخاصية الأساسية: embedTextures (منطقي، الافتراضي false) خيارات تحميل وحفظ الصيغة للتفاصيل الكاملة.
FbxFormat
وصف تنسيق المفرد. احصل عبر FbxFormat.getInstance().
تنسيق COLLADA
استيراد وتصدير COLLADA يتطلبان الـ xmldom اعتماد النظير، الذي يتم تثبيته تلقائيًا مع @aspose/3d.
ColladaImporter
يقرأ COLLADA (.dae) ملفات XML باستخدام xmldom. يتعامل مع الهندسة، المواد، الكاميرات، الأضواء، والرسوم المتحركة.
ColladaExporter
يكتب مخرجات XML لـ COLLADA من المشهد الحالي. مناسب للتبادل مع أدوات DCC (Blender، Maya، إلخ).
ColladaFormat
وصف تنسيق المفرد. احصل عبر ColladaFormat.getInstance().
نظام الخصائص
Methods
زوج اسم/قيمة مُعَرَّف بنوع يمكن إرفاقه بأي A3DObject. يدعم أنواع القيم السلمية والمتجهية.
PropertyCollection
حاوية مرتبة من Property الكائنات. يمكن الوصول إليها على أي A3DObject عبر الـ properties المستخرج.
CustomObject
حقيبة خصائص حرة الشكل تُوسِّع A3DObject. تُستخدم لتخزين بيانات وصفية عشوائية لا تتطابق مع فئة قياسية.
معلومات الأصل
AssetInfo
يحمل بيانات وصفية على مستوى المشهد تم تحميلها من ملف المصدر: المؤلف، اسم التطبيق، تاريخ الإنشاء، مقياس الوحدة، ومعلومات محور الإحداثيات.
ImageRenderOptions
خيارات تتحكم في كيفية حل القوام والصور وترميزها عند الحفظ إلى صيغ تُضمّن بيانات الصورة (مثال: GLB مع binaryMode: true).
انظر أيضًا
- قاعدة المعرفة: أدلة إرشادية
- نظرة عامة مفصلة على API
- فئة Scene
- فئة Node
- فئة Mesh
- فئة Transform
- فئة GlobalTransform
- فئة Camera
- فئة Light
- فئة Vector3
- فئة Quaternion
- فئة Matrix4
- فئة BoundingBox
- Material، LambertMaterial، PhongMaterial، PbrMaterial
- خيارات تحميل وحفظ الصيغة
- مرجع Vector2، Vector4
- مرجع Property، PropertyCollection، AssetInfo
- مرجع A3DObject، SceneObject، Entity
- مرجع VertexElement، VertexElementNormal، VertexElementUV
- مرجع التعدادات
- npm: @aspose/3d
- GitHub: aspose-3d-node