STL
STL هو صيغة ملفات أصلية لبرامج التصميم بمساعدة الحاسوب (CAD) الخاصة بالطباعة المجسمة ستيريوليثغرافي التي ابتكرتها شركة (3 دي سيستمز). ويذكر تشاك هال، مخترع الطباعة المجسمة ومؤسس شركة (3 دي سيستمز)، أن امتداد الملف هو اختصار لكلمة (stereolithography)، على الرغم من أنه يُشار إليه أيضاً باسم "لغة المثلثات القياسية" (بالإنجليزية: standard triangle language) أو "لغة الفسيفساء القياسية" (بالإنجليزية: standard tessellation language). يصف ملف STL سطحاً مثالثة خاماً وغير منظم عبر المتجه متجه وحدة ورؤوس المثلثات (المرتبة وفق قاعدة اليد اليمنى ) باستخدام نظام نظام إحداثيات ديكارتية ثلاثي الأبعاد. وكانت المواصفات الأصلية تفرض أن تكون جميع إحداثيات STL أرقاماً موجبة، إلا أن هذا القيد لم يعد مفروضاً، وأصبح من الشائع العثور على إحداثيات سالبة في ملفات STL اليوم. ولا تحتوي ملفات STL على معلومات حول المقياس (scale)، وتعتبر الوحدات فيها عشوائية. وتصف ملفات STL هندسة السطح فقط لجسم ثلاثي الأبعاد دون أي تمثيل للون أو الملمس أو سمات نموذج (CAD) الشائعة الأخرى. ويحدد تنسيق STL كلاً من تمثيلات أسكي وملف ثنائي. وتُعد الملفات الثنائية أكثر شيوعاً نظراً لكونها أكثر صغراً في الحجم. يُستخدم STL على نطاق واسع في النماذج الأولية السريعة، وطباعة ثلاثية الأبعاد، وتصنيع بمساعدة الحاسوب، كما تدعمه العديد من الحزم البرمجية الأخرى.
| امتداد الملف |
.stl |
|---|---|
| صيغة وسائط الإنترنت | |
| نوع الصيغة | |
| توقيع الملف/عدد سحري |
736F6C6964[3] |
| المطور | |
| أول إصدار |
1987 |
STL هو صيغة ملفات أصلية لبرامج التصميم بمساعدة الحاسوب (CAD) الخاصة بالطباعة المجسمة ستيريوليثغرافي التي ابتكرتها شركة (3 دي سيستمز).[4][5][6] ويذكر تشاك هال، مخترع الطباعة المجسمة ومؤسس شركة (3 دي سيستمز)، أن امتداد الملف هو اختصار لكلمة (stereolithography)،[7] على الرغم من أنه يُشار إليه أيضاً باسم "لغة المثلثات القياسية" (بالإنجليزية: standard triangle language) أو "لغة الفسيفساء القياسية" (بالإنجليزية: standard tessellation language).[2]
يصف ملف STL سطحاً مثالثة خاماً وغير منظم عبر المتجه متجه وحدة ورؤوس المثلثات (المرتبة وفق قاعدة اليد اليمنى [2]) باستخدام نظام نظام إحداثيات ديكارتية ثلاثي الأبعاد.[8] وكانت المواصفات الأصلية تفرض أن تكون جميع إحداثيات STL أرقاماً موجبة، إلا أن هذا القيد لم يعد مفروضاً، وأصبح من الشائع العثور على إحداثيات سالبة في ملفات STL اليوم. ولا تحتوي ملفات STL على معلومات حول المقياس (scale)، وتعتبر الوحدات فيها عشوائية.[9] وتصف ملفات STL هندسة السطح فقط لجسم ثلاثي الأبعاد دون أي تمثيل للون أو الملمس أو سمات نموذج (CAD) الشائعة الأخرى. ويحدد تنسيق STL كلاً من تمثيلات أسكي وملف ثنائي. وتُعد الملفات الثنائية أكثر شيوعاً نظراً لكونها أكثر صغراً في الحجم.[10]
يُستخدم STL على نطاق واسع في النماذج الأولية السريعة، وطباعة ثلاثية الأبعاد، وتصنيع بمساعدة الحاسوب،[11] كما تدعمه العديد من الحزم البرمجية الأخرى.
نبذة تاريخية
[عدل]ابتكرت مجموعة ألبرت الإستشارية تنسيق STL لصالح شركة 3 دي سيستمز في عام 1987.[12] وقد طُوّر هذا التنسيق لأولى الطابعات ثلاثية الأبعاد التجارية التابعة لشركة (3 دي سيستمز). ومنذ إصداره الأولي، ظل التنسيق دون تغيير نسبيّاً لمدة 22 عاماً.[13]
وفي عام 2009، قُدّم مقترح لتحديث التنسيق أُطلق عليه اسم (STL 2.0)، والذي تطور لاحقاً ليصبح تنسيق ملف التصنيع الإضافي[الإنجليزية].[13][14]
الصياغة
[عدل]أسكي
[عدل]يبدأ ملف STL بتنسيق ASCII بالسطر التالي:
solid name
حيث يمثل (اسم) name سلسلة نصية اختيارية (وعلى الرغم من ذلك، إذا حُذف الاسم name، فيجب أن تظل هناك مسافة بعد كلمة solid لضمان التوافق مع بعض البرامج). يتجاهل البرنامج بقية السطر، ويُستخدم أحياناً لتخزين البيانات الوصفية (مثل اسم الملف، المؤلف، تاريخ التعديل، إلخ).[15] ويستمر الملف بعدد من المثلثات، يُمثَّل كل منها على النحو التالي:[16]
facet normal ni nj nk
outer loop
vertex v1x v1y v1z
vertex v2x v2y v2z
vertex v3x v3y v3z
endloop
endfacet

حيث يمثل كل من n أو v حسابات الفاصلة المتحركة بتنسيق إشارة-العلامة-e-الإشارة-أسيًا، على سبيل المثال: 2.648000e-002. وينتهي الملف بـ:
endsolid name
يوحي هيكل التنسيق بوجود احتمالات أخرى (مثل الأوجه التي تحتوي على أكثر من حلقة loop واحدة، أو الحلقات التي تضم أكثر من ثلاثة رؤوس)، على الرغم من أن وصف تنسيق الملف يشير فقط إلى فسيفساء (رياضيات) المثلثية.[2]
ويمكن استخدام حرف الفراغ[الإنجليزية] (المسافات، وعلامات الجدولة، والأسطر الجديدة) في أي مكان في الملف باستثناء داخل الأرقام أو الكلمات. وتعد المسافات بين facetو normal وبين outer وloop إلزامية.[10]
الثنائية
[عدل]نظرًا لأن ملفات STL بتنسيق أسكي قد تكون كبيرة الحجم، يوجد إصدار ثنائي (ملف ثنائي) من STL. يحتوي ملف STL الثنائي على ترويسة بطول 80 حرفًا تتجاهل عمومًا، ولكن يجب ألا يبدأ أبدًا بالتمثيل النصي لكلمة solid بتنسيق أسكي، لأن ذلك قد يؤدي ببعض البرامج إلى الخلط بينه وبين ملف ASCII STL. ويلي الرأس عدد صحيح غير موقع (عدد صحيح (علوم حاسوب)) بطول 4 بايت وبترتيب البايتات الأصغر أولا يشير إلى عدد الأوجه المثلثية في الملف. وتتبع ذلك البيانات التي تصف كل مثلث على حدة، وينتهي الملف ببساطة بعد المثلث الأخير.
يوصف كل مثلث عبر 12 رقماً من أرقام الفاصلة العائمة بعرض 32 بت: 3 للمتجه العمودي (normal) ثم 3 لكل من إحداثيات X/Y/Z لكل رأس – تماماً كما هو الحال في إصدار أسكي من STL. ويلي ذلك عدد صحيح غير موقع بطول 2 بايت ("short") يمثل "عدد بايتات السمات" (attribute byte count) – وفي التنسيق القياسي، يجب أن يكون هذا الرقم صفراً لأن معظم البرامج لا تفهم أي شيء آخر.[10]
تُمثَّل أرقام الفاصلة العائمة كأرقام فاصلة عائمة وفق معيار أي إي إي إي 754 ويُفترض أن تكون بترتيب البايتات الأصغر أولاً (ترتيب البايتات)، على الرغم من أن هذا لم يُذكر صراحة في الوثائق.
UINT8[80] – Header - 80 bytes
UINT32 – Number of triangles - 04 bytes
foreach triangle - 50 bytes
REAL32[3] – Normal vector - 12 bytes
REAL32[3] – Vertex 1 - 12 bytes
REAL32[3] – Vertex 2 - 12 bytes
REAL32[3] – Vertex 3 - 12 bytes
UINT16 – Attribute byte count - 02 bytes
end
يوجد على الأقل نوعان من الاختلافات غير القياسية في تنسيق STL الثنائي لإضافة معلومات الألوان:
تستخدم الحزم البرمجية الكاميرا التصويرية (VisCAM) والعرض الصلب (SolidView) بايتات "عدد بايتات السمات" (attribute byte count) الاثنين في نهاية كل مثلث لتخزين لون النموذج اللوني أحمر أخضر أزرق بعرض 15 بت:
- البتات 0–4 هي مستوى كثافة اللون الأزرق (0–31).
- البتات 5–9 هي مستوى كثافة اللون الأخضر (0–31).
- البتات 10–14 هي مستوى كثافة اللون الأحمر (0–31).
- البت 15 يكون 1 إذا كان اللون صالحاً، أو 0 إذا كان اللون غير صالح (كما هو الحال في ملفات STL العادية).
يستخدم برنامج (Materialise Magics) الرأس (header) المكون من 80 بايتاً في بداية الملف لتمثيل اللون العام للجزء بأكمله. وفي حال استخدام اللون، يجب أن يتضمن الرأس في مكان ما سلسلة أسكي النصية COLOR= تليها أربعة بايتات تمثل الأحمر والأخضر والأزرق وتجميع ألفا (الشفافية) في نطاق 0–255. وهذا هو لون الجسم بأكمله، ما لم يتم تجاوزه عند كل وجه. كما يتعرف برنامج (Magics) أيضاً على وصف المادة؛ وهي خاصية أكثر تفصيلاً للسطح. فمباشرة بعد تحديد COLOR=RGBA، يجب أن توجد سلسلة ASCII أخرى هي ،المواد= تليها ثلاثة ألوان (3×4 بايت): الأول هو لون انعكاس عشوائي (الانعكاس المنتشر)، والثاني هو لون توهج انعكاسي[الإنجليزية] (اللمعان المرآوي)، والثالث هو الضوء المحيط (ambient light). وتُفضل إعدادات المادة على إعدادات اللون. أما لون كل وجه فيُمثَّل في بايتي "عدد بايتات السمات" كما يلي:
- البتات 0–4 هي مستوى كثافة اللون الأحمر (0–31).
- البتات 5–9 هي مستوى كثافة اللون الأخضر (0–31).
- البتات 10–14 هي مستوى كثافة اللون الأزرق (0–31).
- البت 15 يكون 0 إذا كان لهذا الوجه لونه الفريد الخاص، أو 1 إذا كان سيتم استخدام لون الجسم العام.
ينعكس ترتيب الألوان الأحمر/الأخضر/الأزرق داخل هذين البايتين في هذين النهجين؛ لذا، ورغم أنه كان من السهل جعل هذه التنسيقات متوافقة، فإن عكس ترتيب الألوان يعني أنها ليست كذلك – والأسوأ من ذلك أن قارئ ملفات STL العام لا يمكنه التمييز بينهما تلقائياً. كما لا توجد طريقة لجعل الأوجه شفافة بشكل انتقائي لعدم وجود قيمة "ألفا" لكل وجه، رُغم أن هذا ليس مهماً في سياق آلات النمذجة السريعة الحالية.
المتجه العمودي للوجه
[عدل]يجب أن يكون ناظم سطح المتجه العمودي للوجه في كل من إصداري أسكي والثنائي من STL عبارة عن متجه وحدة يتجه نحو الخارج من الجسم الصلب.[17] وفي معظم البرمجيات، يمكن ضبط هذا المتجه على القيمة (0,0,0)، حيث يقوم البرنامج تلقائياً بحساب المتجه العمودي بناءً على ترتيب رؤوس المثلث باستخدام قاعدة اليد اليمنى، أي تُدرج الرؤوس بترتيب عكس عقارب الساعة عند النظر إليها من الخارج.[2]
وتقوم بعض أدوات تحميل ملفات STL بالتحقق من مطابقة المتجه العمودي الموجود في الملف مع المتجه الذي تحسبه باستخدام قاعدة اليد اليمنى، وتنبّه المستخدم في حال عدم التطابق. بينما قد تتجاهل برمجيات أخرى المتجه العمودي للوجه تماماً وتعتمد فقط على قاعدة اليد اليمنى. وبالرغم من ندرة تحديد متجه عمودي لا يمكن حسابه باستخدام قاعدة اليد اليمنى، إلا أنه ولضمان قابلية النقل الكاملة للملف، يجب أن يوفر الملف كلاً من المتجه العمودي للوجه وترتيب الرؤوس بشكل مناسب. ويُعد برنامج سوليد ووركس استثناءً ملحوظاً، حيث يستخدم المتجه العمودي لإضافة تأثيرات التظليل.
انظر أيضا
[عدل]المراجع
[عدل]- ^ Noordvyk، Allan (6 مارس 2018). "model/stl". iana.org. هيئة أرقام الإنترنت المخصصة. مؤرشف من الأصل في 2022-02-16.
- ^ ا ب ج د ه "STL (STereoLithography) File Format Family". Library of Congress. مؤرشف من الأصل في 2022-05-29.
- ^ مذكور في: Gary Kessler's File Signature Table. الوصول: 8 أغسطس 2017.
- ^ StereoLithography Interface Specification، 3D Systems, Inc.، يوليو 1988
- ^ StereoLithography Interface Specification، 3 دي سيستمز, Inc.، أكتوبر 1989
- ^ SLC File Specification، 3D Systems, Inc.، 1994
- ^ Grimm، Todd (2004). "3. The Rapid Prototyping Process". User's Guide to Rapid Prototyping. Society of Manufacturing Engineers. ص. 55. ISBN:0-87263-697-6.
- ^ Burkardt، John (10 يوليو 2014). "STLA Files - ASCII stereolithography files". مؤرشف من الأصل في 2022-10-04. اطلع عليه بتاريخ 2026-03-25.
- ^ "The StL Format: Standard Data Format for Fabbers". fabbers.com — Historical resource on 3D printing. مؤرشف من الأصل في 2020-09-17. اطلع عليه بتاريخ 2026-03-25.
- ^ ا ب ج Burns، Marshall (1993). "6.5". Automated Fabrication: Improving Productivity in Manufacturing. Prentice Hall PTR. ISBN:9780131194625. OCLC:634954895.
- ^ Chua، C. K.؛ Leong، K. F.؛ Lim، C. S. (2003). "Chapter 6, Rapid Prototyping Formats". Rapid Prototyping: Principles and Applications (ط. 2nd). World Scientific Publishing Co. ص. 237. ISBN:981-238-117-1.
The STL (STeroLithography) file, as the de facto standard, has been used in many, if not all, rapid prototyping systems.
- ^ "STL File Format for 3D Printing - Explained in Simple Terms". All3DP. 17 نوفمبر 2016. مؤرشف من الأصل في 2016-09-22. اطلع عليه بتاريخ 2026-03-25.
- ^ ا ب "STL 2.0 May Replace Old, Limited File Format". RapidToday. مؤرشف من الأصل في 2011-12-29. اطلع عليه بتاريخ 2026-03-25.
- ^ Hiller، Jonathan D.؛ Lipson، Hod (2009). "STL 2.0: A Proposal for a Universal Multi-Material Additive Manufacturing File Format" (PDF). Solid Freeform Fabrication Symposium (SFF'09). Austin, Texas, USA: Cornell University. مؤرشف من الأصل (PDF) في 2020-06-11. اطلع عليه بتاريخ 2017-05-05.
- ^ Bourke، Paul (أكتوبر 1999). "STL format". مؤرشف من الأصل في 2022-07-16.
- ^ "STL (STereoLithography) File Format, ASCII". Library of Congress. مؤرشف من الأصل في 2022-05-29.
- ^ Peddie، Jon (2013). The History of Visual Magic in Computers: How Beautiful Images are Made in CAD, 3D, VR and AR. London, England: Springer. ص. 54–57. ISBN:9781447149323. OCLC:849634980.