Taking too long? Close loading screen.

آشنایی با فرمت STL

آشنایی با فرمت STL

آشنایی با فرمت STL

 

پرینترهای سه بعدی با چه فرمت سه بعدی کار می کننند ؟ فرمت STL چیست؟ در این مقاله قصد داریم آشنایی با فرمت STL پیدا کنیم و به طور کامل با خصوصیات این فرمت آشنا شویم.

در این مقاله قصد اریم آشنایی با فرمت STL را به طور کامل داشته باشیم و توضیحاتی جامع در خصوص نحوۀ کار با این فرمت سه بعدی ارائه دهیم و از مزایا و معایب استفاده از آنها و فرمت های جایگزین و ترفندهای آن اطلاعاتی را به دست آوریم.

 

فرمت سه بعدی STL چیست؟

 

به طور خلاصه، فایل STL اطلاعات  نرم افزاری و هندسی مربوط به یک مدل سه بعدی را ذخیره می کند. این فرمت فقط هندسۀ سطوح یک جسم سه بعدی را نشان می دهد و هیچ اطلاعاتی در مورد رنگ، بافت یا ویژگیهای دیگر مدل ارائه نمی دهد.

 

فایل های STL معمولاً توسط یک برنامۀ طراحی سه بعدی کامپیوتری (نرم افزار CAD) پس از مدلسازی، به دست می آید.

در واقع این فرمت در انتهای فرآیند طراحی سه بعدی خروجی گرفته می شود تا بتواند در روند پرینت سه بعدی مورد استفاده قرار بگیرد.

 

 

پیشنهاد مطالعه:

 

نحوه تبدیل فرمت های سه بعدی به فرمت STL

 

فرمت STL متداول ترین فرمت ذخیره سازی فایل برای چاپ سه بعدی است. با ذخیره کردن فایل با این فرمت ، امکان استفاده از آن در نرم افزار اسلایسر فراهم می شود. نرم افزار اسلایسر می تواند G-Code نهایی را تهیه کند.

 

پیشنهاد  مطالعه:

 

نرم افزار اسلایسر چیست و چه نقشی در فرآیند پرینت سه بعدی دارد؟

 

STL مخفف چیست؟

 

کوتاه شده پسوند STL در طول زمان تغییر کرده است ؛ بسیاری معتقدند که این فایل مخفف عبارت  StereoLitoghraphy است. هرچند که گاهی از آن به عنوان نماد Standard Triangle Language یا Standard Tessellation Language هم یاد میشود.

 

فرآیند تغییر مدل سه بعدی در فایل STL چگونه است؟

 

هدف اصلی ذخیره کردن مدل سه بعدی با فرمت STL، رمزگذاری هندسه سطح یک جسم سه بعدی است. این اطلاعات را با استفاده از یک مفهوم ساده به نام Tessellation به معنی لغوی «موزاییک کاری» یا «حجم چهارگوش» کدگذاری می کند. به بیان دیگر مدل سه بعدی در پسوند STL به یک فایل مش بندی شده تبدیل می شود و ساختاری شبکه ای پیدا می کند.

 

تاریخچه پیدایش فرمت STL

 

در سال ۱۹۸۷، «چاک هال» که به تازگی اولین پرینتر سه بعدی استریولیتوگرافی را اختراع کرده بود و «گروه مشاورۀ آلبرت» سعی داشتند راهی برای انتقال اطلاعات مدلهای سه بعدی CAD به چاپگر سه بعدی پیدا کنند. آنها فهمیدند که می توانند از Tessellation های سطوح مدل سه بعدی برای رمزگذاری این اطلاعات استفاده کنند

ایدۀ اولیه این بود که سطوح ۲D مدلهای سه بعدی را با استفاده از مثلثهای کوچک (که به آنها Facet هم گفته میشود) کاشی کاری کنند و اطلاعات مربوط به Facet ها را در یک فایل ذخیره کنند.

به طور مثال چنانچه شما یک مکعب سه بعدی ساده را در نظر بگیرید ، این مکعب با ۱۲ مثلث ساخته می شود. در هر طرف دو مثلث وجود دارد. از آنجا که مکعب شش طرف دارد، مجموعاً ۱۲ مثلث مورد استفاده قرار میگیرد.

اگر یک مدل سه بعدی کروی داشته باشید، همانطور که در تصویر می بینید، میتوانید آن را با تعداد زیادی از مثلثهای کوچک بپوشانید.

 

 

این موضوع در مدل های پیچیده نیز استفاده می شود.

 

 

این گروه  به این جمع بندی رسیدند که اگر بتوانند اطلاعات مربوط به این مثلثهای کوچک را در یک فایل ذخیره کنند، آنگاه این فایل می تواند سطوح یک مدل سه بعدی را به طور کامل تشکیل دهد. این موضوع موجب ساخته شدن فرمت STL شد.

 

فرمت STL چگونه اطلاعات مربوط به مثلث ها را ذخیره می کند؟

 

فرمت STL دو روش متفاوت برای ذخیرۀ اطلاعات، در مورد Facet های مثلثی که سطح جسم را می پوشاند، دارد. به این روش ها، کدگذاری ASCII و کدگذاری Binary میگویند. در هر دو حالت، این اطلاعات در مورد هر مثلث ذخیره می شود:

  1. مختصات رئوس
  2. اجزای بردار نرمال مثلث (Normal Vector). بردار نرمال باید، با توجه به مدل سه بعدی، به بیرون اشاره کند.

 فرمت فایل ASCII STL

فرمت ASCII STL با یک خط الزامی شروع می شود.

 

solid <name>

 

در جای <name> نام مدل سه بعدی قرار می گیرد. بخش نام را می توان خالی گذاشت اما در این صورت باید بعد از کلمۀ solid فاصله بگذارید.

فایل با اطلاعات مربوط به مثلث های پوششی ادامه می یابد. اطلاعات مربوط به راس و بردار نرمال به این صورت است:

facet normal nx ny nz
   outer loop
      vertex v1x v1y v1z
       vertex v2x v2y v2z
        vertex v3x v3y v3z
   endloop
endfacet

 در اینجا، n به بردار نرمال مثلث مربوط است و V1، V2 و V3 رئوس مثلث هستند. مقادیر مختصات به عنوان عدد یک نقطۀ شناور و به صورت «نشانه- اعشار-e  – نشانه- توان»، مثلاً ۳٫۲۴۵۰۰۰e-002، نشان داده می شوند. فایل با یک خط الزامی دیگر به پایان میرسد.

 

فرمت فایل STL binary

 

اگر Tessellation شامل مثلثهای زیادی شود، فایل ASCII STL بسیار حجیم خواهد شد. به همین دلیل، یک نسخۀ باینری فشرده تر وجود دارد.

فایل binary STL با یک سرتیتر ۸۰ کاراکتری شروع میشود. این مورد اغلب توسط کاربران فایل STL نادیده گرفته می شود، با برخی استثنائات قابل توجه که بعداً در موردشان صحبت خواهیم کرد؛ بعد از سرتیتر، تعداد کل مثلثها با استفاده از یک عدد صحیح ۴ بایتی نشان داده می شود.

UINT8[80] – Header
UINT32 – Number of triangles

در ادامه اطلاعات مربوط به مثلث ها می آید و فایل پس از مثلث آخر به پایان می رسد.

هر مثلث با دوازده عدد نقطۀ شناور ۳۲ بیتی نشان داده می شود. همانند فایل ASCII سه عدد به مختصات سه بعدی دکارتی نرمال مثلث اختصاص دارد. ۹ عدد بعدی به مختصات رئوس (هر کدام سه تا) مربوط است. به این صورت:

foreach triangle
REAL32[3] – Normal vector
REAL32[3] – Vertex 1
REAL32[3] – Vertex 2
REAL32[3] – Vertex 3
UINT16 – Attribute byte count
end

توجه داشته باشید که پس از هر مثلث، یک دنبالۀ ۲ بایتی وجود دارد که «attribute byte count» یا «ویژگی تعداد بایت» نامیده می شود. معمولاً، این مورد روی صفر تنظیم شده و فاصلۀ بین دو مثلث را ایجاد می کند. با این حال، برخی از نرم افزارها از این ۲ بایت برای کدگذاری اطلاعات اضافی در مورد مثلث استفاده می کنند.

 

قوانین اصلی در فرمت STL

 

فایل STL داری قوانین ویژه ای در Tessellation و ذخیرۀ اطلاعات است. در ادامه با این قوانین آشنا خواهیم شد.

 

قانون رأس یا Vertex

 

با توجه به قانون رأس ، هر مثلث باید دو رأس را با مثلث های همسایۀ خود به اشتراک بگذارد.

این قانون باید در زمان Tessellating جسم سه بعدی رعایت شود.

در شکل زیر تصویر سمت چپ اشتباه است زیرا اتصال رئوس آن به درستی انجام نشده است اما در تصویر سمت راست اتصال رئوس به درستی انجام شده است و به بیان دیگر قانون راس رعایت شده است.

 

با توجه به این قانون، در اینجا نمونه ای از Tessellation معتبر و نامعتبر را می بینید. شکل سمت چپ این قانون را نقض می کند و نامعتبر است، در حالی که شکل سمت راست مطابق قانون و معتبر است.

 

قانون جهت یا Orientation

 

قانون جهت می گوید که، جهت مثلث ها باید از دو روش تعیین شود. به بیان دیگر کدام یک جهت به داخل دارند و کدام یک به خارج.

اول، جهت بردارِ نرمال باید به خارج اشاره کند. دوم، هنگام نگاه کردن به جسم از خارج، رئوس باید خلاف جهت عقربه های ساعت قرار داشته باشند (قانون دست راست).

این کار دلایلی دارد. این امر به ثبات داده ها و کشف اطلاعات غلط کمک می کند. برای مثال، نرم افزار می تواند جهت دهی را از طریق بردار نرمال و سپس به وسیلۀ رئوس محاسبه کند و بررسی کند که آیا آنها مطابقت دارند یا خیر. اگر اینگونه نباشد، نرم افزار فایل STL را خراب و غیرقابل استفاده می داند.

 

قانون اُکتنت های مثبت یا  All positive octant

 

قانون اکتنت های مثبت می گوید که، مختصات رئوس مثلث باید همگی مثبت باشند.

 

 

قانون مرتب سازی مثلث های مش 

قانون مرتب سازی مثلث می گوید که، مثلث ها باید به ترتیب صعودی مقدار Z ظاهر شوند. این امر به نرم افزار اسلایسر کمک می کند تا مدل های سه بعدی را سریع تر برش دهد. با این حال، در اجرای این قانون اجباری وجود ندارد.

منبع : توسعه گران بعد سوم

برگردان : هومن لادن

ارسال نظر

آدرس ایمیل شما منتشر نخواهد شد.

جستجو

پروژه ها

پرینت سه بعدی هندپیس
پرینت سه بعدی کاور
پرینت سه بعدی قاب صنعتی
پرینت سه بعدی درپوش محفظه
پرینت سه بعدی قطعات صنعتی
پرینت سه بعدی کاور نر و مادگی
پرینت سه بعدی پیچ و مهره
پرینت سه بعدی مجسمه
پرینت سه بعدی مجسمه شیر
پرینت سه بعدی مدل دست
پرینت سه بعدی سیلندر پیستون
پرینت سه بعدی شمعدان