# فئات أسس الصناعة

يهدف نموذج بيانات فئات أسس الصناعة (بالأنجليزية: Industry Foundation Calsses IFC) إلى وصف بيانات صناعة البناء والتشييد.
هي مواصفات لتنسيق الملفات وهي محايدة ومفتوحة المصدر في النظام الأساسي ولا يتحكم فيها بائع واحد أو مجموعة من البائعين. وهي تنسيق ملف كائني التوجيه مع نموذج البيانات والتي وضعتها مؤسسة بيلدينج سمارت buildingSMART (كانت سابقا بأسم: التحالف الدولي للتشغيل المتبادل، IAI) وذلك لتسهيل توافق التشغيل البيني في صناعة الهندسة المعمارية، الهندسة والبناء (Architecture Engineering Construction AEC)، وهو تنسيق التعاون الذي يشيع استخدامه في المشاريع القائمة على النمذجة (BIM).
مواصفات نموذج IFC مفتوحة ومتاحة. وتم تسجيلها من قبل منظمة الأيزو كمعيار دولي رسمي برقم: ISO 16739-1: 2018.
و نظرًا لتركيز هذا المعيار على سهولة التشغيل البيني بين منصات البرمجيات، فإن الحكومة الدنماركية قد جعلت استخدام تنسيق IFC إلزاميًا لمشاريع البناء العامة.
أيضًا تطالب شركة Senate Properties المملوكة للدولة الفنلندية والخاصة بإدارة المنشآت باستخدام برامج متوافقة مع IFC و BIM في جميع مشاريعها.
وكذلك تحتاج الحكومة النرويجية والمنظمات التابعة لها في المجالات الصحية والدفاعية إلى استخدام IFC BIM في جميع المشروعات، كما قامت العديد من البلديات وكذلك ملاك المشاريع من القطاع الخاص والمقاولين والمصممين بدمج IFC BIM في أعمالهم.

## التاريخ

بدأت مبادرة فئات أسس الصناعة IFC في عام 1994، عندما قامت شركة Autodesk بتشكيل اتحاد صناعي لتقديم المشورة للشركة حول تطوير مجموعة من فئات ++C والتي يمكن أن تدعم تطوير التطبيقات المتكاملة. ثم انضمت 12 شركة أمريكية إلى التحالف (الكونسورتيوم) وشملت هذه الشركات AT&T و HOK Architects و Honeywell و Carrier و Tishman و Butler Manufacturing. وأطلق التحالف في البداية أسم «تحالف الصناعة من أجل التشغيل البيني»، وتم فتح العضوية لجميع الأطراف المعنية في سبتمبر 1995، ثم تم تغيير اسمه في عام 1997 إلى «التحالف الدولي من أجل التشغيل البيني».
وأعيد تشكيل التحالف الجديد كمنظمة غير هادفة للربح في مجال الصناعة، بهدف نشر فئات أسس الصناعة (IFC) كنموذج منتج محايد في صناعات العمارة والهندسة والتشييد AEC والذي يستجيب لدورة حياة مبنى في مجال صناعات العمارة والهندسة والتشييد AEC.
ثم حدث تغيير آخر في الاسم في عام 2005، ويتم الآن تطوير مواصفات IFC وصيانتها بواسطة مؤسسة بيلدينج سمارت buildingSMART .

## مواصفات IFC / ifcXML

* IFC4 Add2 (2016)
* IFC4 Add1 (2015)
* IFC4 (March 2013)
* ifcXML2x3 (June 2007)
* IFC2x3 (February 2006)
* ifcXML2 for IFC2x2 add1 (RC2)
* IFC2x2 Addendum 1 (July 2004)
* ifcXML2 for IFC2x2 (RC1)
* IFC 2x2
* IFC 2x Addendum 1
* ifcXML1 for IFC2x and IFC2x Addendum 1
* IFC 2x
* IFC 2.0 (March 1999)
* IFC 1.5.1 (September 1998)
* IFC 1.5 (November 1997)
* IFC 1.0 (June 1996)

## تنسيقات الملفات

تعرّف فئات أسس الصناعة IFC تنسيقات ملفات متعددة والتي يمكن استخدامها، وتدعم الترميزات المختلفة لنفس البيانات الأساسية.
* IFC-SPF هو تنسيق نصي معرف بواسطة معيار ISO 10303-21 ("STEP-File")، حيث يتكون كل سطر عادةً من سجل كائن واحد، وله امتداد الملف ".ifc". هذا هو تنسيق IFC الأكثر استخدامًا، حيث يتمتع بالحجم الصغير والنص القابل للقراءة.
* IFC-XML هو تنسيق XML معرف بواسطة معيار ISO 10303-28 ("STEP-XML")، له امتداد ملف ".ifcXML". هذا التنسيق مناسب للتشغيل المتداخل مع أدوات XML وتبادل نماذج البناء الجزئية، ونظرًا للحجم الكبير لنماذج المباني النموذجية، فإن هذا التنسيق أقل شيوعًا في الاستخدام والممارسة.
* IFC-ZIP هو تنسيق مضغوط ZIP يتكون من ملف IFC-SPF مضمن أو ملف IFC-XML وله امتداد الملف ".ifcZIP".

## البنية

تُعرّف معايير فئات أسس الصناعة نموذج العلاقة بين الكيانات القائم على لغة النمذجة أكسبريس EXPRESS (لغة نمذجة بيانات) والذي يتكون من عدة مئات من الكيانات المنظمة في تسلسل هرمي قائم على الكائنات. تتضمن أمثلة الكيانات عناصر بناء مثل IfcWall ، والشكل الهندسي مثل IfcExtrudedAreaSolid ، والتركيبات الأساسية مثل IfcCartesianPoint.
وفي المستوى الأكثر تجريدًا، تقسم فئات أسس الصناعة IFC جميع الكيانات إلى كيانات جذرية (ذات جذور) وكيانات غير جذرية (بدون جذور).
الكيانات الجذرية اشتقت من IfcRoot ولها مفهوم المعرف (تحتوي على GUID)، وذلك جنبا إلى جنب مع سمات أخرى كالأسم والوصف والتحكم في المراجعة.
ولا تملك الكيانات الغير جذرية معرف أو مثيلات إلا إذا تمت الإشارة إليها من مثيل جذري سواء بشكل مباشر أو غير مباشر.
ينقسم IfcRoot إلى ثلاثة مفاهيم مجردة: تعريفات الكائن والعلاقات ومجموعات الخصائص:
* IfcObjectDefinition لتوضيح تواجد كائن ملموس وأنواعه
* IfcRelationship لتوضيح العلاقات بين الكائنات
* IfcPropertyDefinition لتوضيح الخصائص الموسعة بشكل ديناميكي حول الكائنات

### IfcObjectDefinition

ينقسم IfcObjectDefinition إلى صفة تواجد الكائن وأنواعه.
فهو يوضح عدد تكرارات الكائن، (مثال: كل عملية تركيب لمنتج تتضمن رقم سيريال ومكان فعلي.
كما ان IfcTypeObject توضح تعريفات الأنواع (أو القوالب) مثل نوع المنتج الذي يحتوي على رقم طراز معين وشكل مشترك. ويتم تقسيم التكرارات والأنواع إلى ستة مفاهيم أساسية: العناصر الفاعلة («من»)، والمراقبة («لماذا»)، والمجموعات («ماذا»)، والمنتجات («أين»)، والعمليات («متى»)، والموارد («كيف»).
* IfcActor يمثل الأشخاص أو المنظمات.
* IfcControl يمثل القواعد التي تتحكم في الوقت أو التكلفة أو نطاق العمل مثل أوامر التشغيل.
* يمثل IfcGroup مجموعات من الكائنات لغرض معين مثل الدوائر الكهربائية.
* IfcProduct يمثل ظهور العناصر في مساحة العمل مثل عناصر البناء المادي والمواقع المكانية.
* IfcProcess يمثل ظهور عناصر الوقت مثل المهام والأحداث والإجراءات.
* IfcResource يمثل استخدام شيء ما مع محدودية توافره مثل المواد والعمالة والمعدات.

### IfcRelationship

IfcRelationship توضح العلاقات بين الكائنات.
هناك خمسة أنواع أساسية للعلاقة: التكوين والتخصيص والاتصال والربط والتعريف.
* IfcRelDecomposes توضح علاقة كاملة مع وجود احتواء حصري مثل تقسيم مبنى إلى أرضيات وغرف أو جدار إلى ترصيع وتغليف.
* IfcRelAssigns توضح علاقات التعيين حيث يستهلك أحد الكائنات خدمات كائن آخر، مثل مورد العمل المعين لمهمة، أو المهمة المعينة لعنصر بناء.
* IfcRelConnects يشير إلى الاتصال بين الكائنات مثل لوح الأرضية المتصل بحزمة أو أنبوب متصل مع بالوعة.
* IfcRelAssociates يشير إلى مراجع خارجية لكائن مثل ملف مكتبة IFC خارجي حيث يتم تعريف كائن.
* IfcRelDefines يشير إلى علاقة مع مثيل، مثل قطعة ماسورة التي تصبح من نوع محدد.

### IfcPropertyDefinition

IfcPropertyDefinition توضح مجموعات الخصائص القابلة للتوسيع بشكل ديناميكي. تحتوي مجموعة الخصائص على واحد أو أكثر من الخصائص التي قد تكون قيمة واحدة (مثل السلسلة أو الرقم أو قياس الوحدة) أو قيمة محددة (لها حد أدنى وأقصى) أو تعداد أو قائمة قيم أو جدول قيم أو بيانات بناء.
و بينما تحدد IFC عدة مئات من مجموعات الخصائص لأنواع محددة، قد يتم تحديد مجموعات الخصائص المخصصة بواسطة موردي التطبيقات أو المستخدمين النهائيين.
* IfcPropertySet يمثل مجموعة من الخصائص المرتبطة بظهور كائن أو نوع كائن.
* IfcPropertySetTemplate [IFC2x4] توضح تعريفات الخصائص وأنواع البيانات الخاصة بها.

### منتجات

IfcProduct هي الفئة الأساسية لجميع الكائنات المادية وتنقسم إلى عناصر مكانية وعناصر مادية وعناصر التحليل الهيكلي والمفاهيم الأخرى.
قد تحتوي المنتجات على مواد مرتبطة وتمثيلات للأشكال وموضع في الفراغ.
وتتضمن العناصر المكانية IfcSite و IfcBuilding و IfcBuildingStorey و IfcSpace.
وتتضمن عناصر البناء المادية IfcWall و IfcBeam و IfcDoor و IfcWindow و IfcStair وما إلى ذلك.
وتحتوي عناصر التوزيع (HVAC ، والكهربائية، والسباكة) على مفهوم المنافذ حيث قد يكون للعناصر اتصالات محددة لمختلف الخدمات، ومتصلة معًا باستخدام الكابلات أو الأنابيب أو القنوات لتشكيل نظام. تُستخدم علاقات الاتصال المختلفة لبناء عناصر مثل الجدران ذات الفتحات المملوءة بالأبواب أو النوافذ.
قد يتم تعريف المواد للمنتجات ككل أو كطبقات أو ملفات شخصية أو مكونات للأجزاء المحددة.
* IfcMaterial يشير إلى مادة معينة، مع خصائص اختيارية (مثل الخواص الميكانيكية والحرارية) والأنماط (مثل الألوان، والقوام).
* IfcMaterialLayerSet توضح قائمة من الطبقات، تشير كل منها إلى مادة ذات سمك محدد.
* IfcMaterialProfileSet [IFC2x4] توضح مجموعة من الملفات التعريفية، ويشير كل منها إلى مادة في المقطع الهندسي للعنصر.
* IfcMaterialConstituentSet [IFC2x4] توضح مجموعة من المكونات، ويشير كل منها إلى مادة مستخدمة في جانب الشكل المحدد.
يمكن تعريف التمثيلات لشكل ثلاثي الأبعاد واضح، واختيارياً كقيود حدود. يتم تعريف كل تمثيل بواسطة IfcShapeRepresentation باسم معروف.
* يشير "Body" إلى شكل ثلاثي الأبعاد يمكن تمثيله بواسطة B-rep ، أو NURBS ، أو الهندسة الإنشائية الصلبة (CSG)، أو ملفات التعريف. ويمكن تعريفه مباشرة أو اشتقاقه عن طريق تطبيق تعريفات المواد الموجودة في معروضات أخرى.
* يشير "Axis" إلى مسار للعناصر الخطية (مثل الجدار أو الحزمة أو الأنابيب) التي يتم محاذاة ملامح المواد أو طبقاتها.
* يشير "FootPrint" إلى حدود للعناصر المستوية (على سبيل المثال، البلاطة، الدرج) التي يتم ربط طبقات المواد بها.
* يشير "Profile" إلى ملف تعريف جانبي لعناصر الفتح (على سبيل المثال، الباب، النافذة) التي يتم ربط مكونات المادة.
* تشير "SurveyPoints" إلى مجموعة من النقاط للعناصر السطحية (مثل الموقع) لوصف خطوط الكنتور.
قد يشير الموضع إلى الوضع والزاوية الرأسية والزاوية الأفقية.
* IfcLocalPlacement يشير إلى الموضع نسبة إلى التسلسل الهرمي للعنصر المرفق.
* يشير IfcGridPlacement إلى الموضع نسبة إلى شبكة ذات محاور معرفة من قبل المستخدم.
يمكن تعريف الكميات لأغراض حساب الكميات مثل إجمالي المساحة والحجم الإجمالي والوزن الإجمالي والوزن الصافي، إلخ.
تحدد IFC الكميات المختلفة المحددة لكل نوع عنصر وطريقة الحساب وفقًا للهندسة والعلاقات.

### العمليات

IfcProcess هي الفئة الأساسية للعمليات وتنقسم إلى المهام والأحداث والإجراءات. قد يكون للعمليات فترات، ومن المقرر أن تحدث في فترات زمنية محددة.
وقد يتم تسلسل العمليات بحيث تبدأ المهمة اللاحقة بعد انتهاء المهمة السابقة، باتباع طريقة المسار الحرج.
وقد يتم دمج العمليات في العمليات الفرعية لملخص الملخص.
وقد يتم تعيين العمليات للمنتجات التي تشير إلى المخرجات الناتجة عن العمل المنجز.