فایل STL و OBJ – همه تفاوت‌ها

فایل STL و OBJ – همه تفاوت‌ها

فایل STL و OBJ در دنیای پرینت سه بعدی به خوبی شناخته شده اند، اما پرونده OBJ در مقابل STL هنوز بسته نشده است. برای مشاهده مقایسه آنها به ادامه مطلب بروید.

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

اگرچه کمتر رایج است، اما فرمت OBJ برای اهداف پرینت سه بعدی نیز استفاده می شود. اما معمولاً در برنامه های گرافیکی غیر متحرک استفاده می شود زیرا اطلاعات بیشتری را در مورد مدل ها حمل می کند و به راحتی توسط نرم افزارهای مختلف import یا export می شود.

 

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

آشنایی اولیه با فایل STL و OBJ

both-stl-and-obj
هر دو فایل STL و OBJ سطوح اجسام سه بعدی را از طریق مش های چند ضلعی نشان می دهند

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

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

” Wavefront Object ” یا OBJ از نام شرکت گرافیک کامپیوتری Wavefront Technologies گرفته شده است که راه حل های نرم افزاری را برای صنعت فیلم توسعه داده است. این یک فرمت open-source  است که در دنیای گرافیک دیجیتال به خوبی تثبیت شده است و به دلایلی که در ادامه خواهیم دید در جامعه پرینت سه بعدی محبوبیت فزاینده ای پیدا کرده است.

فایل STL و OBJ – همه تفاوت‌ها

ساختار مدل

فایل STL و OBJ - 3
OBJ فرمت انعطاف پذیرتری است زیرا از چند ضلعی های مختلف در طول رمزگذاری سطح استفاده می کند

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

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

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

فایل STL و OBJ – همه تفاوت‌ها

رنگ و بافت

convert-stl
OBJ می تواند اطلاعات رنگ و بافت را ذخیره کند، در حالی که STL نمی تواند

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

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

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

فایل STL و OBJ – همه تفاوت‌ها

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

convert-stl-2
STL فرمت استانداردی است که توسط نرم افزار Slicer سه بعدی استفاده می شود، در حالی که OBJ نیز به خوبی پشتیبانی می شود

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

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

در نهایت...

فایل STL و OBJ
در حالی که STL برای اکثر برنامه های پرینت سه بعدی کافی است اما STL فاقد اطلاعات رنگ ارائه شده توسط OBJ است

در حالی که فایل STL و OBJ دارای ویژگی های مشترک هستند و هر دو برای مقاصد گسترده پرینت سه بعدی مفید هستند، هر کدام به سمت موارد استفاده متفاوتی گرایش دارند.

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

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

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