Stereolithography STL (.stl)
3D תקןStandard Triangle Language (STL, המוכר גם בשם Stereolithography) הוא פורמט נפוץ להדפסת תלת-ממד ולאב-טיפוס מהיר. הוא מתאר גיאומטריית פני שטח באמצעות פאות משולשות; התמיכה ביישומים והטיפול בצבע וביחידות משתנים.
המר OBJ ל-STL
ממיר חינמי מ-OBJ ל-STL פועל בדפדפן. המר קבצים באופן מיידי במכשיר שלך.
בדיקה ומטא-נתונים
מערכות הפעלה ומנתחי קבצים מזהים קבצי STL על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת כותרת ברמת הבייט (Magic Bytes)
מערכות הפעלה ומנתחי קבצים מזהים קבצי STL על ידי בדיקת רצף הבייטים הבינארי הראשוני:
חתימת HEX (היסט 0):
73 6F 6C 69 64ייצוג ASCII: solid
תקינה: 3D Systems Stereolithography Specification
מפרט טכני
| מבנה המכולה | פורמט ASCII שמתחיל ב-'solid' או פורמט בינארי עם כותרת בת 80 בתים, ספירת משולשים של 32 סיביות ורשומות פאה בגודל 50 בתים |
| דחיסה | פאות משולשות גולמיות ולא דחוסות |
| סדר בתים (Endianness) | סדר בתים Little-Endian (Intel x86) בקובצי STL בינאריים |
| מרחבי צבע | אין (גיאומטריה מונוכרומטית; קיימות הרחבות צבע קנייניות של VisCAM/Magics) |
| ערוצים ומבנה | פאות משולשות: וקטור נורמל לפני השטח (I, J, K) ושלוש קואורדינטות קודקוד (X, Y, Z) |
| ממדים מרביים | קואורדינטות פיזיות תלת-ממדיות ללא מגבלה קבועה (נמדדות בדרך כלל במילימטרים) |
| שקיפות | אין (אובייקטים פיזיים אטומים) |
| הזרמה ופרוגרסיביות | הזרמה רציפה של פאות מאפשרת חיתוך הדרגתי, שכבה אחר שכבה |
מטריצת השוואה טכנית: STL מול מתחרים
| תכונה טכנית | STL (נוכחי) | OBJ | 3MF | STEP |
|---|---|---|---|---|
| אימוץ בסלייסרים להדפסת תלת-ממד | בשימוש נרחב בתוכנות חיתוך להדפסת תלת-ממד; התמיכה משתנה | תמיכה רחבה ביישומים רבים | תקן יורש מודרני | תקן הנדסת CAD |
| תמיכה בצבע ובמרקם | ללא (גיאומטריית פני שטח בלבד) | מיפוי מרקם UV מלא | תמיכה בצבע מלא, בחומרים ובמכבשים מרובים | צבעים מוצקים פרמטריים |
| מבנה פאות | פאות משולש עצמאיות | רשת קודקודים משותפים מחוברת | רשת עם אינדקסים וקודקודים משותפים | עקומות פרמטריות מדויקות (NURBS) |
| הגדרת יחידות | ללא יחידות (מניחים שמדובר במ"מ) | ללא יחידות (מניחים שמדובר במטרים או במ"מ) | יחידות מפורשות (מ"מ, ס"מ, אינץ') | יחידות הנדסיות מפורשות |
מצבי השחתה נפוצים ומדריך שחזור הקסדצימלי (Hex)
תוכנת החיתוך מציגה הודעה 'המודל אינו סתום / מכיל קצוות שאינם סתומים'.
גורם שורש: חורים ברשת המשולשים, משולשים החותכים זה את זה, או נורמלים של פני שטח הפוכים.
שחזור: הפוך את הרשת לאטומה למים באמצעות כלי תיקון הרשת התלת-ממדי של File2File.app או Netfabb.
ניתוח אבטחה ווקטורי תקיפה נגד מנתחי פורמטים (parsers)
מפענחי STL בינאריים מעריכים ספירות משולשים של 32 סיביות שבהן גלישת מספר שלם (Integer Overflow) עלולה לגרום להקצאת זיכרון קטנה ב-Heap ולכתיבה מחוץ לגבולות.
ווקטורי תקיפה ידועים
- גלישת מספר שלם במהלך הקצאת זיכרון של triangle_count * 50 בייטים.
- קריאת יתר ממאגר (Buffer Over-read) כאשר גודל הקובץ הפיזי קטן מספירת המשולשים המוצהרת.
- מניעת שירות באמצעות הקצאות משולשים בהיקף של ג'יגה-בייטים רבים.
שיטות מומלצות להגנה: ודא שספירת המשולשים המוצהרת תואמת בדיוק לנוסחה (file_size - 84) / 50 לפני הקריאה.
היסטוריה ואבני דרך
יתרונות מרכזיים
- STL נתמך במגוון תוכנות חיתוך להדפסת תלת-ממד וכלי CAM, אך התמיכה והתכונות הזמינות משתנות.
- הפורמט הבינארי פשוט וקומפקטי: בדיוק 84 בייטים של כותרת בתוספת 50 בייטים לכל פאת משולש.
- ייצוג ישיר של גבולות פני שטח סגורים לחלוטין הנדרשים ליצירת מסלול כלי ייצור תוסף.
מגבלות טכניות וחסרונות
- תקן STL אינו מגדיר שדות בין-יישומיים לצבע, לחומרים או למרקמים; יש הרחבות לא תואמות שמוסיפות נתוני צבע.
- משטחים מעוקלים חייבים להיות מקורבים באמצעות אלפי משולשים שטוחים, דבר שמוביל למספר רב של פוליגונים.
- אינו מגדיר יחידות מידה פיזיות (תוכנות חיתוך חייבות להניח מילימטרים או אינצ'ים).
עובדות טכניות מעניינות
- צ'אק האל רשם פטנט על הדפסת תלת-ממד בשנת 1986 ויצר את פורמט ה-STL בשנת 1987 כדי להזין מודלים תלת-ממדיים למדפסת ה-SLA-1 שלו.
- קובץ STL מכיל מטא-דאטה של יחידות באפס: קובץ תיבה במידות '10' עשוי להיות 10 מילימטרים, 10 מטרים או 10 אינצ'ים בהתאם להגדרות תוכנת החיתוך שלך.
- קובצי STL בינאריים כוללים כותרת בת 80 בייטים שיכולה להכיל כל טקסט, אך אסור לה להתחיל במילה 'solid' אחרת, מפענחים מסוימים עלולים לטעות ולחשוב שמדובר בקובץ ASCII.
שאלות טכניות נפוצות
איזו תוכנה פותחת קובצי STL?
ניתן לפתוח קובצי STL בתוכנות חיתוך לשם הדפסת תלת-ממד כמו Cura, PrusaSlicer ו-Bambu Studio, בתוכנות CAD כמו Fusion 360 ו-Blender, או לצפות בהם באופן מיידי באינטרנט ב-File2File.app.
מה ההבדל בין ASCII STL ל-Binary STL?
ב-STL בינארי כל משולש נשמר כרשומה מספרית, ואילו ב-STL מסוג ASCII הקואורדינטות נשמרות כטקסט. הקובץ הבינארי בדרך כלל קטן יותר; אפשר לבדוק את קובץ ה-ASCII ישירות, אך באף אחת מהגרסאות אין שדות תקניים לצבע או לחומר.
איך אוכל להמיר קובץ STL ל-OBJ או GLB?
ניתן להמיר קובצי STL למודלי OBJ בעלי מרקם או לקובצי GLB המוכנים לווב ישירות בדפדפן שלך באמצעות File2File.app.