فایل STL چیست؟
STL، مخفف stereolithrography، یک فرمت فایل قابل تعویض است که هندسه سطح سه بعدی را نشان می دهد. فرمت فایل کاربرد خود را در چندین زمینه مانند نمونه سازی سریع، چاپ سه بعدی و ساخت به کمک رایانه پیدا می کند. سطحی را به صورت مجموعهای از مثلثهای کوچک نشان میدهد که به عنوان وجه شناخته میشوند، که در آن هر وجه با یک جهت عمود و سه نقطه نشان دهنده رئوس مثلث توصیف میشود. داده های حاصل توسط برنامه های کاربردی برای تعیین مقطع شکل سه بعدی که باید توسط fabber ساخته شود استفاده می شود. هیچ اطلاعاتی در قالب فایل STL برای نمایش رنگ، بافت یا سایر ویژگیهای مدل رایج CAD موجود نیست.
تاریخچه مختصر
The development of STL file format dates back to 1987. این توسط 3D Systems برای استفاده در چاپگرهای سه بعدی تجاری توسعه یافته است. یک نسخه اصلاح شده از فرمت فایل STL، معروف به STL 2.0، در سال 2009 با به روز رسانی های فرمت فایل پیشنهاد شد.
مشخصات فرمت فایل
یک فایل STL یک هندسه سطح را با استفاده از وجوه نشان می دهد. وجوه سطح یک جسم سه بعدی را مشخص می کند و به طور منحصر به فردی با یک واحد عادی مشخص می شود که یک خط عمود بر مثلث با طول 1.0 و توسط سه راس است. در مجموع 12 عدد برای هر وجه به عنوان Normal ذخیره می شود و هر راس با سه مختصات مشخص می شود. فایل StL حاوی اطلاعات مقیاس نیست. مختصات در واحدهای دلخواه هستند.
مشخصات فرمت فایل STL از دو جنبه قابل بررسی است.
جهت گیری جنبه ها
جهت یک وجه با جهت واحد نرمال و ترتیبی که رئوس فهرست شده اند تعیین می شود. جهت گیری وجوه به دو صورت زیر مشخص می شود:
جهت نرمال به سمت بیرون است
رئوس به ترتیب خلاف جهت عقربه های ساعت از بیرون با رعایت قانون دست راست فهرست می شوند.
قانون راس به راس
طبق این قانون، هر مثلث با هر یک از مثلث های مجاور خود دو رأس مشترک دارد. بنابراین، راس یک مثلث نمی تواند در ضلع مثلث دیگر قرار گیرد.
فرمت های فایل
STL در ASCII و همچنین نمایش های باینری برای فرمت فایل فشرده موجود است.
فرمت STL ASCII
نسخه اسکی فرمت فایل STL با اسکی ساده نوشته شده است. با این حال، به دلیل حجم زیاد، فرمت فایل به عنوان فرمت ترجیحی برای استفاده انتخاب نشده است. سینتکس یک فایل 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
The bold face words represent keywords that should always be lowercase. Symbols in italics are variables which are to be replaced with user-specified values. The numerical data in the facet normal and vertex lines are single precision floats, for example, 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