מהו קובץ STL?
STL, קיצור של stereolithrography, הוא פורמט קובץ שניתן להחלפה המייצג גיאומטריה תלת מימדית של פני השטח. פורמט הקובץ מוצא את השימוש שלו בכמה תחומים כמו אב טיפוס מהיר, הדפסת תלת מימד וייצור בעזרת מחשב. הוא מייצג משטח כסדרה של משולשים קטנים, המכונה היבטים, כאשר כל היבט מתואר על ידי כיוון מאונך ושלוש נקודות המייצגות את קודקודי המשולש. הנתונים המתקבלים משמשים יישומים כדי לקבוע את החתך של הצורה התלת-ממדית שתיבנה על ידי ה-fabber. אין מידע זמין בפורמט הקובץ STL עבור ייצוג של צבע, מרקם או מאפיינים נפוצים אחרים של מודל CAD.
היסטוריה קצרה
הפיתוח של פורמט קובץ STL החל משנת 1987. הוא פותח על ידי 3D Systems לשימושו במדפסות תלת מימד מסחריות. גרסה מתוקנת של פורמט קובץ STL, המכונה STL 2.0, הוצעה בשנת 2009 עם עדכונים לפורמט הקובץ.
מפרטי פורמט קובץ
קובץ STL מייצג גיאומטריית פני השטח באמצעות היבטים. ההיבטים מגדירים את פני השטח של אובייקט תלת-ממדי ומזוהים באופן ייחודי על ידי יחידת נורמלי, שהוא קו מאונך למשולש באורך של 1.0, ועל ידי שלושה קודקודים. יש סה"כ 12 מספרים המאוחסנים עבור כל היבט בתור הרגיל וכל קודקוד מצויין בשלוש קואורדינטות כל אחד. קובץ StL אינו מכיל מידע על קנה מידה; הקואורדינטות הן ביחידות שרירותיות.
ניתן לבחון את המפרט של פורמט קובץ STL משני היבטים הבאים.
התמצאות בהיבטים
כיוון פן נקבע על פי כיוון הנורמלי של היחידה והסדר שבו מופיעים הקודקודים. כיוון ההיבטים מצוין בשתי דרכים כדלקמן:
- כיוון הנורמלי הוא כלפי חוץ
- הקודקודים רשומים בסדר נגד כיוון השעון מבחוץ, תוך ציות לכלל יד ימין.
כלל קודקוד לקודקוד
לפי כלל זה, כל משולש חולק שני קודקודים עם כל אחד מהמשולשים הסמוכים לו. לפיכך, קודקוד של משולש אחד אינו יכול לשכב על צלע של משולש אחר.
פורמטי קובץ
STL זמין ב-ASCII כמו גם בייצוגים בינאריים עבור פורמט קובץ קומפקטי.
פורמט STL ASCII
גרסת ASCII של פורמט קובץ STL כתובה ב-ASCII רגיל. עם זאת, בשל גודלו הגדול, פורמט הקובץ אינו נבחר כפורמט עדיף לשימוש. התחביר של קובץ ASCII STL הוא כדלקמן:
solid name
facet normal ni nj nk
outer loop
vertex v1x v1y v1z
vertex v2x v2y v2z
vertex v3x v3y v3z
endloop
endfacet
endsolid name
מילות הפנים המודגשות מייצגות מילות מפתח שצריכות להיות תמיד באותיות קטנות. סמלים נטויים הם משתנים שיש להחליף בערכים שצוינו על ידי המשתמש. הנתונים המספריים בקווי היבט נורמלי וקודקוד הם מצופים דיוק בודדים, לדוגמה, 1.23456E+789. לקואורדינטת היבט רגיל עשוי להיות סימן מינוס מוביל; קואורדינטת קודקוד עשויה שלא.
פורמט בינארי STL
הפורמט הבינארי משתמש במספר השלם של IEEE ובייצוג מספרי של נקודה צפה. פורמט הקובץ מיוצג כדלקמן:
שדה | מידע |
---|---|
כותרת | 80 תווים |
מספר משולשים | 4-בתים אנדיאן קטן ללא סימן שלם |
נתונים לכל משולש | 12 מספרי נקודה צפה של 32 סיביות |
תצוגה מפורטת יותר של פורמט הקובץ היא כפי שמוצג להלן.
UINT8[80] – Header
UINT32 – Number of triangles
foreach triangle
REAL32[3] – Normal vector
REAL32[3] – Vertex 1
REAL32[3] – Vertex 2
REAL32[3] – Vertex 3
UINT16 – Attribute byte count
end