رفتن به نوشته‌ها

آیا CadQuery را امتحان کرده اید؟ «فابالو


CadQuery یک مدل سه بعدی بلوک LEGO را تولید می کند [Source: CadQuery / GitHub]

CadQuery ممکن است در نهایت محبوب تر از OpenSCAD شود.

بسیاری از اپراتورهای چاپگرهای سه بعدی نام OpenSCAD را شنیده اند. این یک سیستم 3D CAD است که با اکثر ابزارهای CAD کاملاً متفاوت است. ابزار معمولی CAD از یک رابط بصری برای انجام مدل‌سازی جامد استفاده می‌کند: یک بلوک را در بالای یک استوانه قرار دهید و غیره. OpenSCAD پارادایم کاملاً متفاوتی دارد.

OpenSCAD به جای ساختن بصری یک ساختار، از یک برنامه کامپیوتری استفاده می کند. این زبان برای فراخوانی ایجاد و دستکاری اجسام جامد تخصصی است. نتیجه سیستم یک مدل سه بعدی است که تقریباً با ابزارهای رایج CAD تولید می شود.

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

یکی دیگر از مزایای بزرگ طراحی برنامه ای، سفارشی سازی است. می توان یک “مدل پایه” ساخت که با تنظیم برخی از پارامترها قابل تغییر باشد. به عنوان مثال، یک صفحه با چهار سوراخ می تواند به جای آن شش سوراخ داشته باشد. یا هفت. این به راحتی انجام می شود زیرا برنامه می تواند پارامترهای ورودی را برای انجام این کار بپذیرد.

سال‌ها OpenSCAD پادشاه طراحی سه بعدی برنامه‌ای بوده است و به طور گسترده مورد استفاده قرار گرفته است، به ویژه برای مدل‌های سه بعدی قابل تنظیم. با این حال، یک بازیکن جدید در صحنه وجود دارد: CadQuery.

CadQuery مانند OpenSCAD یک پروژه متن باز است که در GitHub میزبانی می شود. این بدان معناست که استفاده از آن کاملا رایگان است و اگر توانایی دارید، حتی می توانید در طراحی و کدنویسی آن مشارکت کنید.

چرا وقتی OpenSCAD کاملاً خوب کار می کند، به ابزار مدل سازی سه بعدی برنامه ای جدید بروید؟ همانطور که توسط تیم CadQuery بیان شده است چندین دلیل وجود دارد:

  • اسکریپت ها از یک زبان برنامه نویسی استاندارد، پایتون استفاده می کنند و بنابراین می توانند از زیرساخت های مرتبط بهره ببرند. این شامل بسیاری از کتابخانه های استاندارد و IDE ها می شود.
  • هسته CAD CadQuery Open CASCADE Technology (OCCT) بسیار قدرتمندتر از CGAL مورد استفاده OpenSCAD است. ویژگی هایی که به صورت بومی توسط OCCT پشتیبانی می شوند عبارتند از NURBS، splines، دوخت سطح، تعمیر STL، STEP import/export و سایر عملیات پیچیده، علاوه بر عملیات استاندارد CSG که توسط CGAL پشتیبانی می شود.
  • امکان import/export STEP و امکان شروع با یک مدل STEP، ایجاد شده در یک بسته CAD و سپس افزودن ویژگی های پارامتریک. این در OpenSCAD با استفاده از STL امکان پذیر است، اما STL یک قالب با اتلاف است.
  • اسکریپت های CadQuery برای ایجاد اکثر اشیا به کد کمتری نیاز دارند، زیرا امکان مکان یابی ویژگی ها بر اساس موقعیت سایر ویژگی ها، صفحات کاری، رئوس و غیره وجود دارد.
  • اسکریپت های CadQuery می توانند STL، STEP، AMF و 3MF را سریعتر از OpenSCAD بسازند.

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

قابلیت NURBS و splines مطمئناً منجر به مدل‌های سه بعدی پیچیده‌تر و جالب‌تر می‌شود. سایر ویژگی های بومی پشتیبانی شده اهرم کد موجود را نشان می دهد.

یکی از این ویژگی ها یکپارچه سازی STEP است که ارتباط بین طراحی برنامه نویسی و سیستم های CAD تجاری که از فرمت STEP استفاده می کنند را امکان پذیر می کند. این به تنهایی می تواند فضای بسیار جالبی برای کاوش باشد.

این احتمال وجود دارد که باز کردن درب به روی همه این کدهای خارجی چیزی باشد که OpenSCAD ممکن است در دراز مدت نتواند به راحتی آن را مطابقت دهد. بنابراین کاملاً ممکن است که در طول زمان استفاده از OpenSCAD کمتر از CadQuery باشد.

به نظر می رسد CadQuery هنوز کمی در اوایل چرخه زندگی است، زیرا ظاهراً نصب آن کمی دشوار است. برای مثال، این پروژه قویاً استفاده از یک محیط مجازی را برای جداسازی “مجموعه پیچیده وابستگی ها” از بقیه سیستم خود توصیه می کند. همچنین باید از یک ویرایشگر سفارشی خاص برای تهیه اسکریپت های مورد استفاده توسط CadQuery استفاده کنید.

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

از طریق GitHub (نکات کلاه به بنیامین)



منبع

منتشر شده در اخبار پرینتر و چاپ سه بعدی