Stereolithography
ملف STL يُخزّن هندسة السطح ثلاثية الأبعاد كشبكة من المثلثات — كل مثلث مُعرّف بمتجه عمودي وثلاثة رؤوس في 50 بايت — بدون لون، بدون مادة، بدون وحدات، وبدون بيانات وصفية. اختُرع عام 1987 لأول طابعة ثلاثية الأبعاد تجارية، ولا يزال الصيغة الأوسع دعماً في التصنيع الإضافي.
التحويل غير متاح حالياً. معالجة شبكات STL تتطلب مكتبات هندسة ثلاثية الأبعاد لم تُدمج بعد في بيئة المتصفح.
أسئلة شائعة
ما هو ملف STL وما استخدامه؟
ملف STL يُخزّن هندسة سطح كائنات ثلاثية الأبعاد كشبكات مثلثات. وهو صيغة الإدخال المعيارية للطابعات ثلاثية الأبعاد، يستخدمها كل تطبيق تقطيع لتوليد تعليمات مسار الأداة التي تُشغّل الطابعة. تُستخدم ملفات STL أيضاً في النمذجة السريعة وتبادل التصميم بمساعدة الحاسوب والتصور ثلاثي الأبعاد عبر الهندسة والتصنيع.
ما الفرق بين STL و3MF؟
3MF هو الخَلَف الحديث لـ STL، يدعم اللون والنسيج والمواد وإعدادات الطباعة وعدة كائنات في ملف واحد. STL يُخزّن فقط هندسة المثلثات العارية بدون أي بيانات وصفية. أُنشئت 3MF عام 2015 من قبل اتحاد يشمل 3D Systems — الشركة التي ابتكرت STL.
لماذا تبدو طبعتي ثلاثية الأبعاد مُوجّهة أو خشنة؟
STL يُقرّب جميع الأسطح المنحنية باستخدام مثلثات مسطحة في عملية تُسمّى التقريب المُضلّعي (tessellation). تقريب مُنخفض الدقة يُنتج أوجهاً مسطحة مرئية على المنحنيات والكرات. زِد جودة التقريب أو قلّل إعداد انحراف الوتر عند التصدير من برنامج CAD لإنتاج شبكة أكثر نعومة.
هل يحتوي ملف STL على وحدات مثل المليمترات أو البوصات؟
لا. ملفات STL تُخزّن إحداثيات بلا أبعاد بدون إعلان وحدة. نفس الملف قد يُمثّل مليمترات أو بوصات أو أمتار حسب البرنامج المصدر. يجب معرفة الوحدة المقصودة وضبط برنامج التقطيع أو العارض وفقاً لذلك لتجنب أخطاء القياس.
ما الفرق بين STL النصية والثنائية؟
STL النصية (ASCII) تستخدم كلمات مفتاحية مقروءة وأرقام نصية. STL الثنائية تضغط كل مثلث في 50 بايت بالضبط من أعداد IEEE 754 العائمة. الثنائية أصغر بنحو خمس مرات وتُحمّل أسرع. نحو 95 بالمئة من ملفات STL المتداولة ثنائية.
كيف أُصلح شبكة STL معطلة أو غير مُتنوعة؟
استخدم أداة إصلاح شبكات مُتخصصة مثل Meshmixer أو MeshLab أو Netfabb لكشف وإصلاح الحواف غير المُتنوعة والمتجهات العمودية المعكوسة والثقوب والمثلثات المنحطة. معظم تطبيقات التقطيع الحديثة تتضمن أيضاً إجراءات إصلاح مُدمجة تحاول الإصلاح التلقائي أثناء استيراد الملف.
هل تستطيع ملفات STL تخزين معلومات اللون أو النسيج؟
لا. مواصفة STL لا توفر آلية لبيانات اللون أو النسيج أو المادة. بعض الأدوات تُعيد استخدام حقل السمة ذي البايتين للون لكل مثلث، لكن هذا غير معياري وغير مدعوم على نطاق واسع. للطبعات ثلاثية الأبعاد الملوّنة، استخدم 3MF أو OBJ مع ملفات مواد بدلاً من ذلك.
ما يميز .STL
تشاك هَل وولادة التصوير التجسيمي
اخترع تشارلز و. هَل (Charles W. Hull) التصوير التجسيمي (Stereolithography) عام 1983 — تقنية تستخدم ليزر فوق بنفسجي لتصليب راتنج بوليمر ضوئي سائل طبقة فطبقة، لبناء جسم صلب من نموذج رقمي. قدّم هَل طلب براءة اختراعه (US4575330A) عام 1984 وحصل عليها في 11 مارس 1986. شارك في تأسيس شركة 3D Systems عام 1986 لتسويق التقنية تجارياً. أول طابعة ثلاثية الأبعاد تجارية، SLA-1، شُحنت عام 1987.
اكتشف التفاصيل التقنية
احتاجت SLA-1 صيغة ملف لوصف الهندسة التي ستطبعها. تعاقدت 3D Systems مع مجموعة Albert Consulting Group لتصميم واحدة. النتيجة كانت STL — صيغة بسيطة بما يكفي ليعالجها عتاد 1987 بدون صعوبة. الاسم كان يعني أصلاً "STereoLithography"، رغم أنه يُوسّع أحياناً بأثر رجعي إلى "Standard Tessellation Language" أو "Standard Triangle Language".
أُدخل هَل في قاعة مشاهير المخترعين الوطنية تقديراً لعمله في التصوير التجسيمي. الصيغة التي كلّف بتصميمها عاشت أطول من كل قطعة عتاد من تلك الحقبة.
لا مواصفة رسمية منشورة
لم تُنشر مواصفة رسمية لـ STL علنياً قط. مكتبة الكونغرس الأمريكية تُلاحظ أن "المُجمّعين لم يتمكنوا من تحديد نسخة من المواصفة الأصلية من 3D Systems". الصيغة مُعرّفة بالكامل بالاصطلاح الفعلي والتطبيقات المرجعية. المرجع التقني الأكثر استشهاداً هو صفحة fabbers.com التي تصف تخطيطي ASCII والثنائي.
نسختا ASCII والثنائية
STL موجودة بشكلين. النسخة النصية (ASCII) قابلة للقراءة البشرية، تبدأ بكلمة solid متبوعة باسم اختياري، وتنتهي بـ endsolid. كل مثلث يُوصف بسطر facet normal (متجه السطح العمودي)، وكتلة outer loop تحتوي ثلاثة أسطر vertex (أركان المثلث)، وإغلاق endloop وendfacet. القيم الرقمية بصيغة عشرية عائمة.
النسخة الثنائية مضغوطة ومهيمنة — نحو 95% من ملفات STL المتداولة ثنائية. تبدأ بترويسة 80 بايت حرة (غالباً تحتوي اسم البرنامج المُصدّر أو تُترك فارغة)، يليها عدد المثلثات 4 بايت uint32 بترتيب little-endian. بعد ذلك، كل مثلث يحتل 50 بايت بالضبط.
تشريح المثلث الثنائي: 50 بايت
كل مثلث في ملف STL ثنائي يحتل 50 بايت بالضبط بتخطيط ثابت. أول 12 بايت تُرمّز متجه السطح العمودي كثلاثة أعداد IEEE 754 بدقة مفردة (nx، ny، nz) بترتيب little-endian. الـ 36 بايت التالية تُرمّز ثلاثة رؤوس، كل منها بثلاثة أعداد عائمة (x، y، z) — الرأس 1، الرأس 2، الرأس 3. آخر 2 بايت هي حقل "عدد بايتات السمة"، uint16 يكون عادةً صفراً.
هذه البنية ذات الـ 50 بايت هي الوحدة الأساسية للصيغة. حجم الملف الثنائي الإجمالي دائماً بالضبط 80 (ترويسة) + 4 (عدد المثلثات) + N × 50 (مثلثات) بايت. هذه المعادلة الحتمية للحجم هي الطريقة الأساسية لتعريف ملفات STL الثنائية، إذ أن الصيغة لا تملك بايتات سحرية. سجل PRONOM لـ STL الثنائية (fmt/865) يُصرّح صراحةً بأنه لا يمكن إنشاء توقيع تعريف تحت نموذج تعريفهم.
حقل عدد بايتات السمة كان مُعدّاً لتوسعات مستقبلية لكنه لم يُحدد رسمياً قط. بعض الأدوات تُعيد استخدامه لبيانات لون لكل مثلث (VisCAM وSolidView يستخدمانه لترميز قيم RGB)، لكن هذا الاستخدام غير معياري ويكسر التوافقية.
مشكلة غياب الوحدات
ملفات STL لا تحتوي تحديداً لوحدات القياس. إحداثيات الرؤوس أعداد عائمة بلا أبعاد. نفس الملف قد يُمثّل جسماً مقاساً بالمليمترات أو البوصات أو الأمتار أو أي وحدة أخرى — لا توجد طريقة لتحديد المقياس المقصود من الملف وحده.
هذا هو المصدر الأول والأكثر شيوعاً لفشل الطباعة ثلاثية الأبعاد للمبتدئين. مستخدم يُصمم قطعة 50 مم في أداة CAD تُصدّر الإحداثيات بالمليمترات. برنامج التقطيع يفترض البوصات. الطبعة تخرج أكبر 25.4 مرة، أو يُبلغ البرنامج أن الجسم بحجم 50 بوصة يتجاوز سرير الطباعة. الإصلاح يتطلب معرفة المستخدم لوحدة المصدر وتطبيق قياس يدوي — معلومات كان يمكن تضمينها في الملف لكنها لم تكن جزءاً من المواصفة.
لا لون، لا مادة، لا بيانات وصفية
STL يُخزّن هندسة صرفة: أسطح مُثلّثة ولا شيء آخر. لا آلية للون أو إحداثيات النسيج أو خصائص المادة أو أسماء الأجزاء أو بيانات المؤلف الوصفية أو معلومات الإصدار أو وحدات القياس. تجميع معقد يجب دمجه في "حساء مثلثات" واحد أو تقسيمه إلى ملفات STL منفصلة مع اصطلاحات تسمية لتعريف الأجزاء.
هذا القيد كان مقبولاً عام 1987 حين كانت SLA-1 تطبع بمادة واحدة (راتنج مُعالج بالأشعة فوق البنفسجية) بدون قدرة لون. طابعات ثلاثية الأبعاد حديثة متعددة المواد وكاملة الألوان لا تستطيع استخدام STL لوصف مخرجاتها. الصيغة التي أطلقت التصنيع الإضافي أصبحت عائقاً أمام تقدّمه.
التقريب المُضلّعي والمفاضلة بين الدقة والحجم
STL يُقرّب الأسطح المنحنية باستخدام مثلثات مسطحة — عملية تُسمّى التقريب المُضلّعي (tessellation). كرة مثالية تصبح متعدد وجوه؛ أسطوانة ملساء تصبح موشور مُوجّه. دقة هذا التقريب تعتمد كلياً على عدد المثلثات المُستخدمة.
تقريب مُنخفض الدقة يُنتج أوجهاً مسطحة مرئية على الأسطح المنحنية — المظهر "الخشن" أو "المُوجّه" المميز الذي ينتقده نقاد STL. تقريب عالي الدقة يُقلّل الأوجه المرئية لكنه يُولّد ملفات ضخمة. قطعة ميكانيكية متوسطة التفصيل قد تحتوي 100,000 مثلث. نموذج نحتي عضوي قد يتجاوز 10 ملايين. بما أن كل مثلث يحتل 50 بايت في النسخة الثنائية، شبكة 10 ملايين مثلث تُنتج ملفاً بحجم 500 ميغابايت.
إصلاح الشبكات: معالجة العيوب الهندسية
ملفات STL الواقعية تحتوي عيوباً هندسية متكررة تمنع الطباعة الناجحة. العيوب الشائعة تشمل حواف غير مُتنوعة (non-manifold) حيث يشترك أكثر من مثلثين في حافة، ومتجهات عمودية معكوسة (مثلثات تتجه للداخل بدلاً من الخارج)، وفجوات أو ثقوب في السطح، وهندسة متقاطعة ذاتياً، ومثلثات منحطة (مساحة صفرية حيث الرؤوس الثلاثة على خط واحد).
هذه الأخطاء تنشأ من خوارزميات التقريب المُضلّعي وعمليات Boolean في برامج CAD وغياب المعلومات الطوبولوجية في صيغة STL. بما أن STL يُخزّن كل مثلث مستقلاً بدون بيانات تجاور، الرؤوس المشتركة بين مثلثات مُكررة — نفس الإحداثية تظهر مرات عديدة بدون ربط صريح بينها. أدوات إصلاح الشبكات يجب أن تُعيد بناء الطوبولوجيا من الإحداثيات الخام، وتُحدد الأخطاء وتُصلحها، وتُعيد تصدير شبكة محكمة.
MeshLab وMeshmixer وNetfabb وadmesh أدوات متخصصة لإصلاح الشبكات. PrusaSlicer وCura تتضمنان إجراءات إصلاح مُدمجة تحاول إصلاح الأخطاء الشائعة أثناء عملية التقطيع.
خط أنابيب التقطيع: من STL إلى G-code إلى الطابعة
ملفات STL لا تُشغّل الطابعات ثلاثية الأبعاد مباشرةً. خط أنابيب الطباعة يمر بثلاث مراحل. أولاً، تطبيق CAD أو ماسح ثلاثي الأبعاد يُنتج النموذج الرقمي. ثانياً، يُصدّر النموذج كـ STL (مع تقريب أي أسطح منحنية إلى مثلثات). ثالثاً، تطبيق التقطيع يقرأ STL ويُقاطع شبكة المثلثات مع سلسلة من المستويات الأفقية عند ارتفاع الطبقة المُعيّن، ويُولّد مسارات أدوات لكل طبقة (أنماط الملء والمحيطات وهياكل الدعم)، ويُخرج G-code — لغة تعليمات الآلة التي تتحكم في محركات الطابعة والسخان والمُقذف.
برنامج التقطيع هو حيث تعيش إعدادات الطباعة: ارتفاع الطبقة وسرعة الطباعة والحرارة وكثافة الملء ومادة الدعم والتصاق السرير. لا شيء من هذه المعلومات موجود في ملف STL.
3MF: الخَلَف المُقصود
في 2015، أصدر اتحاد 3MF صيغة التصنيع ثلاثي الأبعاد (3MF) كبديل مُصمم خصيصاً لـ STL. أعضاء الاتحاد المؤسسون شملوا Microsoft وHP وShapeways وAutodesk وDassault Systemes و— الجدير بالملاحظة — 3D Systems نفسها، الشركة التي أنشأت STL. بانضمامها للاتحاد، أقرّت 3D Systems فعلياً بأن صيغتها من عام 1987 لم تعد كافية.
3MF حزمة قائمة على ZIP تحتوي ملفات XML تصف الهندسة واللون والمادة والنسيج وإعدادات الطباعة والبيانات الوصفية. تدعم عدة كائنات في ملف واحد ولون لكل مثلث وهياكل شبكية وتوقيعات رقمية. المواصفة تُصان كمعيار مفتوح.
الاعتماد يتنامى — PrusaSlicer وCura وBambu Studio وWindows 3D Builder جميعها تدعم 3MF — لكن قاعدة STL المُثبتة ضخمة. Thingiverse وPrintables ومستودعات النماذج الأخرى لا تزال تستضيف ملفات STL بشكل غالب.
السياق السعودي والتصنيع الإضافي
المملكة العربية السعودية تستثمر بكثافة في التصنيع الإضافي كجزء من أجندة التنويع الاقتصادي لرؤية 2030.
NAMI (الشركة الوطنية للتصنيع الإضافي والابتكار): مشروع مشترك بين 3D Systems وDussur (المدعومة من صندوق الاستثمارات العامة وأرامكو وسابك). مقرها الرياض، تؤهل قطعاً مطبوعة ثلاثياً لقطاع النفط والغاز مع تدقيقات DNV GL.
أرامكو: أعلنت شراكات استراتيجية مع مزودي طباعة معدنية ثلاثية الأبعاد لإنشاء مرافق تصنيع متقدمة في المنطقة الشرقية. استخدمت JGC Holdings طابعة COBOD ثلاثية الأبعاد في منشأة نفطية بالزلوف.
نيوم: أعلنت مركز تصنيع إضافي معدني متطور بتقنيات صهر طبقة المسحوق مُدمجة بالذكاء الاصطناعي.
جامعة الملك فهد للبترول والمعادن: مختبرات أبحاث طباعة ثلاثية الأبعاد نشطة. جامعة الملك سعود وكاوست وجامعة الأميرة نورة جميعها تملك مساحات صانعين تعتمد على سير عمل STL.
لا يوجد محتوى عربي تعليمي تقني عن صيغة STL على الإنترنت — هذا المرجع هو الأول من نوعه.
مقارنة .STL مع البدائل
| المقارنة | المعيار | الفائز |
|---|---|---|
| .STL vs .3MF | Feature richness 3MF يدعم اللون والنسيج والمواد وإعدادات الطباعة وعدة كائنات والبيانات الوصفية في حزمة ZIP واحدة. STL يُخزّن هندسة المثلثات فقط بدون لون ولا مادة ولا وحدات ولا أي بيانات وصفية. | 3MF أفضل |
| .STL vs .3MF | Universal support كل طابعة ثلاثية الأبعاد وبرنامج تقطيع وأداة CAD ومستودع نماذج يدعم STL. دعم 3MF يتنامى لكنه ليس عالمياً بعد — بعض برامج التقطيع القديمة وأدوات CAD المتخصصة لا تزال تفتقر لاستيراد 3MF. | STL أفضل |
| .STL vs .OBJ | Texture and material support OBJ يدعم إحداثيات النسيج ومكتبات المواد (ملفات .mtl) وألوان الرؤوس. STL لا يملك آلية لأي سمة بصرية تتجاوز الهندسة الخام — كل سطح بلا لون وبلا نسيج. | OBJ أفضل |
| .STL vs .OBJ | 3D printing ecosystem STL هو الصيغة الأصلية لخط أنابيب الطباعة ثلاثية الأبعاد — كل برنامج تقطيع يقبلها مباشرةً. OBJ يُستخدم أساساً في رسوميات الحاسوب والرسوم المتحركة وتطوير الألعاب بدلاً من التصنيع الإضافي. | STL أفضل |
| .STL vs .STEP | Geometric precision STEP يُخزّن تعريفات سطح رياضية دقيقة (NURBS وB-splines) بدقة لا نهائية. STL يُقرّب جميع الأسطح بمثلثات مسطحة، فاقداً معلومات الانحناء ومُضيفاً أوجهاً مرئية. | STEP أفضل |
| .STL vs .STEP | Simplicity and parsing speed بنية المثلث ذات الـ 50 بايت الثابتة في STL سهلة التحليل في أي لغة برمجة. STEP معيار ISO 10303 معقد مع مراجع كيانات متداخلة، يتطلب محللاً كاملاً لاستخراج الهندسة. | STL أفضل |
المرجع التقني
- نوع MIME
model/stl- المطوّر
- 3D Systems
- سنة التقديم
- 1987
- معيار مفتوح
- نعم
البنية الثنائية
STL الثنائية تبدأ بترويسة 80 بايت نص حر (غالباً فارغة أو تحتوي اسم البرنامج المُصدّر)، يليها uint32 بترتيب little-endian بحجم 4 بايت يُعلن عدد المثلثات الإجمالي. كل مثلث يحتل 50 بايت بالضبط: 12 بايت لمتجه السطح العمودي (3 × float32)، و36 بايت لثلاثة رؤوس (9 × float32)، و2 بايت لعدد بايتات السمة (uint16، عادةً صفر). حجم الملف الإجمالي حتمياً 80 + 4 + (N × 50) بايت. STL النصية تبدأ بـ 'solid [name]' وتنتهي بـ 'endsolid [name]'، مع كل مثلث موصوف بكلمات facet/vertex/endloop/endfacet. STL الثنائية لا تملك بايتات سحرية — PRONOM لا يستطيع إنشاء توقيع تعريف لها. معادلة حجم الملف هي الاستدلال الأساسي للتعريف. STL النصية تبدأ بـ 'solid' (hex 73 6F 6C 69 64) لكن بعض الملفات الثنائية تبدأ أيضاً بـ 'solid' في نص ترويستها، مما يُسبب خطأ تعريف.
| Offset | Length | Field | Example | Description |
|---|---|---|---|---|
0x00 | 80 بايت | الترويسة | (متغير) | نص حر، غالباً فارغ أو اسم البرنامج |
0x50 | 4 بايت | عدد المثلثات | 01 00 00 00 | uint32 LE — إجمالي المثلثات في الشبكة |
0x54 | 12 بايت | المتجه العمودي | 00 00 00 00 00 00 00 00 00 00 80 3F | 3x float32 — متجه السطح العمودي للمثلث (nx، ny، nz) |
0x60 | 12 بايت | الرأس 1 | 00 00 80 3F 00 00 00 00 00 00 00 00 | 3x float32 — الرأس الأول (x، y، z) |
0x6C | 12 بايت | الرأس 2 | ... | 3x float32 — الرأس الثاني |
0x78 | 12 بايت | الرأس 3 | ... | 3x float32 — الرأس الثالث |
0x84 | 2 بايت | عدد بايتات السمة | 00 00 | عادةً صفر؛ بعض الأدوات تُخزّن اللون هنا |
التحويل غير متاح حالياً. معالجة شبكات STL تتطلب مكتبات هندسة ثلاثية الأبعاد لم تُدمج بعد في بيئة المتصفح.
نقاط الضعف
- فيض عدد المثلثات المشوّه
- استنزاف الذاكرة بشبكة ضخمة
الحماية: FileDex لا يُحلل ولا يعرض بيانات شبكات STL. هذه صفحة مرجعية توفر توثيقاً للصيغة. محللات STL يجب أن تتحقق من عدد المثلثات المُعلن مقابل حجم الملف الفعلي (المتوقع = 80 + 4 + N × 50) قبل تخصيص الذاكرة.
- مواصفات The StL Format — fabbers.com (de facto specification reference)
- سجل STL (STereoLithography) File Format Family — Library of Congress Format Description (fdd000504)
- سجل STL Binary (fmt/865) — The National Archives PRONOM Registry
- سجل IANA Media Type: model/stl
- تاريخ Chuck Hull — National Inventors Hall of Fame
- تاريخ STL (file format) — Wikipedia