در وبلاگ قبلی «اسرار فرمت IFC – تعریف IFC – تات بیم (tat-bim.com)» به ساختار روابط IFC اشاره کردیم. این ساختار یادآور یک شجره نامه ساده شده با آیتم های والد و فرزند است که به هم مرتبط هستند و همچنین ویژگی هایی را به ارث می برند.—-آموزش ifc
۱. کلاس ها در ساختار IFC—آموزش ifc
در دنیای فناوری اطلاعات، هر آیتم/آبجکت ممکن است به اصطلاح کلاسی با ویژگیهای مشخص توصیف شود. در وبلاگ قبلی (اسرار فرمت IFC – تعریف IFC – تات بیم (tat-bim.com)) نوشته شده است که:
“مشخصاتی که به آبجکت ها اختصاص داده شده است از نظر مهندس نیز مهم هستند (درب دارای ابعاد است، موادی که از آن ساخته شده است، موقعیت آن در فضا). IFC هر عنصر را به عنوان یک کلاس توصیف می کند. ممکن است کمی گیج کننده به نظر برسد، اما به طور خلاصه، ایده این است که هر عنصر دارای فهرستی از ویژگی ها (نام، ماده، موقعیت، ابعاد) و نوع مقدار مشخصه (متن، عدد، مختصات و غیره) باشد.
این بدان معناست که IFC برای هر عنصر یک نوع الگو ایجاد می کند که یک تعریف دقیق به همراه لیستی از ویژگی ها دارد (البته ویژگی ها نیز دقیقاً تعریف شده اند).”
۱.۱. کلاس ها، به عنوان تمپلیتی از مشخصه ها
چگونه می توانیم این فرمت را به ساده ترین شکل به عنوان یک کلاس تصور کنیم؟ به عنوان مثال برای آبجکت درب، به صورت زیر است:
این نوع توصیف آبجکت به ما اطمینان می دهد که صرف نظر از اینکه از چه برنامه ای برای تولید مدل IFC استفاده می کنیم، ویژگی های آبجکت همیشه در فرمت یکسان خواهند بود، بنابراین “Name” همیشه یک متن و “Height” همیشه یک عدد خواهد بود.
الگوی پر شده آبجکت درب به صورت زیر است:
کلاس ها لزوماً یک آبجکت فیزیکی نیستند، مانند یک در (IfcDoor) یا یک دیوار (IfcWall). همچنین ممکن است یک کار (IfcTask) باشد که از طریق ویژگیهایی که در زیر ارائه شده است توضیح داده شده است:—-آموزش ifc
باز هم، ما مطمئناً می دانیم که با توصیف کلاس از طریق مشخصات و همچنین نوع مقدار، مشخصه IsMilestone همیشه Yes/No خواهد بود (به عنوان مثال شاید، تقریباً ۰/۱ و غیره)
ساختار IFC همچنین دارای کلاس های انتزاعی تری مانند “روابط” است که نحوه اتصال آبجکت ها را با استفاده از مشخصات توصیف می کند.
برای اطلاعات بیشتر در مورد “روابط” در ساختار IFC، به نمودار زیر مراجعه کنید:
ساختار IFC همچنین دارای کلاس های انتزاعی تری مانند “روابط” است که نحوه ارتباط آبجکت ها را با استفاده از مشخصات توصیف می کند. بنابراین، امکان اتصال وظایف (Task)، به عنوان مثال، فاز ۱ با عناصر ساختمان – دیوارهای سطح ۱ (همه دیوارها از سطح اول ساختمان) وجود دارد. ساختار IFC چند صد کلاس تعریف شده دارد.
از این رو، می توان تقریباً هر چیزی را در پروژه تعریف کرد (چه بیشتر، ما می توانیم ویژگی ها یا مجموعه های اضافی اضافه کنیم، اما در این مورد بعدا). بنابراین، نام IFC Industry Foundation Classes، به اشیایی (که از طریق ویژگیها و نوع یک ویژگی مشخص به عنوان کلاسها توصیف میشوند) اشاره دارد که در صنعت ساخت وساز و مدیریت ساختمان اساسی هستند. هنگامی که صحبت از صادرات یک مدل از برنامه بومی (Revit، Tekla، Archicad) می شود، در واقع در مورد “پر کردن” قالب های کلاس با مقادیر ویژگی های مناسب توسط این برنامه است. مهمترین چیز این است که هر برنامه یک الگو را با مقادیر یکسان پر می کند، از این رو می دانیم که مدل صادر شده همگانی است.—-آموزش ifc
۲. ارث بری مشخصه ها (Attribute inheritance)
در وبلاگ قبلی، همچنین اشاره کردم که ساختار IFC از یک ساختار مسطح جداگانه تشکیل نشده است.
در این نوع جدول درختی می توان «والد» و «فرزند» را نشان داد. و ویژگی های زیادی وجود دارد که می توانیم از والدین به ارث ببریم، مانند رنگ چشم، مو، قد، شخصیت…
این بدان معنی است که ویژگی های الگوها در ساختار IFC ممکن است از “والد” به “فرزند” منتقل شود.
قبل از شروع بحث در مورد ساختار، از مثالی از زندگی روزمره استفاده خواهم کرد تا نحوه عملکرد وراثت صفت را توضیح دهم.—-آموزش ifc
تصور کنید که وسیله نقلیه ای دارید با ویژگی هایی مانند:
- وزن (۱۵۰۰ کیلوگرم)
- رنگ (سیاه)
این وسیله نقلیه ممکن است خودرویی با ویژگی های زیر باشد:
- برند (آئودی)
این خودرو ممکن است یک نسخه استیشن واگن باشد و ممکن است ویژگی زیر را داشته باشد:
- ظرفیت (۲۰۰ کیلوگرم)
ارث بردن صفات در این مورد به چه معناست؟
استیشن واگن دارای ظرفیت و ویژگی های موروثی مانند “برند” – آئودی، “رنگ” – مشکی و “وزن” – ۱۵۰۰ کیلوگرم است. ویژگی های خودرو عبارتند از: “مارک” – آئودی، “وزن” – ۱۵۰۰ کیلوگرم، و همچنین “رنگ” – مشکی. با این حال، “ظرفیت” را ندارد. در حالی که وسیله نقلیه دارای “وزن” و “رنگ” است، اما دارای “ظرفیت” یا “مارک” نیست.
وراثت صفات در طرحواره IFC مشابه است.
بیایید نگاهی دیگر به قالب درب بیندازیم:—-آموزش ifc
وراثت صفات در طرحواره IFC مشابه است.
بیایید نگاهی دیگر به قالب درب بیندازیم:
و اکنون، بیایید الگوی بالا را با الگوی مشابهی که یک اسلب را نشان می دهد (IfcSlab) مقایسه کنیم.
در هر دو مورد، صفات هم در درب و هم در دال تکرار می شوند.
در قیاس با مثال خودرو، هر دو الگو یک الگوی اصلی دارند – در طرح، IfcBuildingElement است.
این الگو شامل تمام ویژگی های درب و دال خواهد بود.—-آموزش ifc
بنابراین، چگونه “ارث” در طرح IFC پیاده سازی می شود؟
ویژگی های قالب فقط یک بار وارد می شوند. اگر یک ویژگی در یک الگوی “فرزند” تکرار شود، برای جلوگیری از تکرار همان ویژگی حذف می شود.—-آموزش ifc
بنابراین، مطابق با اصل فوق، قالب درب (IfcDoor) کم و بیش به این شکل است:
IfcDoor
به نوبه خود، این الگوی اسلب است (IfcSlab)
گرافیک زیر این فرآیند را به روشی قابل دسترس تر نشان می دهد:
۳. ساختار IFC – شجره نامه
برای آشنایی پایه ای و کامل تر درباره IFC به وبلگ زیر سر بزنید :
IFC چیست تمام چیزی که باید در مورد این فرمت بدانید ؟ مزایا و معایب – تات بیم (tat-bim.com)
ممکن است با دیدن این نمودار کلاس IfcDoor کمی گیج شوید:—-آموزش ifc
اما اگر آن را به شکل ساده شده به عنوان شجره نامه ارائه کنم، این طرح قابل درک تر و شفاف تر به نظر می رسد و خط روابط بین “والد” و “فرزند” بسیار واضح تر است.
خلاصه
اکنون، می توانید ببینید، آن عناصر ظاهراً متفاوت در ساختار مشابه هستند. دو کلاس بسیار متفاوت، مانند آبجکت (IfcObject) و فرآیند (IfcProcess)، در واقع بسیاری از ویژگی های ارثی متقابل را به اشتراک می گذارند.—-آموزش ifc
هر کلاس در طرح دارای شناسه جهانی منحصر به فرد (GUID)، تاریخچه مالک، نام و توضیحات است که از الگوی IFCROOT به ارث رسیده است که از همه کلاس های الگو برتر است.
استفاده از الگوهای استاندارد و همگانی، کنترل اطلاعاتی را که در فرآیند ساخت و ساز منتقل می شود و مورد استفاده قرار می گیرد، آسان تر و قابل پیش بینی تر می کند (به هر حال، مهمترین عنصر در BIM – اطلاعات است). به خصوص اگر بخواهیم فرآیندها را با استفاده از نرم افزارهای کامپیوتری خودکار، بهبود و تسریع کنیم. این واقعیت که ویژگی ها در کل ساختار (شجره خانواده) ارثی هستند به این معنی است که ما مطمئن هستیم که فرمت مشخصه برای کلاس های مختلف همیشه یکسان خواهد بود. این اتفاق نمی افتد که ارتفاع درب ۱۲۰ سانتی متر و ارتفاع پنجره یک متر و بیست بیان شود.—
مثالی دیگر؟ تصور کنید که از این برنامه برای ایجاد لیست درب استفاده می کنید. برنامه آنها را با استفاده از ویژگی Type (IfcObjectType) گروه بندی می کند – به عنوان مثال. Door Type1، Door Type2 و غیره اکنون به راحتی می توان متوجه شد که همان برنامه به راحتی لیستی از پنجره ها (IfcWindow) یا دیوارها (IfcWall) ایجاد می کند، زیرا ساختار آنها به لطف الگوهای همگانی و وراثت صفات همانطور که در بالا نوشتم، خواهند بود. امیدواریم این وبلاگ شما را کمی به ساختار IFC، همگانی بودن آن و طیف وسیعی از کاربردها نزدیکتر کرده باشد. شما چطور؟ چگونه از مدل های IFC استفاده می کنید؟ تجربیات و افکار خود را با ما به اشتراک بگذارید.—–آموزش ifc