توسعه نرم افزار برای BIM( مدل سازی اطلاعات ساخت)

توسعه نرم افزار برای BIM( مدل سازی اطلاعات ساخت)
توسعه ی نرم افزارها به حدی است که به تمامی صنایع نفوذ کرده است و این زمان دقیقا مربوط به هجوم به بخش AEC می باشد. در این مقاله ما درباره ی BIM( مدل سازی اطلاعات ساخت)، توسعه ی نرم افزار و ارتباط بین آنها صحبت خواهیم کرد. همچنین ما قصد داریم که از طریق برنامه ریزی در یک راه توسعه دهنده ی نرم افزار برای BIM حرکت کنیم. بنابراین اگر شما یک متخصص از هر رشته و سطحی مرتبط با BIM هستید، این مقاله برای شما مناسب می باشد.
سیر توسعه ی BIM
ناکار آمدی طراحی و نقشه کشی دستی بر روی کاغذ باعث شد تا ما راه مناسب تری را پیدا کنیم. بنابراین ما از DAC( Design Automated by Computer) استفاده می کنیم که بعدا به CAD( Design/Drafting) تغییر نام داد. این قضیه در آن زمان یک انقلاب بود اما ماها انتظار و توقع بیشتری داشتیم. گام بعدی سه بعدی CAD بود که برای تجسم بهتر و شبیه سازی آنچه در دنیای واقعی ساخته شده است می باشد. مشکل CAD 3D این می باشد که کامپیوتر تفاوت بین عناصر یعنی تیر و دیوار را درک نمی کند. این یک زمان مناسب برای ساخت یک ابر قهرمان جدید یعنی مدل سازی پارامتریک می باشد. مدل سازی پارامتریک یک رویکرد مدل سازی است که برای هر بُعد یک پارامتر دارد و هر عنصر دارای قوانین تعریف شده برای روابط خود با دیگر عناصر می باشد. به عنوان مثال پنجره نمی تواند بدون یک دیوار میزبان ایجاد شود. مدل سازی پارامتریک مفهوم پایه ای برای BIM می باشد که کامپیوتر را قادر می سازد تا اطلاعات مربوط به هر عنصر را ذخیره کند.
الگوریتم ها
کلمه ی الگوریتم ریشه در لاتین کردن نام “محمد بن موسی خوارزمی” می باشد که مخترع الگوریتم است. الگوریتم صد سال قبل از برنامه نویسی کامپیوتری به وجود آمد و روشی برای حل مسائل ریاضی با استفاده از سه مفهوم( توالی یا ترتیب ، تکرار و انتخاب بهترین رویکرد تصمیم گیری بر اساس ارزش نتیجه) یا آنچه امروزه ما می توانیم به نام حلقه ها و شرایط (Loops & Conditions) بگوییم، می باشد. بنابراین اگر با ریاضیات و تفکرات منطقی رابطه ای خوب دارید، گام اول برای یادگیری برنامه نویسی را برداشته اید.
علاوه بر حلقه ها و شرایط، برنامه نویسی مفاهیم اساسی ریاضیات مشابهی دارد:
- متغیرها: مانند X یا Y که در مختصات ریاضی برای نشان دادن یه مقدار خاص می باشد.
- عملگرها: مانند + یا – که قبلا در زبان های برنامه نویسی تعریف شده اند. اما یک کامپیوتر چگونه کارایی عملگرها را درک می کند که برنامه نویسی آن بر اساس ۰ و ۱ می باشد.
- توابع: آنها توابع دقیق ریاضیات هستند که یک فرمول ثابت برای حل مسائل دارند.
اکنون می توانیم سوال شماره دوم را پاسخ دهیم. عملگرها یا دستوراتی که پیام “Hello world” را بر روی صفحه ی خود نشان می دهند، یک تابع تعریف شده ی از پیش تعیین شده می باشد که توسط یکی دیگر از توسعه دهنده ها ساخته شده است. بنابراین شما می توانید با تعاریف دوباره ی آنها این دو عدد را ضرب یا جمع کنید. این توابع از پیش تعریف شده را می توانیم در برنامه های جدید دوباره استفاده کنیم، اگر از جایی که اصطلاحاً کتابخانه نامیده می شود استفاده شود. کتابخانه یک فولدر شامل تعدادی توابع آماده ی از پیش تعیین شده است تا برای صرفه جویی در زمان و دوباره بازنویسی کم شود. برنامه نویسی که ما در مورد آنها صحبت می کنیم، برنامه نویسی خطی نام دارد.
برنامه نویسی شی گرا (Object-Oriented Programming)
مدل سازی پارامتریک نمی تواند به عنوان یک مفهوم با استفاده از برنامه نویسی خطی اجرا شود. زیرا هیچ راهی برای تعریف عناصری مثل Column یا Floor وجود ندارد. آنها نمی توانند با متغیرها تعریف شوند. آنها بیشتر شبیه به یک جدول شامل ویژگی های زیادی مثل عرض، طول، ارتفاع و حتی مصالح و غیره می باشند. برنامه نویسی شیء گرا(OOP) این مشکل را حل کرده است. OOP با استفاده از آنچه که ما آن را “کلاس ها” (Classes) می نامیم، تمامی متغیرها/پارامترها (variables/parameters) و روش هایی که به یک عنصر خاص مربوط می باشد (به عنوان مثال محاسبه مساحت یا محاسبه هزینه) را شامل می شود. OOP مدل سازی مبتنی بر Object یا BIM یک مدل کار عملی می باشد.
رابط برنامه نویسی برنامه
همه ی ما رابط بین کاربر و نرم افزار را دکمه ها و فرمان هایی می دانیم که ما در هر برنامه ای برای اجرای برخی قابلیت ها مانند ترسیم یک خط استفاده می کنیم . رابط برنامه نویسی برنامه (API) یک رابط برای برنامه نویسان است. بنابراین برنامه نویس می تواند یک قابلیت جدید برای یک برنامه با استفاده از توابع ساخته شده که توسط توسعه دهنده اصلی نوشته شده است یا در کتابخانه قبلی می باشد، اضافه کند. API ما را قادر می کند تا از کلاس های از پیش تعریف شده و متغیرها و روش ها، برای ایجاد قابلیت های جدید یا بهینه سازی یک گردش کاری خاص استفاده کنیم.
اکنون زمان این سوال است که به عنوان یه توسعه دهنده نرم افزار BIM( مدل سازی اطلاعات ساخت) چه باید بکنیم؟
مرحله اول:می توانید از برنامه Dynamo استفاده کنید. داینامو یک زبان برنامه نویسی به صورت ویژوال می باشد که کاربران می توانند بدون داشتن دانش برنامه نویسی، شروع به ایجاد اسکریپت های خود کنند. این گام برای شروع بسیار مفید و عالی می باشد. بین Node و Code تفاوت هایی وجود دارد که در تصویر زیر می توانید مشاهده کنید.
مرحله دوم: زبان برنامه نویسی را خوب یاد بگیرید. من برنامه ی #C را توصیه می کنم که از API های نرم افزار BIM می باشد و به همین دلیل#C از API های های محبوب می باشد که برای هر نیازی به شما کمک می کند. در صورتی که هدف شما بیشتر برای توسعه گره های داینامو می باشد، Python (پایتون) مناسب تر است.
مرحله سوم: شما بدون دانستن قابلیت و توانایی های یک برنامه، نمی توانید برای آن پلاگ-این یا افزونه بنویسید. بنابراین در گام دوم، شما می بایست علاوه بر یادگیری یک زبان برنامه نویسی، آن نرم افزار را هم خوب یاد بگیرید تا از توانایی ها و قابلیت های آن آشنا شوید.
مرحله چهارم: در مرحله ی دوم، با محیط کاری برنامه آشنا شده اید، بنابراین آماده هستید تا بدانید کُدهای ان چگونه می باشد. API را یاد بگیرید و با کلاس های از پیش تعریف شده آشنا شوید تا بتوانید عاقلانه از آن استفاده کنید.
برای اینکه بتوانید با API نویسی در نرم افزار Revit و برنامه Dynamo آشنا شوید پیشنهاد می کنیم آموزش های زیر را دنبال کنید.
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.