شكل الدعم

يمكن لـ Aspose.3D FOSS for Python قراءة وكتابة سبعة تنسيقات 3D باستخدام تمثيل مشهد واحد في الذاكرة. Scene يمكن حفظ المشهد الذي يتم تحميله من OBJ مباشرة إلى glTF دون أي خطوات التحويل المتوسطة.


تنسيقات مدعومة

شكلالتمديدقراءةكتبخيارات الفئةملاحظات
OBJ.objنعمنعمObjLoadOptionsجبهة الموجة OBJ؛; .mtl المواد المعدنية مدعومة
STL.stlنعمنعمStlSaveOptionsقراءة البناني و ASCII؛ حفظ الافتراضات إلى البنك المركزي
GLTF.gltf / .glbنعمنعمGltfSaveOptionsGLTF 2.0 JSON و GLB حاوية ثنائية
COLLADA.daeنعمنعمColladaLoadOptions / ColladaSaveOptionsالهرم والمواد
3MF.3mfنعمنعمThreeMfSaveOptionsتنسيق التصنيع الإضافي
FBX.fbxالجزءلاN/Aيُعد التداول في المتاجر (المتداول كاملة)لا تنتج جاهزة)

إعداد OBJ

Wavefront OBJ هو شكل التبادل الأكثر دعمًا للمساحات الثابتة. Aspose.3D FOSS يحمل الهندسة الجيومترية (المتحولات ، العادية ، إحداثيات الأشعة فوق البنفسجية ، وجوه متعددة) وبديلً .mtl المواد الملفات .

ObjLoadOptions

الممتلكاتنوعالافتراضيةوصف
enable_materialsboolTrueشارك في .mtl الملفات التي يشير إليها عنوان OBJ
flip_coordinate_systemboolFalseتحويل من Y-up اليد اليمنى إلى Z-Up اليمين
normalize_normalboolTrue- تقويم جميع المعايير السطحية المستوردة إلى طول وحدة.
scalefloat1.0عامل مقياس موحد ينطبق على جميع مواقف الوركست

تحميل ملف OBJ

from aspose.threed import Scene
from aspose.threed.formats import ObjLoadOptions

options = ObjLoadOptions()
options.enable_materials = True
options.flip_coordinate_system = False
options.scale = 1.0

scene = Scene()
scene.open("model.obj", options)

print(f"Top-level nodes: {len(scene.root_node.child_nodes)}")

الادخار إلى OBJ

scene.save("output.obj")

OBJ export يكتب مواقع الورق والوجهات البوليفون.إذا كانت المشهد يحتوي على LambertMaterial أو PhongMaterial الكتب المكتبية، يكتب رفيق .mtl الملفات تلقائياً.


إلغاء format

STL (STereoLithography) تخزين المقاييس الثلاثية كقائمة غير مؤشر من الجوانب.يتم دعم كل من الخيارات الثنائية و ASCII للقراءة؛ يضع مكتبة الافتراضات إلى الخيار الثانوي على الادخار.

StlSaveOptions

StlSaveOptions لا يوجد مكونات إلزامية، فمن الأفضل أن تصل إلى scene.save():

from aspose.threed.formats import StlSaveOptions

opts = StlSaveOptions()
scene.save("output.stl", opts)

مثال جولة

from aspose.threed import Scene

##Load
scene = Scene.from_file("model.stl")

##Inspect
for node in scene.root_node.child_nodes:
    if node.entity:
        print(f"{node.name}: {len(node.entity.control_points)} vertices")

##Save
scene.save("roundtrip.stl")

STL تخزين فقط الهندسة المثلث، مع لا عادات تتجاوز الجانب الطبيعي، لا إحداثيات الأشعة فوق البنفسجية، ولا مواد، وليس هناك الهرم.إذا كان المشهد يحتوي على الكوات أو الأوامر العليا من البوليغونات، يتم تثريها تلقائيا على التخزينة.


تنسيق GLB / GLTF

يُعد فكرة (الخريطة) من نوع 3D، ويحتفظ بالرسوم البيانية الكاملة (هيراخي العقدي، وسميت العوامل، وتحويلات)، والمواد (LambertMaterial, PhongMaterial → PBR التحويل) ، و الرسوم المتحركة. GLB هو واحد ملف ثنائي حاوية الخيار.

GltfSaveOptions

from aspose.threed.formats import GltfSaveOptions

opts = GltfSaveOptions()
scene.save("output.gltf", opts)   # JSON + external .bin
scene.save("output.glb",  opts)   # Self-contained binary

المواد الدعم

المواد Aspose.3D FOSS يتم خرائطها إلى glTF pbrMetallicRoughness على الصادرات :

from aspose.threed import Scene
from aspose.threed.shading import PhongMaterial
from aspose.threed.utilities import Vector3

scene = Scene()
node = scene.root_node.create_child_node("object")

mat = PhongMaterial()
mat.diffuse_color  = Vector3(0.8, 0.2, 0.2)   # red
mat.specular_color = Vector3(1.0, 1.0, 1.0)
mat.shininess = 50.0
node.material = mat

scene.save("colored.gltf")

التحقق من إنتاج GLTF

import json

with open("output.gltf") as f:
    data = json.load(f)

print(f"Asset version : {data['asset']['version']}")
print(f"Nodes         : {len(data.get('nodes', []))}")
print(f"Meshes        : {len(data.get('meshes', []))}")

شكل كولادا

COLLADA (.dae) هو تنسيق على أساس XML يدعم الهرمات المسرحية والمواد والعديد من قنوات الأشعة فوق البنفسجية والرسوم المتحركة العظام. Aspose.3D FOSS يقرأ ويكتب الكامل شجرة النود ومواصفات المادة.

from aspose.threed import Scene

##Load a COLLADA file
scene = Scene.from_file("model.dae")

##Inspect top-level nodes
for node in scene.root_node.child_nodes:
    print(f"  {node.name}")

##Save back to COLLADA
scene.save("output.dae")

COLLADA هو خيار جيد عندما تحتاج إلى إجراء سلسلة من الأقواس مع العقد المسمى والمواد دون أي خسارة البيانات.


3MF Format

3MF (3D Manufacturing Format) targets additive manufacturing (3D printing) workflows. It stores triangle geometry, colour, and print-specific metadata in a ZIP-based container.

from aspose.threed import Scene
from aspose.threed.formats import ThreeMfSaveOptions

scene = Scene.from_file("part.stl")   # Load from STL
opts  = ThreeMfSaveOptions()
scene.save("part.3mf", opts)          # Write as 3MF

3MF is the recommended export format when targeting slicer software (Cura, PrusaSlicer, Bambu Studio, etc.).


إصدار FBX

حالة: في التقدم (لا إعداد للإنتاج).

FBX (.fbx) الدعم في Aspose.3D FOSS هو حاليا في مرحلة التوكينيز. يمكن لتوكينيزر FBX الثنائية أن يقطع بنية الملفات، ولكن النقاط الكاملة والخشب والمواد الوسائط قد عرف الأخطاء وليس كاملا.

لا تستخدم FBX في أنابيب الإنتاج مع هذا الإصدار. إذا كانت بيانات المصدر الخاصة بك في FBX، تحويلها إلى glTF أو OBJ أولا باستخدام Blender أو FBx مراجعة قبل تحميل مع Aspose.3D FOSS.

لا يتم دعم FBX الكتابة.


شكل التعرف الذاتي

Scene.from_file() و scene.open() اكتشاف النموذج تلقائيًا باستخدام امتداد الملف، وإذا كان ذلك متاحًّا، فإن البيتات السحرية في عنوان المجلد:

from aspose.threed import Scene

##The library detects each format without being told explicitly
scene_obj  = Scene.from_file("model.obj")
scene_glb  = Scene.from_file("model.glb")
scene_stl  = Scene.from_file("model.stl")
scene_dae  = Scene.from_file("model.dae")
scene_3mf  = Scene.from_file("model.3mf")

إذا كان التمديد غائباً أو مضللاً، فإن المكتبة تعود إلى فحص العناوين (البيتات السحرية). IOError مع رسالة وصفية.


نصائح وأفضل الممارسات

  • استخدم GLTF أو GLB للأنابيب الحديثة. يحافظ glTF على الرسم البياني الكامل للمشهد والمواد والبيانات الرسوم المتحركة.وهذا هو النموذج الأكثر اكتمالا للتبادل مع محركات اللعبة ومشاهدة الويب.
  • استخدم OBJ للحصول على أقصى قدر من التوافق. يدعم OBJ تقريبا كل أداة 3D. انها محدودة إلى الماسات الثابتة ولكنها قابلة للتحميل بشكل كبير.
  • استخدم 3MF للطباعة. 3MF carries colour, orientation hints, and print settings that STL cannot express.
  • تجنب FBX حتى تكون جاهزة للإنتاج. تحقق من ملاحظات الإصدار للنسخة التي يتم فيها إكمال التلخيص الكامل لـ FBX.
  • يُحفظ المباراة التمديد إلى النموذج. لا تذهب إلى A .gltf التمديد عند رغبتك في GLB الثنائي؛ استخدام .glb يحدد التمديد الذي يتم استخدامه.
  • تحقق من متوافقية البوليغون. STL و 3MF يتطلب المثلثات. يتم تريغولا الكوادر و N-gons تلقائيا على التخزين، ولكن العد العمودي سوف ترتفع. mesh.triangulate() قبل أن ينقذ.
 العربية