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

BIM و Revit

خروجی اکسل از اسکجوال رویت؛ آنچه انتقال رفت‌وبرگشتی داده باید حفظ کند

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

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

تیمی که ابزارهای مدیریت خروجی، داده و اتوماسیون رویت را برای دفاتر معماری، سازه و تأسیسات می‌سازد.

فهرست مطالب
  1. پاسخ کوتاه
  2. خروجی داخلی رویت
  3. آماده‌سازی اسکجوال
  4. پاک‌سازی فایل در اکسل
  5. مسیر یک‌طرفه
  6. آنچه پلاگین اضافه می‌کند
  7. حفاظت از داده در مسیر برگشت
  8. مدیریت خروجی‌ها
  9. ابزار آماده یا اختصاصی
  10. جمع‌بندی
  11. پرسش‌های متداول

خروجی اکسل از اسکجوال رویت با یک پلاگین، اسکجوال را مستقیماً در یک فایل ‎.xlsx می‌نویسد و پلاگین‌های کامل‌تر، مقادیر ویرایش‌شده را نیز به مدل برمی‌گردانند. رویت نیمه‌ی اول این کار را به‌تنهایی و به‌شکلی ساده انجام می‌دهد: مسیر File، Export، Reports، Schedule یک فایل متنی جداشده با کاراکتر ذخیره می‌کند که اکسل آن را باز می‌کند. نیمه‌ی دوم در رویت وجود ندارد. خروجی داخلی هیچ مسیری برای بازگرداندن صفحه‌گسترده به مدل ندارد.

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

اولین پروژه‌ی پژوهشی بنیان‌گذار آرتینکست به داده‌ی تولیدشده نیاز داشت و ۶۰۰ داده‌ی اول به‌صورت دستی ساخته شد. واکنش این بود: «۶۰۰؟ واقعاً؟ همین؟» به‌جای افزودن ردیف‌های بیشتر، یک سامانه‌ی تولید داده ساخته شد که به حدود ۲۲٬۰۰۰ پیکربندی رسید. کپی دستی مقادیر میان اسکجوال و صفحه‌گسترده، همان دام در مقیاس یک دفتر است. توقف در نقطه‌ای که کار انجام می‌شود، خط پایان نادرستی است؛ نقطه‌ی درست، جایی است که سازوکار آن درک شده باشد.

درهای یک راهرو، هرکدام یک ردیف در اسکجوال درها، پیش از خروجی اکسل از اسکجوال رویت

خروجی داخلی رویت دقیقاً چه چیزی تحویل می‌دهد

خروجی داخلی فقط از اسکجوالی گرفته می‌شود که در ویوی فعال باز است. پس از انتخاب File، Export، Reports و Schedule، رویت چند گزینه نمایش می‌دهد:

  • سرستون‌ها: خروجی گرفتن از عنوان ستون‌ها در یک ردیف یا چند ردیف.
  • ردیف‌های گروه: خروجی گرفتن از سرگروه‌ها، پاگروه‌ها و ردیف‌های خالی.
  • جداکننده‌ی فیلد: Tab، کاما یا کاراکتر دیگر.
  • Text Qualifier: کاراکتری که متن هر خانه را در بر می‌گیرد.

نتیجه یک فایل متنی جداشده با کاراکتر است، نه یک فایل ‎.xlsx. Revit API نیز همین رفتار را دارد: متد ViewSchedule.Export اسکجوال را در یک فایل متنی ذخیره می‌کند. فهرست شیت‌ها نیز یک اسکجوال است، در نتیجه خروجی اکسل از شیت‌های رویت با همین روش و با همین محدودیت‌ها انجام می‌شود.

اسکجوال را برای مسیر برگشت آماده کنید

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

  • یک ردیف برای هر المان: گزینه‌ی Itemize every instance را فعال کنید تا هیچ ردیفی نماینده‌ی گروهی از درها نباشد.
  • فیلدهای شناسایی: Family and Type، Mark و Level، تا هر ردیف در مدل قابل‌پیدا کردن باشد.
  • مقادیر بدون قالب‌بندی: نماد واحد غیرفعال و گردکردن متناسب با دقتی که داده واقعاً نیاز دارد.
  • فقط فیلدهایی که کسی می‌خواند یا ویرایش می‌کند: هر ستون اضافه، یک محل دیگر برای بازگشت مقدار نادرست است.

اسکجوال‌های رویت شناسه‌ی المان را به‌عنوان فیلد نمایش نمی‌دهند و به همین دلیل مسیر رفت‌وبرگشتی به پلاگین یا اسکریپتی نیاز دارد که این ستون را اضافه کند. همین یک ستون، تفاوت میان یک گزارش و یک منبع داده است.

چرا فایل خروجی در اکسل به پاک‌سازی نیاز دارد

فایل متنی آنچه را اسکجوال روی صفحه نشان می‌دهد ذخیره می‌کند، نه داده‌ی خام را. به همین دلیل پس از باز شدن در اکسل، چند ایراد تکراری ظاهر می‌شود:

  • اعداد به‌صورت متن: اگر اسکجوال نماد واحد را نمایش دهد، مقداری مانند «2400 mm» یک متن است و در فرمول‌ها محاسبه نمی‌شود.
  • ردیف‌های اضافه: سرگروه‌ها، جمع‌های جزئی و ردیف‌های خالی میان داده‌ها قرار می‌گیرند و مرتب‌سازی و فیلتر را مختل می‌کنند.
  • سرستون چندردیفی: عنوان‌های گروه‌بندی‌شده در چند ردیف قرار می‌گیرند و باید دستی در یک ردیف ادغام شوند.

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

خروجی داخلی یک‌طرفه است

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

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

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

پلاگین خروجی اکسل از اسکجوال رویت چه چیزی اضافه می‌کند

پلاگین مراحل میانی را حذف می‌کند و در عوض، مسئولیت درستی داده را بر عهده می‌گیرد. کار یک پلاگین کامل معمولاً شامل این موارد است:

  • خروجی مستقیم ‎.xlsx، با اعداد به‌صورت عدد و سرستون‌ها در یک ردیف.
  • چند اسکجوال در یک فایل، هر اسکجوال در یک Worksheet جداگانه.
  • خروجی دسته‌ای از تمام اسکجوال‌های یک پروژه یا چند پروژه، با نام‌گذاری یکسان.
  • شناسه‌ی المان در ستونی پنهان، تا هر ردیف در مسیر برگشت به المان درست برسد.
  • ورود داده از اکسل به رویت، همراه با گزارشی از مقادیر تغییرکرده و مقادیری که نوشته نشده‌اند.

ابزارهای شناخته‌شده‌ای مانند Ideate BIMLink و SheetLink از DiRoots همین مسیر رفت‌وبرگشتی را پوشش می‌دهند و فروشگاه Autodesk نیز پلاگین‌های ساده‌تری برای خروجی یک‌طرفه دارد. همان‌طور که در نوشته‌ی کنترل‌کننده مدل رویت آمده است، بازبینی پارامترها در صفحه‌گسترده یکی از رایج‌ترین کاربردهای این ابزارهاست.

آنچه انتقال رفت‌وبرگشتی داده باید حفظ کند

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

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

  1. شناسه‌ی هر المان: ردیف‌ها باید با ElementId یا UniqueId به المان‌ها متصل باشند. تطبیق بر اساس نام یا Mark با اولین مقدار تکراری از کار می‌افتد.
  2. واحد ذخیره‌سازی: رویت طول‌ها را فارغ از واحد پروژه به‌صورت فوت اعشاری ذخیره می‌کند. ابزاری که عدد میلی‌متری را بدون تبدیل بنویسد، هر اندازه را چند صد برابر بزرگ‌تر ثبت می‌کند.
  3. فیلدهای فقط‌خواندنی: Area، Volume، Count، فیلدهای محاسباتی و فرمول‌ها قابل‌نوشتن نیستند. ابزار باید این ستون‌ها را قفل کند، نه اینکه تغییر آن‌ها را بی‌صدا نادیده بگیرد.
  4. پارامترهای تایپ و نمونه: تغییر یک پارامتر تایپ در یک ردیف، مقدار آن را برای تمام نمونه‌های همان تایپ تغییر می‌دهد. این ستون‌ها باید در صفحه‌گسترده به‌وضوح مشخص باشند.
  5. ردیف‌های حذف‌شده یا اضافه‌شده: حذف یک ردیف در اکسل به معنای حذف المان نیست و ردیف جدید، المان جدیدی نمی‌سازد. ابزار باید هر دو حالت را گزارش دهد.

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

اسکجوال، یکی از چند خروجی پروژه

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

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

ابزار آماده، اسکریپت Dynamo یا پلاگین اختصاصی

بررسی مدارک و جدول‌ها روی میز، پیش از انتخاب ابزار خروجی اکسل

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

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

جمع‌بندی

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

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

آیا رویت بدون پلاگین از اسکجوال خروجی اکسل می‌گیرد؟

به‌شکل غیرمستقیم. مسیر File، Export، Reports، Schedule یک فایل متنی جداشده با کاراکتر ذخیره می‌کند که اکسل آن را باز می‌کند، اما فایل ‎.xlsx مستقیم تولید نمی‌شود.

چرا اعداد پس از خروجی در اکسل به‌صورت متن ظاهر می‌شوند؟

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

آیا می‌توان داده‌ی ویرایش‌شده در اکسل را به رویت برگرداند؟

نه با ابزارهای داخلی رویت. این کار به اسکریپت Dynamo یا پلاگینی نیاز دارد که هر ردیف را با شناسه‌ی المان به مدل متصل کند و واحدها را پیش از نوشتن تبدیل کند.

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

فیلدهای فقط‌خواندنی مانند Area، Volume و Count، فیلدهای محاسباتی و مقادیر حاصل از فرمول. پارامترهای تایپ قابل‌نوشتن هستند، اما تغییر آن‌ها بر تمام نمونه‌های همان تایپ اثر می‌گذارد.

آیا می‌توان از چند اسکجوال هم‌زمان خروجی گرفت؟

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

برای خروجی گاه‌به‌گاه هم پلاگین لازم است؟

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

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

قدم بعدی

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

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

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