Kelas Yayasan Industri (Industry Foundation Classes, IFC) adalah skema data pertukaran data CAD yang ditujukan untuk deskripsi data industri arsitektur, bangunan, dan konstruksi.
Ini adalah spesifikasi skema data terbuka platform-netral yang tidak dikontrol oleh satu vendor atau grup vendor. Ini adalah skema data berbasis objek dengan model data yang dikembangkan oleh buildingSMART (sebelumnya Aliansi Internasional untuk Interoperabilitas, IAI) untuk memfasilitasi interoperabilitas dalam industri arsitektur, teknik, dan konstruksi (AEC), dan merupakan format kolaborasi yang umum digunakan dalam informasi Bangunan proyek berbasis pemodelan (BIM). Spesifikasi model IFC terbuka dan tersedia. Itu terdaftar oleh ISO dan merupakan Standar Internasional resmi ISO 16739-1:2018.
Karena fokusnya pada interoperabilitas, pemerintah Denmark pada tahun 2010 mewajibkan penggunaan format IFC untuk proyek pembangunan yang dibantu publik. Pada tahun 2017, perusahaan pengelola fasilitas milik negara Finlandia, Senate Properties, mulai menuntut penggunaan perangkat lunak yang kompatibel dengan IFC dan BIM di semua proyek mereka. Juga organisasi klien Pemerintah Norwegia, Kesehatan dan Pertahanan memerlukan penggunaan BIM IFC di semua proyek serta banyak kotamadya, klien swasta, kontraktor dan perancang telah mengintegrasikan BIM IFC dalam bisnis mereka.[rujukan?]. Popularitas skema data IFC dalam konstruksi terus berkembang, terutama untuk tujuan pertukaran geometri.
Sejarah
Artikel utama: buildingSMART
Inisiatif IFC dimulai pada tahun 1994, ketika Autodesk membentuk konsorsium industri untuk memberi saran kepada perusahaan tentang pengembangan serangkaian kelas C++ yang dapat mendukung pengembangan aplikasi terintegrasi. Dua belas perusahaan AS bergabung dengan konsorsium. Perusahaan-perusahaan ini termasuk AT&T, HOK Architects, Honeywell, Carrier, Tishman dan Butler Manufacturing. Awalnya bernama Aliansi Industri untuk Interoperabilitas, Aliansi membuka keanggotaan untuk semua pihak yang berkepentingan pada bulan September 1995 dan mengubah namanya pada tahun 1997 menjadi Aliansi Internasional untuk Interoperabilitas. Aliansi baru dibentuk kembali sebagai organisasi nirlaba yang dipimpin industri, dengan tujuan menerbitkan Kelas Yayasan Industri (IFC) sebagai model produk AEC netral yang menanggapi siklus hidup pembangunan AEC. Perubahan nama selanjutnya terjadi pada tahun 2005, dan spesifikasi IFC sekarang dikembangkan dan dikelola oleh buildingSMART.
IFC Specifications
The following IFC Specification versions are available
- IFC4.3.RC4 (2021-07): additions of Rail and Infrastructure
- IFC4.2 (2019-04): withdrawn
- IFC4.1 (2018-86): withdrawn
- IFC4 Add2 TC1 (2017)
- 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 2×2
- 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)
Format File
IFC mendefinisikan beberapa format file yang dapat digunakan, mendukung berbagai pengkodean dari data dasar yang sama.
- IFC-SPF adalah format teks yang ditentukan oleh ISO 10303-21 (“STEP-File”), di mana setiap baris biasanya terdiri dari rekaman objek tunggal, dan memiliki ekstensi file “.ifc”. Ini adalah format IFC yang paling banyak digunakan, memiliki keunggulan ukuran yang ringkas namun teks yang dapat dibaca.
- IFC-XML adalah format XML yang ditentukan oleh ISO 10303-28 (“STEP-XML”), memiliki ekstensi file “.ifcXML”. Format ini cocok untuk interoperabilitas dengan alat XML dan bertukar model bangunan parsial. Karena ukuran model bangunan tipikal yang besar, format ini kurang umum dalam praktiknya.
- IFC-ZIP adalah format terkompresi ZIP yang terdiri dari file IFC-SPF tertanam atau file IFC-XML dan memiliki ekstensi file “.ifcZIP”.
- IFC-Turtle (Terse RDF Triple Language) adalah format data semantik tekstual yang menggunakan RDF dan diekspresikan dalam ontologi ifcOWL.
- IFC-RDF adalah format data semantik berbasis XML yang menggunakan RDF dan diekspresikan dalam ontologi ifcOWL.
- ifcJSON menggunakan JSON, format modern yang sering digunakan oleh aplikasi web.
- ifcHDF menggunakan HDF dan didasarkan pada standar ISO 10303-26 untuk representasi data LANGKAH dalam HDF.
IFC-SPF dalam format ASCII yang, meskipun dapat dibaca oleh manusia, menderita masalah file ASCII yang umum, karena ukuran file membengkak, file harus dibaca secara berurutan dari awal hingga akhir, ekstraksi file tengah tidak dimungkinkan, file lambat untuk diurai, dan definisi bersifat non-hierarkis.[8] Selain ifcXML dan ifcZIP, format data modern termasuk RDF/XML atau Turtle (menggunakan ifcOWL ontologi), ifcJSON (JavaScript Object Notation, tersedia secara luas) dan ifcHDF5 (Hierarchical Data Format v5, binary). Pada tahun 2020, buildingSmart menjalankan dua proyek JSON: ifcJSON v4 (pemetaan langsung dari IFC v4 berbasis EXPRESS) dan ifcJSON v5, ditambah proyek penelitian yang bereksperimen dengan mengubah IFC menjadi format biner.
Arsitektur
IFC mendefinisikan model hubungan-entitas berbasis EXPRESS yang terdiri dari beberapa ratus entitas yang diatur ke dalam hierarki pewarisan berbasis objek. Contoh entitas meliputi elemen bangunan seperti IfcWall, geometri seperti IfcExtrudedAreaSolid, dan konstruksi dasar seperti IfcCartesianPoint.
Pada tingkat paling abstrak, IFC membagi semua entitas menjadi entitas berakar dan tidak berakar. Entitas yang di-root berasal dari IfcRoot dan memiliki konsep identitas (memiliki GUID), beserta atribut untuk nama, deskripsi, dan kontrol revisi. Entitas non-root tidak memiliki identitas dan instance hanya ada jika direferensikan dari instance root secara langsung atau tidak langsung. IfcRoot dibagi menjadi tiga konsep abstrak: definisi objek, hubungan, dan kumpulan properti:
- IfcObjectDefinition menangkap kejadian dan jenis objek nyata
- IfcRelationship menangkap hubungan antar objek
- IfcPropertyDefinition menangkap properti yang dapat diperluas secara dinamis tentang objek
IfcObjectDefinition
IfcObjectDefinition dibagi menjadi kejadian objek dan tipe objek. IfcObject menangkap kejadian objek seperti pemasangan produk yang memiliki nomor seri dan penempatan fisik. IfcTypeObject menangkap definisi tipe (atau template) seperti tipe produk yang memiliki nomor model tertentu dan bentuk umum. Kejadian dan jenis dibagi lagi menjadi enam konsep dasar: aktor (“siapa”), kontrol (“mengapa”), kelompok (“apa”), produk (“di mana”), proses (“kapan”), dan sumber daya (” bagaimana”).
- IfcActor mewakili orang atau organisasi.
- IfcControl mewakili aturan yang mengontrol waktu, biaya, atau ruang lingkup seperti perintah kerja.
- IfcGroup mewakili kumpulan objek untuk tujuan tertentu seperti sirkuit listrik.
- IfcProduct mewakili kejadian di ruang seperti elemen bangunan fisik dan lokasi spasial.
- IfcProcess mewakili kejadian dalam waktu seperti tugas, acara, dan prosedur.
- IfcResource mewakili penggunaan sesuatu dengan ketersediaan terbatas seperti bahan, tenaga kerja, dan peralatan.
IfcRelationship
IfcRelationship menangkap hubungan antar objek. Ada lima jenis hubungan mendasar: komposisi, penugasan, konektivitas, asosiasi, dan definisi.
- IfcRelDecomposes menangkap hubungan seluruh bagian yang memiliki penahanan eksklusif seperti membagi bangunan menjadi lantai dan ruangan atau dinding menjadi kancing dan selubung.
- IfcRelAssigns menangkap hubungan penugasan di mana satu objek mengkonsumsi layanan dari objek lain, seperti sumber daya tenaga kerja yang ditugaskan ke tugas, atau tugas yang ditugaskan ke elemen bangunan.
- IfcRelConnects menunjukkan konektivitas antar objek seperti pelat lantai yang terhubung ke balok atau pipa yang terhubung ke bak cuci.
- IfcRelAssociates menunjukkan referensi eksternal untuk objek seperti file perpustakaan IFC eksternal tempat objek didefinisikan.
- IfcRelDefines menunjukkan hubungan turunan seperti segmen pipa dari tipe tertentu.
IfcPropertyDefinition
IfcPropertyDefinition menangkap kumpulan properti yang dapat diperluas secara dinamis. Kumpulan properti berisi satu atau lebih properti yang mungkin berupa nilai tunggal (misalnya string, angka, satuan ukuran), nilai terbatas (memiliki minimum dan maksimum), enumerasi, daftar nilai, tabel nilai, atau data struktur. Sementara IFC mendefinisikan beberapa ratus set properti untuk jenis tertentu, set properti kustom dapat ditentukan oleh vendor aplikasi atau pengguna akhir.
- IfcPropertySet mewakili sekumpulan properti yang melekat pada kejadian objek atau tipe objek.
- IfcPropertySetTemplate [IFC2x4] menangkap definisi properti dan tipe datanya.
Produk
IfcProduct adalah kelas dasar untuk semua objek fisik dan dibagi lagi menjadi elemen spasial, elemen fisik, item analisis struktural, dan konsep lainnya. Produk mungkin memiliki bahan terkait, representasi bentuk, dan penempatan dalam ruang. Elemen spasial meliputi IfcSite, IfcBuilding, IfcBuildingStorey, dan IfcSpace. Elemen bangunan fisik meliputi IfcWall, IfcBeam, IfcDoor, IfcWindow, IfcStair, dll. Elemen distribusi (HVAC, listrik, pipa ledeng) memiliki konsep port dimana elemen dapat memiliki koneksi khusus untuk berbagai layanan, dan dihubungkan bersama menggunakan kabel, pipa, atau saluran untuk membentuk suatu sistem. Berbagai hubungan konektivitas digunakan untuk elemen bangunan seperti dinding yang memiliki bukaan yang diisi oleh pintu atau jendela.
Bahan dapat didefinisikan untuk produk secara keseluruhan, atau sebagai lapisan, profil, atau konstituen untuk bagian tertentu.
- IfcMaterial menunjukkan bahan tertentu, dengan sifat opsional (misalnya mekanis, termal) dan gaya (misalnya warna, tekstur).
- IfcMaterialLayerSet menangkap daftar lapisan, masing-masing menunjukkan bahan dengan ketebalan tertentu.
- IfcMaterialProfileSet [IFC2x4] menangkap sekumpulan profil, masing-masing menunjukkan bahan dari penampang tertentu.
- IfcMaterialConstituentSet [IFC2x4] menangkap satu set konstituen, masing-masing menunjukkan bahan yang digunakan pada aspek bentuk bernama.
Representasi dapat ditentukan untuk bentuk 3D eksplisit, dan secara opsional sebagai batasan parametrik. Setiap representasi diidentifikasi oleh IfcShapeRepresentation dengan nama terkenal.
- ‘Tubuh’ menunjukkan bentuk 3D yang dapat diwakili oleh B-rep, NURBS, Constructive Solid Geometry (CSG), atau profil sapuan. Ini dapat didefinisikan secara langsung atau diturunkan dengan menerapkan definisi material ke representasi lain.
- ‘Sumbu’ menunjukkan jalur untuk elemen linier (misalnya dinding, balok, pipa) yang profil atau lapisan materialnya disejajarkan.
- ‘FootPrint’ menunjukkan batas untuk elemen planar (mis. lempengan, tangga) yang dibatasi oleh lapisan material.
- ‘Profil’ menunjukkan profil samping untuk elemen bukaan (misalnya pintu, jendela) yang dibatasi oleh konstituen material.
- ‘SurveyPoints’ menunjukkan sekumpulan titik untuk elemen permukaan (misalnya situs) untuk mendeskripsikan kontur.
Penempatan dapat menunjukkan posisi, sudut vertikal, dan sudut horizontal.
- IfcLocalPlacement menunjukkan penempatan relatif terhadap hierarki elemen terlampir.
- IfcGridPlacement menunjukkan penempatan relatif terhadap kisi dengan sumbu yang ditentukan pengguna..
Kuantitas dapat ditentukan untuk tujuan take-off seperti Luas Kotor, Volume Kotor, Berat Kotor, Berat Bersih, dll. IFC mendefinisikan berbagai kuantitas khusus untuk setiap jenis elemen dan metode perhitungan menurut geometri dan hubungan.
Proses
IfcProcess adalah kelas dasar untuk proses dan dibagi lagi menjadi tugas, acara, dan prosedur. Proses mungkin memiliki durasi dan dijadwalkan terjadi pada periode waktu tertentu. Proses dapat diurutkan sedemikian rupa sehingga tugas penerus dapat dimulai setelah tugas pendahulu selesai, mengikuti Metode Jalur Kritis. Proses dapat disarangkan ke dalam sub-proses untuk roll-up ringkasan. Proses dapat ditugaskan ke produk yang menunjukkan output yang dihasilkan oleh pekerjaan yang dilakukan.
Sumber daya
IfcResource adalah kelas dasar untuk sumber daya dan dibagi lagi menjadi bahan, tenaga kerja, peralatan, subkontrak, kru, dan lainnya. Sumber daya mungkin memiliki berbagai biaya dan kalender ketersediaan. Sumber daya dapat disarangkan ke dalam sub-sumber daya untuk alokasi granular. Sumber daya dapat ditugaskan ke proses yang menunjukkan tugas yang dilakukan atas nama sumber daya.
Konteks
IfcProject merangkum keseluruhan proyek dan menunjukkan nama proyek, deskripsi, unit default, mata uang, sistem koordinat, dan informasi kontekstual lainnya. File IFC yang valid harus selalu menyertakan tepat satu instance IfcProject, yang darinya semua objek lain terkait secara langsung atau tidak langsung. Sebuah proyek dapat mencakup banyak bangunan, banyak peserta, dan/atau beberapa fase sesuai dengan penggunaan tertentu.
Selain informasi khusus proyek, IfcProject juga dapat mereferensikan proyek eksternal yang darinya definisi bersama dapat diimpor seperti jenis produk. Setiap proyek eksternal dienkapsulasi menggunakan IfcProjectLibrary [IFC2x4] bersama dengan IfcRelAssociatesLibrary dan IfcLibraryInformation untuk mengidentifikasi revisi tertentu dari pustaka proyek yang diimpor.
Proyek mendukung kontrol revisi di mana setiap entitas berbasis IfcRoot memiliki pengidentifikasi unik dan dapat ditandai sebagai ditambahkan, dimodifikasi, dihapus, atau tidak memiliki perubahan. Kemampuan tersebut memungkinkan beberapa file IFC digabungkan secara deterministik, memastikan integritas data tanpa campur tangan manusia.