مقدمة
نحن نطلق Aspose.3D FOSS لـ Python,، مكتبة pure-Python لقراءة وكتابة وتحويل صيغ ملفات 3D الشائعة. المكتبة منشورة على PyPI باسم aspose-3d-foss,، تحمل رخصة MIT، ولا تعتمد على أي مكتبات خارجية.
إذا احتجت يومًا إلى فحص أو تحويل ملفات ثلاثية الأبعاد برمجيًا (استخراج عدد رؤوس الشبكة، تمرير هندسة OBJ إلى سكريبت معالجة، أو تحويل مجموعة من ملفات STL إلى glTF لعرضها على الويب)، فهذه المكتبة مصممة لهذا الغرض. لا تحتاج إلى برنامج تشغيل رسومي، ولا إلى وحدة امتداد أصلية، ولا إلى أي اتصال سحابي.
ما الذي يتضمنه
الرسم البياني الأساسي للمشهد
كل ملف يُحمَّل في Scene كائن يعكس تسلسل العقد الأصلي للملف. العقد تحمل Transform (الترجمة، الدوران، المقياس) وواحدة أو أكثر من الكيانات المرفقة مثل Mesh, Camera,، أو Light. مخطط المشهد هو نفسه بغض النظر عن صيغة المصدر، لذا فإن الشيفرة المكتوبة لتجوال ومعالجة الهندسة تعمل عبر جميع الصيغ المدعومة دون تعديل.
الوصول إلى الهندسة
Mesh الكائنات تعرض:
control_points: قائمة مواضع الرؤوس كـVector4(x, y, z, w)polygons: قائمة قوائم فهارس الوجوه (عدد أضلاع متعدد، ليس فقط مثلثات)get_element(VertexElementType): يسترجع طبقات بيانات الرؤوس المسماة للمتجهات العمودية، إحداثيات UV، ألوان الرؤوس، ومجموعات التنعيم
المواد
LambertMaterial و PhongMaterial تحمل خصائص المادة المقروءة من ملفات OBJ .mtl الملفات (البيئة، الانتشار، الانعكاس، الانبعاث، الشفافية، اللمعان). تبقى المواد صالحة عبر عملية التحميل والحفظ للأنساق التي تدعمها.
أدوات الرياضيات
Vector2, Vector3, Vector4, FVector3, Quaternion, Matrix4, و BoundingBox مُدرجة كأنواع قيمة خفيفة الوزن لحسابات الهندسة.
التحريك
ال AnimationClip, AnimationNode, KeyframeSequence,، و KeyFrame توفر الفئات إمكانية الوصول إلى بيانات الرسوم المتحركة ذات الإطارات المفتاحية من الصيغ التي تحملها، مثل glTF و COLLADA.
البدء السريع
pip install aspose-3d-foss
حمّل ملفًا ثلاثي الأبعاد واطبع عدد الرؤوس في كل شبكة:
from aspose.threed import Scene
from aspose.threed.entities import Mesh
scene = Scene.from_file("model.obj")
def visit(node):
for entity in node.entities:
if isinstance(entity, Mesh):
print(f"{node.name}: {len(entity.control_points)} vertices, "
f"{len(entity.polygons)} polygons")
for child in node.child_nodes:
visit(child)
visit(scene.root_node)
حوّل نفس الملف إلى glTF:
from aspose.threed import Scene
from aspose.threed.formats import GltfSaveOptions
scene = Scene.from_file("model.obj")
scene.save("model.gltf", GltfSaveOptions())
هذا هو البرنامج الكامل. لا ملفات تكوين، لا مفاتيح API، لا استدعاءات شبكة.
الصيغ المدعومة
| الصيغة | Extension(s) | تحميل | حفظ | ملاحظات |
|---|---|---|---|---|
| Wavefront OBJ | .obj | نعم | نعم | .mtl دعم تحميل المواد |
| STL | .stl | نعم | نعم | ثنائي و ASCII؛ خيار عكس نظام الإحداثيات |
| glTF 2.0 | .gltf, .glb | نعم | نعم | دعم GLB (ثنائي مستقل) |
| COLLADA | .dae | نعم | نعم | ColladaSaveOptions متاح مع flip_coordinate_system, enable_materials, indented |
| 3MF | .3mf | نعم | نعم | مناسب لتدفقات عمل الطباعة ثلاثية الأبعاد |
| FBX | .fbx | جزئي | N/A | مجرد محلل رموز؛ محلل كامل قيد التطوير |
اكتشاف الصيغة يتم تلقائيًا من امتداد الملف. خيارات التحميل والحفظ الخاصة بالصيغ (ObjLoadOptions, StlSaveOptions, GltfSaveOptions, ThreeMfSaveOptions) متاحة للتحكم الدقيق.
مفتوح المصدر ومجاني
المكتبة مرخصة تحت رخصة MIT. يمكنك استخدامها في التطبيقات التجارية، تعديلها، وإعادة توزيعها دون أي قيود. الشيفرة المصدرية متاحة على GitHub تحت منظمة Aspose.
لا توجد مستويات استخدام، ولا حدود للرموز، ولا تتبع. تقوم المكتبة بتنفيذ جميع المعالجة محليًا.
الاعتمادات: لا شيء. الحزمة تُثبت كعجلة pure-Python دون امتدادات C ولا متطلبات تشغيل من طرف ثالث.
البدء
- تثبيت:
pip install aspose-3d-foss - كيفية: تحميل الملفات: كيفية تحميل نماذج ثلاثية الأبعاد في Python
- كيفية: تحويل الملفات: كيفية تحويل نماذج ثلاثية الأبعاد في Python
- مرجع API: Aspose.3D FOSS لـ Python مرجع API
- PyPI: aspose-3d-foss على PyPI
الخاتمة
Aspose.3D FOSS for Python 26.1.0 يغطي أكثر صيغ الملفات ثلاثية الأبعاد شيوعًا المستخدمة في الأدوات، خطوط الأنابيب، وتطبيقات الويب (OBJ, STL, glTF, COLLADA, و 3MF) مع API Python متسق وبدون أي عوائق في التثبيت. إذا صادفت خطأً، حالة حافة غير مدعومة، أو صيغة تحتاج إلى إضافتها، يرجى فتح مشكلة على GitHub. نحن نقوم بصيانة المكتبة بنشاط ونرحب بالمساهمات.