رفتن به محتوا
ARTINEXT

BIM و Revit

پلاگین در رویت چیست؟ نحوه‌ی کار افزونه‌ها و زمان نیاز به آن‌ها

رابط ساده‌ی یک پلاگین نشانه‌ی ساده بودن آن نیست. یک دکمه در ریبون معمولاً خلاصه‌ی ده‌ها تصمیمی است که پیش از آن گرفته شده تا کاربر دیگر مجبور به گرفتن آن‌ها نباشد.

استودیوی سامانه‌های دیجیتالانتشار:

تیمی که پلاگین‌های اختصاصی Revit را برای دفاتر معماری، سازه و تأسیسات طراحی می‌کند و می‌سازد.

فهرست مطالب
  1. پاسخ کوتاه
  2. پلاگین چگونه کار می‌کند
  3. پلاگین، افزونه یا Add-in
  4. تفاوت با Dynamo و pyRevit
  5. پلاگین‌ها چه کارهایی انجام می‌دهند
  6. نصب و مدیریت
  7. آماده یا اختصاصی
  8. جمع‌بندی
  9. پرسش‌های متداول

پلاگین در رویت چیست؟ پلاگین، که Autodesk آن را Add-in و در فارسی افزونه نیز می‌نامد، برنامه‌ای است که روی Revit نصب می‌شود و از طریق Revit API فرمان‌ها یا قابلیت‌های تازه‌ای به آن اضافه می‌کند. بیشتر پلاگین‌ها به‌صورت یک یا چند دکمه در ریبون ظاهر می‌شوند. کاربر دکمه را می‌زند و افزونه کاری را که پیش از این با ده‌ها کلیک یا به‌صورت دستی انجام می‌شد، در داخل همان مدل انجام می‌دهد: نام‌گذاری شیت‌ها، کنترل کیفیت مدل، خروجی Excel یا ساخت المان‌ها بر اساس یک قاعده.

از نظر فنی، پلاگین یک فایل DLL است که معمولاً با C# و روی .NET نوشته می‌شود، به‌همراه یک فایل متنی کوچک با پسوند .addin که به Revit می‌گوید آن DLL را از کجا بارگذاری کند. Revit هنگام اجرا این فایل‌ها را می‌خواند و فرمان‌های افزونه را در اختیار کاربر قرار می‌دهد.

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

نمای نزدیک از کد رنگی روی صفحه‌ی نمایشگر تاریک، کدی که پشت یک دکمه‌ی پلاگین قرار دارد

پلاگین در رویت چگونه کار می‌کند

پیچ‌گوشتی‌هایی با دسته‌های رنگی که روی یک نگه‌دارنده‌ی قرمز به دیوار آویزان شده‌اند، هرکدام برای یک کار مشخص

هر پلاگین دو بخش دارد. بخش اول یک اسمبلی .NET، یعنی فایل DLL، است که کد افزونه را در خود دارد. بخش دوم یک فایل مانیفست با پسوند .addin است، یک فایل XML کوتاه که مسیر DLL، نام کلاس اصلی و یک شناسه‌ی یکتا (GUID) را مشخص می‌کند. Revit هنگام اجرا، فایل‌های .addin را از دو پوشه می‌خواند: پوشه‌ی مشترک همه‌ی کاربران در ProgramData و پوشه‌ی کاربر فعلی در AppData، هرکدام با زیرپوشه‌ای به نام سال نسخه‌ی Revit.

کد افزونه یکی از دو رابط Revit API را پیاده‌سازی می‌کند. IExternalCommand یک فرمان مشخص است که با زدن یک دکمه اجرا می‌شود و کارش را تمام می‌کند. IExternalApplication هم‌زمان با باز شدن Revit بارگذاری می‌شود و می‌تواند تب و پنل اختصاصی در ریبون بسازد یا به رویدادهایی مانند ذخیره و باز شدن فایل پاسخ دهد. بیشتر پلاگین‌های کامل از هر دو استفاده می‌کنند: یک Application که ریبون را می‌سازد و چند Command که پشت دکمه‌ها قرار دارند.

هر تغییری که افزونه در مدل ایجاد می‌کند، درون یک Transaction انجام می‌شود، به همان شکلی که کاربر با دست تغییر ایجاد می‌کند. در نتیجه تغییرات افزونه با Undo قابل‌بازگشت است و در تاریخچه‌ی مدل ثبت می‌شود. توضیح کامل‌تر Revit API و ساختار پروژه‌های آن در مقاله‌ی توسعه با Revit API آمده است.

پلاگین، افزونه، Add-in یا Add-on

این نام‌ها به یک چیز اشاره می‌کنند. Autodesk در مستندات Revit API از واژه‌ی Add-in استفاده می‌کند، فروشگاه Autodesk App Store آن‌ها را App می‌نامد و کاربران و فروشندگان بیشتر از Plugin یا Add-on استفاده می‌کنند. در فارسی، پلاگین و افزونه هر دو رایج‌اند.

تفاوت واقعی میان نام‌ها نیست، میان شیوه‌ی ساخت آن‌هاست. یک Add-in کامپایل‌شده با C#، یک اسکریپت Dynamo و یک ماکروی داخل Revit هر سه می‌توانند یک کار را خودکار کنند، اما در نصب، نگه‌داری و توزیع در تیم تفاوت زیادی دارند.

تفاوت پلاگین با Dynamo، pyRevit و ماکرو

چهار راه رایج برای افزودن یک قابلیت به Revit وجود دارد:

  • Add-in کامپایل‌شده: فایل DLL و مانیفست .addin، معمولاً با C#. سریع‌ترین اجرا، رابط کاربری کامل و امکان توزیع با یک نصب‌کننده را دارد، اما ساخت آن به برنامه‌نویس نیاز دارد.
  • اسکریپت Dynamo: برنامه‌نویسی بصری با اتصال نودها، که درون Dynamo یا از طریق Dynamo Player اجرا می‌شود. برای کارهای تکراری داخل یک تیم و نمونه‌سازی سریع مناسب است و به نسخه‌ی Dynamo و پکیج‌های نصب‌شده وابسته است.
  • pyRevit: یک Add-in متن‌باز و رایگان که اسکریپت‌های Python را به‌صورت دکمه در ریبون اجرا می‌کند. ساخت یک ابزار کوچک با آن سریع است و خود pyRevit مجموعه‌ای از ابزارهای آماده نیز دارد.
  • ماکرو: کدی که از طریق Macro Manager درون Revit نوشته و اجرا می‌شود. برای یک کار کوچک در یک فایل یا یک کاربر کافی است، اما توزیع و نگه‌داری آن در یک تیم دشوار است.

قاعده‌ی کلی این است که اگر یک نفر هفته‌ای یک‌بار کاری را انجام می‌دهد، اسکریپت Dynamo یا pyRevit معمولاً کافی است. اگر کل دفتر هر روز به آن ابزار وابسته است، به رابط کاربری کامل نیاز دارد یا باید روی نسخه‌های مختلف Revit کار کند، Add-in کامپایل‌شده انتخاب مناسب‌تری است. مقاله‌ی توسعه‌ی اسکریپت‌های Dynamo مرز میان این دو را با جزئیات بیشتری بررسی می‌کند.

پلاگین‌ها در رویت چه کارهایی انجام می‌دهند

پلاگین‌های تجاری و رایگان بیشتر در چند دسته قرار می‌گیرند: رندر و نمایش هم‌زمان مدل، کنترل کیفیت و بررسی هشدارهای مدل، مدیریت شیت‌ها و خروجی PDF و DWG، انتقال داده میان Revit و Excel، مدیریت فمیلی‌ها و کتابخانه، و ابزارهای تخصصی سازه و تأسیسات مانند طراحی سیستم‌ها و آرماتوربندی.

پلاگین‌های اختصاصی معمولاً کاری را انجام می‌دهند که فقط در یک دفتر به همان شکل وجود دارد: استاندارد نام‌گذاری همان دفتر، قالب گزارشی که کارفرمای آن دفتر می‌خواهد یا تبدیل خروجی یک نرم‌افزار دیگر به المان‌های بومی Revit. این کارها در هیچ فروشگاهی به‌صورت آماده وجود ندارند، چون فقط یک تیم آن‌ها را به این شکل انجام می‌دهد.

نصب، فعال‌سازی و حذف پلاگین رویت

بیشتر پلاگین‌ها یک نصب‌کننده دارند که فایل‌ها را در پوشه‌ی Addins نسخه‌ی مربوط قرار می‌دهد. پس از نصب، Revit باید یک‌بار بسته و دوباره باز شود. اگر افزونه امضای دیجیتال نداشته باشد، Revit هنگام اجرا پیامی امنیتی نمایش می‌دهد و از کاربر می‌پرسد آن را همیشه بارگذاری کند، فقط این‌بار بارگذاری کند یا بارگذاری نکند.

هر نسخه‌ی Revit پوشه‌ی جداگانه‌ی خود را دارد و پلاگینی که برای Revit 2024 ساخته شده، الزاماً در Revit 2025 کار نمی‌کند. از نسخه‌ی 2025، Revit API به .NET 8 منتقل شده و افزونه‌هایی که برای .NET Framework نوشته شده‌اند باید دوباره ساخته شوند. پیش از ارتقای نسخه‌ی Revit در دفتر، فهرست پلاگین‌هایی که تیم به آن‌ها وابسته است و سازگاری هرکدام باید بررسی شود.

برای حذف یک پلاگین، ابتدا از بخش برنامه‌های Windows یا نصب‌کننده‌ی خود افزونه استفاده کنید. اگر پس از آن پیام خطای بارگذاری باقی ماند، معمولاً یک فایل .addin در یکی از پوشه‌های Addins باقی مانده است که باید حذف شود. فقط افزونه‌هایی را نصب کنید که منبع آن‌ها مشخص است، چون یک پلاگین به همه‌ی فایل‌هایی که Revit باز می‌کند دسترسی دارد.

پلاگین آماده یا پلاگین اختصاصی

پیش از سفارش ساخت یک پلاگین، Autodesk App Store، ابزارهای pyRevit و پکیج‌های Dynamo را بررسی کنید. برای بسیاری از کارهای عمومی مانند تغییر نام گروهی، مرتب‌سازی شیت‌ها یا خروجی Excel، ابزار آماده‌ای وجود دارد که با هزینه‌ی کمتری همان نتیجه را می‌دهد. اگر ابزار آماده کار شما را انجام می‌دهد، به ما یا شرکتی مانند ما نیازی ندارید.

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

جمع‌بندی

پلاگین در رویت یک افزونه‌ی .NET است که از طریق Revit API فرمان‌های تازه به Revit اضافه می‌کند و با یک فایل .addin در پوشه‌ی Addins بارگذاری می‌شود. Dynamo، pyRevit و ماکروها راه‌های سبک‌تری برای همین کار هستند و برای بسیاری از نیازها کافی‌اند. وقتی یک دکمه جای دو هفته کار دستی را می‌گیرد، سادگی آن دکمه نتیجه‌ی تصمیم‌هایی است که پیش از آن گرفته شده‌اند. اولین کاری که می‌خواهید خودکار شود چیست؟

پرسش‌های متداول

پلاگین در رویت چیست؟

برنامه‌ای که روی Revit نصب می‌شود و از طریق Revit API فرمان‌ها یا قابلیت‌های تازه‌ای به آن اضافه می‌کند. بیشتر پلاگین‌ها به‌صورت دکمه در ریبون ظاهر می‌شوند و کار را درون همان مدل انجام می‌دهند.

تفاوت پلاگین و افزونه و Add-in در رویت چیست؟

تفاوتی ندارند. Autodesk از واژه‌ی Add-in استفاده می‌کند و پلاگین و افزونه معادل‌های رایج همان واژه هستند.

آیا Dynamo یک پلاگین است؟

Dynamo یک محیط برنامه‌نویسی بصری است که همراه Revit نصب می‌شود و درون آن اجرا می‌شود. اسکریپت‌های Dynamo کار پلاگین را انجام می‌دهند، اما به‌جای فایل DLL، فایل‌های .dyn هستند که درون Dynamo یا Dynamo Player اجرا می‌شوند.

پلاگین‌های رویت با چه زبانی نوشته می‌شوند؟

بیشتر با C# روی .NET، چون Revit API یک کتابخانه‌ی .NET است. VB.NET نیز امکان‌پذیر است و ابزارهایی مانند pyRevit و Dynamo امکان استفاده از Python را فراهم می‌کنند.

فایل‌های پلاگین رویت در کجا قرار دارند؟

فایل‌های .addin در پوشه‌ی Autodesk\Revit\Addins و زیرپوشه‌ی سال نسخه قرار دارند، یا در ProgramData برای همه‌ی کاربران یا در AppData برای کاربر فعلی. فایل DLL می‌تواند در هر مسیری باشد که مانیفست به آن اشاره می‌کند.

چرا پلاگین بعد از ارتقای نسخه‌ی رویت کار نمی‌کند؟

هر نسخه‌ی Revit پوشه‌ی Addins جداگانه دارد و API آن ممکن است تغییر کرده باشد. از Revit 2025، API به .NET 8 منتقل شده و افزونه‌های قدیمی باید برای نسخه‌ی جدید دوباره ساخته شوند.

آیا نصب پلاگین روی رویت امن است؟

پلاگین به فایل‌هایی که Revit باز می‌کند دسترسی کامل دارد، در نتیجه فقط افزونه‌هایی با منبع مشخص، مانند Autodesk App Store یا توسعه‌دهنده‌ی شناخته‌شده، نصب کنید. پیام امنیتی Revit برای افزونه‌های بدون امضا را جدی بگیرید.

بازگشت به بالا

قدم بعدی

اولین چیزی که می‌خواهید تغییر کند چیست؟

از جریان کاری‌تان بگویید، کجا زمان از دست می‌رود و کجا خطا ایجاد می‌شود. بعد تصمیم می‌گیریم چه چیزی باید ساخته شود. اگر راه‌حل ابزار نباشد، همان ابتدا می‌گوییم.

اگر فقط به‌دنبال یک قالب آماده یا پلاگین پیش‌ساخته هستید و نمی‌خواهید فرآیندتان بررسی شود، احتمالاً جای درستی نیامده‌اید.