آشنایی با فرمت سه بعدی OBJ
فرمت فایل obj یکی از مهمترین فرمتها در حوزه اپلیکیشنهای گرافیک سه بعدی و پرینترهای سه بعدی محسوب میشود. همچنین این فرمت برای پرینترهای سه بعدی رنگی که به تازگی در کشورهای صنعتی به فروش میرسند، فرمت اصلی میباشد.
فرمت OBJ در نرم افزارهای سه بعدی سازی و پلتفرمهای غیرانیمیشنی حوزه گرافیک محبوبیت بالایی دارد. در این مقاله، درباره کاربرد این فرمت برای پرینتر سه بعدی متریال فیلامنت (FDM) و تفاوت های این فرمت نسبت به فرمتهای رایج همانند STL صحبت خواهیم کرد.
فهرست مطالب
در پاسخ به پرسش OBJ مخفف چیست می توان گفت obj مخفف عبارت Wavefront Object است که به این نام معروف شده است و امروزه تمامی افرادی که در حوزه گرافیک سه بعدی و مدلسازی دیجیتالی فعالیت می کنند، با این فرمت آشنایی کامل دارند.
فرمت فایل obj توسط کمپانی حوزه گرافیک با نام Wavefront Technologies توسعه یافته است.
هدف این کمپانی ارائه فرمتی کامپیوتری قابل استفاده در اپلیکیشنهای دیجیتالی وبصری پیشرفته بود تا قادر باشند اشیاء هندسی شامل خطوط ساده، چندضلعی و فرمهای آزاد منحنی و مسطح را پردازش نمایند.
به طور کلی، فرمت OBJ برای ذخیره سازی داده های مدل سه بعدی ایجاد گشته است.
این فرمت قادر است سطح هندسی یک مدل سه بعدی را اصطلاحا encode (کدگذاری) کند و رنگ و بافت را نیز نشان دهد.
فرمت فایل OBJ به طور معمول توسط نرم افزارهای CAD: Computer Aided Design به عنوان محصول نهایی مدل سه بعدی خروجی گرفته میشود. پسوند ضمیمه برای این فایل به همان نام obj در کامپیوتر ساخته میشود.
فرمت OBJ یک پسوند متن باز (open source) است و فرمتی مشهور برای تهیه خروجی و اشتراک مدل سه بعدی است.
علت رایج بودن این فرمت این است که می تواند در اکثر نرم افزارهای مدلسازی سه بعدی باز شود
همچنین در سالهای اخیر این فرمت به عنوان فایل پیش فرض پرینترهای سه بعدی رنگی محبوبیت بالایی یافته است
مسلما قدرتمندترین و کاربردی ترین فرمت برای پرینترهای سه بعدی همان فرمت محبوب STL میباشد. این فرمت بیشتر برای پرینترهای سه بعدی FDM یا DLP کاربرد داشته و به نوعی پیشکسوت محسوب میشود.
آشنایی با پرینتر سه بعدی SLA/DLP و کاربردهای آن
البته این فرمت با برخی تکنولوژی های دیگر چاپگر سه بعدی سازگاری چندانی ندارد چون از رنگ و بافت پشتیبانی نکرده و در رزولوشنهای بسیار بالا نیز حجم فایل افزایش زیادی می یابد.
در مقایسه، فرمت OBJ میتواند رزولوشنهای بسیار بالا را بدون افزایش چندان حجم فایل پشتیبانی نماید. این فرمت از تکنیکهای Bezier curves و NURBS بهره میبرد. همچنین این فرمت به صورت ذاتی از رنگها و بافت در مدل سه بعدی پشتیبانی مینماید.
هندسه (GEOMETRY):
ذات فرمت OBJ کدگذاری سطح هندسی شی سه بعدی است. این فرمت به شما اجازه انتخاب سه مدل encoding سطوح هندسی را میدهد که در ادامه توضیح داده خواهد شد.
فرمت های مناسب برای پرینت سه بعدی
حالت موزاییکی سطوح چند ضلعی (TESSELLATION WITH POLYGONAL FACES):
در ساده ترین حالت، فرمت obj امکان موزاییکی کردن سطح مدل سه بعدی با حجمهایی مثل مثلث، چهارضلعی یا چندضلعی پیچیده را فراهم میکند.
حالت موزاییکی چندضلعی مزایا و معایب خود را دارد؛ چون چندضلعی هر چقدر هم پیچیده باشد در کل ساختار ساده ای داشته و آسانترین روش برای ترسیم سطوح هندسی می باشد.
برخی افراد حرفه ای ساختار مثلثی را به جای چندضلعی استفاده میکنند زیرا میتوان با ریزتر کردن و افزایش تعداد مثلثها دقت و ظرافت قوسها را حفظ کرد؛ اگرچه هر چه تعداد ساختارهای مثلثی افزایش یابد، فایل خروجی نهایی سنگین تر خواهد شد.
سطوح آزاد منحنی (FREE-FORM CURVES):
فرمت obj ساختار هندسی قوس با فرمهای آزاد و پیچیده را پشتیبانی میکند (Cardinal Splines, Bezier curves). پس شی میتواند از مجاورت هم قرارگرفتن این منحنیهای دقیق و پیچیده نیز ساخته شود. عکس زیر مثالی از سطح آزاد قوسی مباشد.
سطوح فرم آزاد (FREE-FORM SURFACES):
ساختاری تکامل یافته از موزاییکی چندضلعی است. در این حالت امکان ساخت سطوح قوس دار هندسی با ساختار کاشی کاری فراهم شده است. این ساختار برای حجمهایی که فرمت ساختاری مشخصی ندارند بسیار کاربردی است.
مثال چنین فرمهای نامشخصی میتواند بدنه خودرو و قایق یا بالهای هواپیما باشد. معمولترین نوع از سطح فرم آزاد، مدل NURBS: Non-Uniform Rational B Spline میباشد که فرمت obj به خوبی از آن پشتیبانی میکند. عکس زیر این نوع ساختار سطح فرم آزاد را نشان میدهد:
ساختار سطح آزاد مزایای مشابه ساختار سطح آزاد منحنی دارد؛ دقیقتر بوده و داده گذاری کمتری داشته و حجم نهایی فایل نیز کمتر است. حتی برخی اعتقاد دارند که ساختار آزاد سطحی از نوع منحنی آزاد نیز دقیقتر است. در هر حال برای پرینت سه بعدی نمونه مدلهای پیچیده ای که دقت بسیار مهم است، این ساختار به کمک شما می آید (همانند مهندسی قطعات هواپیما و خودرو).
ساختار رنگ و بافت در فرمت OBJ
در مدلسازی های سه بعدی گرافیکی نظیر طراحی گرافیکی کاراکترهای بازی یا شخصیت های انیمیشن ، رنگ و برجستگی نقش به سزایی دارد. با اضافه شدن خصوصیات ظاهری به مدل ، نتیجه کار بسیار با ظرافت تر و بهتر خواهد شد. فرمت obj می تواند ساختار رنگ و بافت را داشته باشد که این یه مزیت نسبت به فرمت سه بعدی STL است.
فرمت obj امکان ذخیره سازی داده های بافت و رنگ را در ساختار MTL: Material Template Library فراهم میکند؛ ترکیب فرمت obj با فرمت MLT ، پشتیبانی بافت تمام رنگی را برای مدل سه بعدی میسر می نماید.
MTL شامل کدهای ASCII پارامترهای نور بازتابیده شده از سطح مدل سه بعدی میباشد. پس خواصی مثل رنگ پراکنده، رنگ فراگیر، رنگهای آیینه ای یا شفافیت قابل بازیابی میگردد. علاوه بر رنگ بافت، MIT از الگوی بافت یا texture mapping نیز پشتیبانی مینماید.
فرمت فایل obj به خوبی از پرینترهای سه بعدی رنگی پشتیبانی میکند و هم اکنون اکثر سازندگان آنرا به عنوان فرمت قابل قبول پیش فرض قرار داده اند.
از جمله پرینترهای رنگی می توان به پرینتر های سه بعدی Polyjet و Binderjet اشاره کرد که آشنایی با این دو پرینتر را می توانید در مقالات زیر داشته باشید.
آشنایی با پرینتر سه بعدی Binderjet