همه چیز در مورد فرمت STL ( تاریخچه، مخفف کلمه، قوانین اصلی در فرمت STL و… )

همه چیز در مورد فرمت STL ( تاریخچه، مخفف کلمه، قوانین اصلی در فرمت STL و… )

فهرست مطالب

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

 

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

 

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

 

فهرست مطالب

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

 

 

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

 

به بیان دیگر فرمت stl می تواند یک خروجی سه بعدی از ابجکت طراحی شده باشد که بدون در نظرگیری خصوصیات بافتی و متریالی ماهیت سه بعدی شکل را ارائه می دهد.

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

STL مخفف چیست؟

 

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

 

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

 

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

 

اگر بخواهیم به زبان ساده تری آن را بیان کنیم می توانیم بگوییم stl هندسه یکپارچه طراحی شده را به تعداد زیادی ساختارهای سه گوش که به آن مش می گوییم تقسیم بندی می کنند که این مش ها در کنار هم دیگر تشکیل هندسه نهایی را می دهند.

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

 

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

 

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

 

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

 

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

 

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

 

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

 

فرمت STL
فرمت STL

 

این گروه  به این جمع بندی رسیدند که اگر بتوانند اطلاعات مربوط به این مثلثهای کوچک را در یک فایل ذخیره کنند، آنگاه این فایل می تواند سطوح یک مدل سه بعدی را به طور کامل تشکیل دهد. این موضوع موجب ساخته شدن فرمت 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  – نشانه- توان»، مثلاً 3.245000e-002، نشان داده می شوند. فایل با یک خط الزامی دیگر به پایان میرسد.

 

فرمت فایل STL binary

 

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

 

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

UINT8[80] – Header
UINT32 – Number of triangles

 

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

 

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

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

 

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

 

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

 

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

 

قانون رأس یا Vertex

 

 

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

 

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

 

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

 

قانون رأس
قانون رأس

 

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

 

قانون جهت یا Orientation

 

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

نویسنده : هومن لادن

ارسال نظر

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

ادامه مطلب
قلم‌های پرینت سه‌بعدی: تاریخچه، راهنمای خرید، و تکنیک‌های طراحی

قلم‌های پرینت سه‌بعدی: تاریخچه، راهنمای خرید، و تکنیک‌های طراحی

ادامه مطلب
تبدیل خلاقیت کودکان به واقعیت: راهنمای جامع پرینت سه‌بعدی نقاشی‌های کودکان

تبدیل خلاقیت کودکان به واقعیت: راهنمای جامع پرینت سه‌بعدی نقاشی‌های کودکان

جهت مشاوره رایگان تماس بگیرید