آنقدر با Claude Code همیشهبهدردبخور در نرمافزارهای CAD سروکله زده بودم که خیال میکردم دیگر خوب میشناسمش. از آن میخواهید سوراخی را در یک مدل پارامتری جابهجا کند و پیش از دستزدن به هرچیز، اندازه دقیق را میخواهد؛ اهل حدسزدن نیست. از آن میخواهید گوشهای را گرد کند و اول سراغ بررسی درخت قیود میرود، چون اگر آنجا اشتباه حدس بزند، در نهایت قطعهای تحویلتان میدهد که به چیزی که قرار بوده روی آن پیچ شود، نمیخورد.
بنابراین وقتی Claude Code را به Blender، مجموعه نرمافزاری رایگان و متنباز برای گرافیک رایانهای سهبعدی، متصل کردم، انتظار داشتم همان احتیاط را این بار در محیطی دیگر ببینم. اما اصلاً اینطور نبود. هنوز پنج دقیقه نگذشته بود که خودش ارتفاع پایه میز را حدس زد و بهجای آنکه ابتدا عددی دقیق از من بخواهد، اسکرینشاتی گرفت تا ببیند ظاهرش درست از آب درآمده است یا نه.
برقراری اتصال
نصب BlenderMCP و اتصال آن به Claude Code





Blender بهخودیخود نمیتواند با Claude Code ارتباط برقرار کند و باید بهنوعی میان این دو پل زد. من از افزونهای متنباز به نام BlenderMCP استفاده کردم که درون Blender اجرا میشود و با یک سرور MCP در سمت Claude جفت میشود. این افزونه یک سوکت در Blender باز میکند و سرور MCP فرمانها را از طریق آن رفتوبرگشت میدهد. پس از برقراری اتصال، Claude میتواند اشیا را اضافه یا حذف کند، مواد را تغییر دهد، کد Python را مستقیماً درون Blender اجرا کند و در عمل هر کاری را که لازم است انجام دهد.
احتمالاً دسترسی به Python مهمترین بخش ماجراست. رابط برنامهنویسی Blender تقریباً تمام بخشهای برنامه را در دسترس میگذارد: دادههای مش، گرههای سایهزن، تنظیمات دوربین و کموبیش هرچیزی که ممکن است بخواهید تغییر دهید. وقتی Claude راهی برای اجرای کد واقعی روی همه این بخشها پیدا میکند، دیگر فقط توضیح نمیدهد که صحنه باید چه شکلی باشد؛ خودش دستبهکار میشود و آن را میسازد.
راهاندازی حدود ۱۵ دقیقه، شاید هم کمی کمتر، طول کشید و دردسر چندانی نداشت. ابتدا افزونه را نصب کردم، سپس به نوار کناری Blender رفتم و سرور سوکت را از همانجا به راه انداختم. بعد سرور MCP را در پرونده پیکربندی سمت Claude افزودم و همهچیز را از نو راهاندازی کردم.
البته جایی از کار به مشکلی برخوردم و Blender نیز یک بار وسط آزمایش بیهیچ مقدمهای از کار افتاد. وقتی دوباره بالا آمد، اتصال خودبهخود برقرار نشد. ناچار شدم هر دو برنامه را کاملاً ببندم و دوباره اجرا کنم تا Claude بار دیگر بتواند محتوای صحنه را ببیند.
وقتی Claude Code را به حال خود میگذاریم
رویارویی خودکار Claude Code با اندازهها، هندسه و مواد

در CAD از Claude Code خواستم سوراخ روی بست آزمایشیام را دو میلیمتر جابهجا کند؛ درخواست پیچیدهای هم نبود. همانجا مکث کرد و پرسید آیا این جابهجایی الگوی نصب در بخش دیگری از قطعه را به هم میزند یا نه؛ پرسش بجایی بود، چون خودم حتی به بررسی آن فکر نکرده بودم. بعدتر دیواره همان بست را نازکتر کردم و پیش از آنکه حتی یک کلمه درباره ساخت، چاپ یا موضوعی از این دست بگویم، ضخامت تازه را با حداقل ضخامت چاپپذیر سنجید و هشدار داد. کافی است یکی از اندازههای آن قطعه اشتباه باشد تا دیگر اجزای بست با پیچ به هم متصل نشوند.
Blender هیچیک از این ملاحظات را بهطور پیشفرض ندارد. برای یک مش مهم نیست که دو شیء در هم فرو بروند؛ هیچ سازوکاری هم مانع نمیشود پایه صندلی مثلاً بیش از یک سانتیمتر بالاتر از زمین معلق بماند. بنابراین وقتی از Claude Code خواستم صحنهای ساده شامل یک میز کوتاه، چند صندلی متفاوت و یک چراغ بسازد، برخلاف رفتارش در CAD زحمت تأیید اندازهها را به خود نداد. فقط ابعادی را برگزید که کموبیش درست به نظر میرسیدند، چند شکل ابتدایی در صحنه گذاشت و پیش از ادامه کار، از دریچه دید اسکرینشاتی گرفت تا ببیند واقعاً چه ساخته است.
CAD در اصل سراسر عدد است: اندازهها، مختصات و قیدهایی که پیش از هر جابهجایی باید با یکدیگر سازگار باشند. دستکم وقتی Claude Code هدایت Blender را در دست دارد، اوضاع در آنجا اصلاً اینگونه نیست.
یک بار از آن خواستم آباژور را از حالت استوانهای دربیاورد و کمی مخروطیتر کند؛ راستش درخواست نسبتاً مبهمی بود. اما برنگشت تا زاویه یا عدد دیگری از من بخواهد. کمی مش را تغییر داد، اسکرینشاتی ثبت کرد، فرم کلی را چشمی سنجید، دوباره برگشت و آن را تنظیم کرد و این روند را آنقدر ادامه داد تا شکل آباژور واقعاً باریکشونده به نظر رسید.
داستان مواد هم همین بود، شاید حتی چشمگیرتر. در Blender ظاهری شبیه برنج کهنه و نهچندان براق خواستم و Claude Code خودش چیدمان گرههای سایهزن را نوشت، نقشههای زبری را ساخت و اندکی تنوع رنگی نیز در آن گنجاند. سپس یک قاب آزمایشی رندر کرد تا ببیند آیا «کهنگی» واقعاً کهنه به نظر میرسد یا نه. نتیجه نخست بیش از اندازه براق بود که ایراد بجایی بود؛ پس بیآنکه من عددی تعیین کنم، خودش میزان زبری را اصلاح کرد. چنین رفتوبرگشتی هرگز در CAD رخ نمیدهد. هیچکس بستی را بر پایه گرمبودن جلوه رندر نمیسازد؛ ازاینرو رنگ و پرداخت سطح در آن محیطها عملاً چیزی بیش از جانگهدار نیستند.
جاهایی که هنوز محتاط میشود
لحظههایی که بهجای حدسزدن، میایستد و میپرسد

البته Claude Code در چند جا دستبهعصا شد. بیشترشان به کدهای پایتونی مربوط بودند که واقعاً میتوانستند Blender را از کار بیندازند؛ مثلاً پشتههای سنگین اصلاحگرها، گرههای هندسی با حلقههای خودارجاع و مواردی از این دست. Claude Code هم خودبهخود برای این عملیات سازوکارهای بیشتری برای مدیریت خطا در نظر گرفت؛ بیآنکه من چنین چیزی از او خواسته باشم.
یک بار هم از او خواستم مدلی را از پُلی هِیوِن وارد کند و مقیاس کل صحنه را طوری تغییر دهد که یک ورودی، هماندازه دری استاندارد با ارتفاع ۸۰ اینچ به نظر برسد. این بار رفتارش متفاوت بود؛ برخلاف معمول، اندازه را چشمی حدس نزد. واقعاً کار را متوقف کرد و پیش از ادامه، اندازه دقیق را از من پرسید.
راستش به نظر میرسد پیش از آنکه میزان احتیاطش را تعیین کند، میسنجد که یک اشتباه واقعاً چقدر دردسرساز خواهد بود. اگر تصویر نهایی یک قطعه برنجی بیشازحد براق شود چه؟ مهم نیست؛ دوباره رندر میگیریم و فقط چند دقیقه از دست میرود. اما اگر سوراخ قطعهای که قرار است چاپ سهبعدی شود در جای نادرستی ایجاد شود، حاصلش یک بعدازظهر تلفشده و یک قرقره فیلامنت دورریختهشده است. برای همین، پیش از هر کاری ایستاد و بررسی کرد. هیچکس ننشسته بود تا به او بگوید با این دو موقعیت متفاوت برخورد کند؛ ظاهراً خودش در طول کار به این نتیجه رسیده بود.
محدودیتهای Claude Code در Blender
کاستیهای پیوند با Blender

همراهکردن Claude Code و Blender همیشه بیدردسر نیست. برای نمونه، من با گرههای هندسی حسابی به مشکل خوردم. Claude Code میتواند یک آرایش پیچیده از گرهها را از صفر و بهخوبی بسازد و از این بابت هیچ ایراد جدیای ندارد؛ اما کافی است در یکی از آرایشهایی که خودش ساخته مشکلی پیش بیاید تا کموبیش سردرگم شود.
در یکی از آرایشها که میخواستم با آن نوعی جلوه پراکندگی بسازم، گرهها اصلاً آنطور که باید رفتار نمیکردند. یافتن علت مشکل زمان بسیار زیادی برد؛ احتمالاً بسیار بیشتر از آنچه لازم بود، بهویژه اگر من هم مثل بعضیها Blender را بهخوبی میشناختم. کسی که میتوانست با یک نگاه به آن کلاف درهمپیچیده گرهها بگوید «مشکل همینجاست»، این مسئله را بیدرنگ حل میکرد.
رفتوبرگشت پیاپی اسکرینشاتها هم کندتر از چیزی است که تا پیش از درگیرشدن با آن به چشم میآید: رندر بگیر، نگاه کن، مشکل را توضیح بده، درباره تغییر بعدی تصمیم بگیر و دوباره از اول. وقتی این روند را روی کاغذ میخوانید چندان بد به نظر نمیرسد، اما اگر برای یک تغییر کوچک در متریال ناچار شوید شش بار پیاپی تکرارش کنید، ماجرا کاملاً فرق میکند.
CAD هیچوقت مرا وادار به چنین کاری نکرد. وقتی قیدی شکسته باشد، بیپرده خبرتان میکند و حتی لازم نیست خودتان چیزی را بررسی کنید. Blender اساساً اینگونه طراحی نشده است؛ بنابراین Claude ناچار است هر بار واقعاً نتیجه را ببیند، حدس بزند و دوباره آن را وارسی کند.
نکته دیگری هم شایسته یادآوری است: BlenderMCP را Anthropic نساخته و نگهداری نمیکند. این پروژهای اجتماعی است که فردی در وقت آزاد خود سرهم کرده است. در نتیجه، ارتباط میان این دو برنامه کاملاً قابلاعتماد و بینقص نیست. برای کمی آزمونوخطا در یک بعدازظهر شنبه بهاندازه کافی خوب است، اما دستکم با وضعیت کنونی، کاری را که باید تمام شب بدون نظارت اجرا شود به آن نمیسپارم.
کار با هر دو ابزار چه چیزی درباره سازگاری Claude Code به من آموخت
در پایان به این نتیجه نرسیدم که یکی از این برنامهها برای کار با هوش مصنوعی مناسبتر است. تنها چیزی که تغییر کرد، ابزاری بود که Claude Code در اختیار داشت و بازخوردی که هنگام کار با آن دریافت میکرد.
برای ساخت پایه، پیش از آنکه کاری روی میز انجام دهد اندازه دقیق را میخواست؛ اما برای چراغ، ابتدا آن را ساخت و بعد ظاهرش را بررسی کرد. هیچکس او را طوری برنامهریزی نکرده بود که در هر مورد رفتاری متفاوت داشته باشد؛ روند کار خودبهخود به این شکل پیش رفت. Blender در مقایسه با CAD شیوه متفاوتی از حدسزدن را پاداش میدهد و Claude Code بهنحوی، بدون آنکه کسی این موضوع را برایش توضیح دهد، خودش آن را دریافت.
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Bryan M. Wolfe است. مشاهده مقاله اصلی