تفاوت فایل هایی با فرمت های STL و OBJ

 تفاوت فایل هایی با فرمت های STL و OBJ

فرمت OBJ از چند ضلعی­های گوناگونی برای رمزگذاری سطوح استفاده می­کند (منبع: 3d_molier International  در Free3D)

در فایل‌های STL، اشیاء با لبه‌هایی به هم متصل شده‌اند تا چهره‌های مثلثی را تشکیل دهند فایل STL اطلاعات نرم افزاری و هندسی مربوط به یک مدل سه بعدی را ذخیره می کند. این فرمت فقط هندسۀ سطوح یک جسم سه بعدی را نشان می دهد و هیچ اطلاعاتی در مورد رنگ، بافت یا ویژگیهای دیگر مدل ارائه نمی دهد ( بر خلاف فرمت فایل Obj که در چاپگر سه بعدی رنگی کاربرد دارد). فایل‌های OBJ در مدلهای حجیم با دقت بالا استفاده می شود و توانایی پشتیبانی از ساختار هندسی قوس با سطوح Free form surfaces را دارد

تفاوت فایل­هایی با فرمت­های STL و OBJ

                                                                     

روش­های زیادی برای ذخیره ­سازی داده­های سه بعدی وجود دارد. فایل­های دارای فرمت STL با توجه به نقش برجسته­ آن­ها در فرآیند پرینت سه بعدی، محبوبیت خاصی میان کاربران دارند و می­ توان گفت STLفرمت استانداردی است که توسط بسیاری از اسلایسرها (برش ­دهنده ­های) سه بعدی و مجموعه فایل­های آنلاین مانند سرویس­های Thingiverse و MyMiniFactory استفاده می­شوند.

اگرچه استفاده از فرمت OBJ کمتر رایج است، اما از این فرمت نیز در پروژه­های پرینت سه بعدی استفاده می­شود. البته کاربرد اصلی فرمت OBJ معمولا در برنامه­های گرافیکی غیر متحرک است؛ زیرا حاوی اطلاعات بیشتری در مورد مدل­ها بوده و به راحتی به عنوان ورودی یا خروجی نرم­افزارهای مختلف قابل استفاده می­باشد.

در این مقاله، ویژگی‌های اصلی هر دو فرمت را بررسی نموده و آن‌ها را از منظر کاربرد و ارزش مقایسه خواهیم کرد.

این فرمت­ها چه هستند؟

هر دو فرمت STL و OBJ سطوح اجسام سه بعدی را به کمک شبکه­ بندی­ های چند ضلعی نشان می­دهند.
هر دو فرمت STL و OBJ سطوح اجسام سه بعدی را به کمک شبکه­ بندی­ های چند ضلعی نشان می­دهند (منبع: Sculpteo)

فرمت‌های STL و OBJ هندسه­ی مدل‌های سه بعدی را به کمک مش­های (شبکه­ های) چند ضلعی کدگذاری می­کنند. این امر بدان معنی است که هر سطح از یک جسم سه بعدی با یک شبکه­ تقریبی از چند ضلعی­های متصل نشان داده می­شود و وضوح نهایی نیز به تعداد همین چند ضلعی­ها بستگی دارد.

فرمت «Standard Tessellation Language» یا به عبارتی STL، به طور ویژه در دهه­ی 80 و برای اجرای فرآیندهای پرینت سه بعدی شرکت 3D Systems تولید شد. این فرمت به طور انحصاری از مش­های مثلثی شکل ساخته شده و به دلیل اینکه فاقد برخی اطلاعات مدل مانند واحد طول (میلی­متر یا اینچ) می­باشد، فرمتی بسیار سبک محسوب می­شود.

نام فرمت OBJ یا به عبارت کامل­تر «Wavefront Object» از نام شرکت Wavefront Technologies که یکی از توسعه ­دهنده­های اصلی نرم افزارهای مرتبط با صنعت فیلم می­باشد، گرفته شده است. OBJ به عنوان یک فرمت منبع باز، در دنیای گرافیکی دیجیتال به خوبی شناخته شده و به دلایلی که در ادامه خواهیم دید، در صنعت پرینت سه بعدی از محبوبیت فزاینده­ای برخوردار گردیده است.

ساختار مدل

 

فرمت OBJ از چند ضلعی­های گوناگونی برای رمزگذاری سطوح استفاده می­کند.
فرمت OBJ از چند ضلعی­های گوناگونی برای رمزگذاری سطوح استفاده می­کند (منبع: 3d_molier International  در Free3D)

این دو فرمت از چند جهت با هم تفاوت دارند. در حالی که هر دوی آن­ها مدل­های سه بعدی را با شیوه­ای مشابه نمایش می­دهند، از نظر ساختاری متفاوت می­باشند و همین نکته، پیامدهایی را در رابطه با قابلیت­های استفاده و کاربردهای آن­ها در پی دارد.

همانطور که گفته شد، STL سطوح اجسام را به صورت شبکه­ های مثلثی شکل نمایش می­دهد. استفاده از این شیوه برای هندسه­ ای ساده کافی به نظر می­رسد. طبیعی است که برای نمایش مدل­های بزرگتر به تعداد مثلث­های بیشتری نیاز خواهد بود؛ بنابراین اندازه­ی فایل نیز به صورت تصاعدی افزایش خواهد یافت. با این حال، حتی برای دستیابی به بالاترین وضوح نیز می­توان اندازه­ی حدودی فایل را تخمین زد.

از طرف دیگر، فرمت OBJ با بهره­گیری از چندین چند ضلعی مختلف در یک فایل واحد، از کدگذاری دقیق سطوح پشتیبانی می­کند. در این روش، به جای استفاده از شکل‌های چند وجهی، می‌توان سطوح را به کمک قطعات NURBS که امکان نمایشی بسیار صاف‌تر و دقیق‌تر را فراهم می­سازند، تعریف نمود. البته هزینه­ی استفاده از این روش به اندازه­ی تولید فایل­های بزرگتر خواهد بود.

رنگ و بافت

 

 

فرمت OBJ در حالی می­تواند اطلاعات مربوط به رنگ و بافت را ذخیره نماید که STL قادر به انجام آن نیست (منبع: Gabryxx7 در GitHub)

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

اما برخلاف STL، فرمت OBJ  از این نظر بسیار عالی بوده و مخصوصا برای برنامه­ های اسکن سه بعدی به شدت مفید است. این فرمت می‌تواند اطلاعات واقعی حاصل از عکاسی را به تصویری دو بعدی (اغلب در یک فایل تصویری جداگانه ذخیره می‌شود) که به عنوان پوسته­ی مدل عمل می­کند، منتقل نماید.

هرچند که فرمت­های دیگری مانند AMF و 3MF برای این منظور گزینه­ های بهتری هستند، اما این ویژگی باعث می­شود که OBJ جهت اجرای تکنیک­های پرینت سه بعدی تمام رنگی مناسب باشد.

پشتیبانی نرم­ افزاری

L فرمت استانداردی است که توسط نرم­افزارهای برش سه بعدی استفاده می­شود؛ البته لازم به ذکر است که OBJ نیز به خوبی به وسیله­ی اینگونه نرم­افزارها پشتیبانی می­گردد (منبع: Apprepo)

از نظر پشتیبانی نرم­ افزاری، هر دو فرمت STL و OBJ به خوبی پوشش داده شده­اند. به جرئت می­توان گفت STL فرمت استانداردی است که توسط همه و یا بیشتر برش­ دهنده­ های پرینت سه بعدی رومیزی پشتیبانی می­شود. به دلیل سهولت استفاده و اندازه­ی کوچک این نوع فایل، می­توان از آن به عنوان متداول­ترین فرمت برای به اشتراک­گذاری طرح­های پرینت سه بعدی نام برد.

فرمت OBJ توسط اسلایسرهای پرینت سه بعدی محبوبی مانند Cura و Simplify 3D برای اجرای فرآیند FDM و ChiTuBox و PrusaSlicer برای انجام پرینت رزینی پشتیبانی می­شود. بر همین اساس، این فرمت نسبت به STL منعطف­تر بوده و به طور گسترده­ای در کاربردهای فراتر از پرینت سه بعدی نیز مورد استفاده قرار می­گیرد. به عنوان مثال، از آنجایی که توسعه ­دهنده ­های بازی مکررا از فایل­های OBJ استفاده می­کنند، این فرمت به طور گسترده­ای توسط نرم­افزارهای گرافیکی و تولید انیمیشن پشتیبانی می­شود.

سخن پایانی

 

                                                                     در حالی که فرمت STL برای اکثر برنامه­ های پرینت سه بعدی گزینه کاملی به نظر می­رسد، اما همواره در پشتیبانی از رنگ­ها دچار مشکل است.
در حالی که فرمت STL برای اکثر برنامه­ های پرینت سه بعدی گزینه کاملی به نظر می­رسد، اما همواره در پشتیبانی از رنگ­ها دچار مشکل است. (منبع: i.Materialise)

علیرغم این که این فرمت­ها دارای ویژگی­ های مشترک بسیاری بوده و هر دو برای کاربردهای مرتبط با پرینت سه بعدی مناسب هستند، اما در عین حال، هر یک از آن­ها موارد استفاده  خاص و مشخصی دارند.

نمایش سه بعدی فرمت STL دقت کمتری دارد؛ اما همچنان برای بسیاری از کاربرد­ها به اندازه­ی کافی دقیق است. اندازه ا­ی کوچکتر آن نسبت به OBJ، این فرمت را به گزینه­ مناسبی برای ذخیره­سازی و به اشتراک­ گذاری سریع فایل­ها تبدیل نموده؛ اما به طور کلی، کاربرد STL به موارد مربوط به پرینت سه بعدی محدود می­شود.

در طرف مقابل، OBJ فرمت پیچیده­ تری بوده و معمولا در کاربردهایی غیر از پرینت سه بعدی، از جمله مواردی که نیاز به مدل­سازی و ویرایش بیشتر دارند نیز استفاده می­شود. از طرفی توانایی ذخیره­سازی داده‌های مربوط به رنگ و بافت، OBJ را به گزینه­ی مناسبی برای پرینت سه‌بعدی­های چند رنگ – تکنیک متداول این روزها- تبدیل نموده است.

فاطمه کلانکی

پست های مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *