{
    "format": "ifcortex-compliance-rules",
    "version": 1,
    "exported_at": "2026-04-11T16:09:10+00:00",
    "disclaimer": "IFCortex içindeki kurallar BIM kontrolü içindir; nihai yorum için ilgili yönetmelik metnine ve projeye özel statik\/dinamik hesaplara başvurun.",
    "rule_set": {
        "code": "BAKANLIK-IFC",
        "name": "Bakanlık IFC Taslağı Uyumu",
        "regulation_name": "Çevre, Şehircilik ve İklim Değişikliği Bakanlığı BIM\/IFC Taslağı",
        "version": "2024-taslak",
        "description": "Bakanlık BIM e-yapı ruhsatı süreci için IFC dosya uyumluluk kontrolleri",
        "official_pdf_url": null,
        "official_legislation_url": "https:\/\/www.csb.gov.tr\/"
    },
    "rules": [
        {
            "rule_id": "BIM-001",
            "name": "IFC Şeması Kontrolü",
            "description": "IFC dosyası IFC4 veya üzeri şemayı kullanmalıdır",
            "article": "BIM Taslak Bölüm 3.1",
            "category": "schema",
            "element_types": [
                "IfcProject"
            ],
            "condition": {
                "property": "schema_version",
                "operator": ">=",
                "value": "IFC4",
                "unit": "version"
            },
            "severity": "error",
            "message": "IFC dosyası en az IFC4 şemasını kullanmalıdır",
            "suggestion": "Modeli IFC4 veya IFC4x3 formatında dışa aktarın"
        },
        {
            "rule_id": "BIM-002",
            "name": "Proje Bilgileri Zorunluluğu",
            "description": "IfcProject elemanında proje adı, tanımı ve adres bilgileri bulunmalıdır",
            "article": "BIM Taslak Bölüm 3.2",
            "category": "metadata",
            "element_types": [
                "IfcProject"
            ],
            "condition": {
                "property": "name",
                "operator": "exists",
                "value": true,
                "unit": "boolean"
            },
            "severity": "error",
            "message": "IfcProject'te proje adı tanımlanmalıdır",
            "suggestion": "BIM yazılımınızda proje bilgilerini eksiksiz doldurun"
        },
        {
            "rule_id": "BIM-003",
            "name": "Site ve Adres Bilgileri",
            "description": "IfcSite elemanında konum (enlem\/boylam) ve adres bilgileri tanımlı olmalıdır",
            "article": "BIM Taslak Bölüm 3.3",
            "category": "metadata",
            "element_types": [
                "IfcSite"
            ],
            "condition": {
                "property": "ref_latitude",
                "operator": "exists",
                "value": true,
                "unit": "boolean"
            },
            "severity": "warning",
            "message": "IfcSite'da konum bilgisi (enlem\/boylam) tanımlanmalıdır",
            "suggestion": "BIM yazılımınızda site\/arsa konum bilgilerini girin"
        },
        {
            "rule_id": "BIM-004",
            "name": "Mekansal Hiyerarşi Bütünlüğü",
            "description": "Tüm yapı elemanları doğru mekansal hiyerarşiye (Site > Building > Storey) bağlı olmalıdır",
            "article": "BIM Taslak Bölüm 4.1",
            "category": "hierarchy",
            "element_types": [
                "IfcBuildingElement"
            ],
            "condition": {
                "property": "has_spatial_containment",
                "operator": "==",
                "value": true,
                "unit": "boolean"
            },
            "severity": "error",
            "message": "Eleman herhangi bir kata (IfcBuildingStorey) atanmamış",
            "suggestion": "Tüm yapı elemanlarının doğru kata bağlı olduğundan emin olun"
        },
        {
            "rule_id": "BIM-005",
            "name": "GlobalId Benzersizliği",
            "description": "Her IFC elemanı benzersiz bir GlobalId'ye sahip olmalıdır",
            "article": "BIM Taslak Bölüm 4.2",
            "category": "data_quality",
            "element_types": [
                "IfcRoot"
            ],
            "condition": {
                "property": "global_id_unique",
                "operator": "==",
                "value": true,
                "unit": "boolean"
            },
            "severity": "error",
            "message": "Aynı GlobalId'ye sahip birden fazla eleman tespit edildi",
            "suggestion": "Modeldeki duplicate GlobalId'leri düzeltin"
        },
        {
            "rule_id": "BIM-006",
            "name": "Eleman Sınıflandırması",
            "description": "Yapı elemanları doğru IFC sınıfları ile tanımlanmalıdır (duvar=IfcWall, kolon=IfcColumn vb.)",
            "article": "BIM Taslak Bölüm 4.3",
            "category": "classification",
            "element_types": [
                "IfcBuildingElement"
            ],
            "condition": {
                "property": "has_valid_ifc_class",
                "operator": "==",
                "value": true,
                "unit": "boolean"
            },
            "severity": "warning",
            "message": "Eleman doğru IFC sınıfı ile tanımlanmamış olabilir",
            "suggestion": "BIM yazılımınızda eleman tiplerini doğru seçtiğinizden emin olun"
        },
        {
            "rule_id": "BIM-007",
            "name": "Geometri Varlığı",
            "description": "Her yapı elemanının 3D geometri temsili bulunmalıdır",
            "article": "BIM Taslak Bölüm 5.1",
            "category": "geometry",
            "element_types": [
                "IfcBuildingElement"
            ],
            "condition": {
                "property": "has_geometry",
                "operator": "==",
                "value": true,
                "unit": "boolean"
            },
            "severity": "error",
            "message": "Elemanın 3D geometri temsili bulunamadı",
            "suggestion": "Geometrisi eksik olan elemanları kontrol edin"
        },
        {
            "rule_id": "BIM-008",
            "name": "Temel Ölçü Bilgileri",
            "description": "Yapı elemanlarında temel boyut bilgileri (yükseklik, genişlik, kalınlık) tanımlı olmalıdır",
            "article": "BIM Taslak Bölüm 5.2",
            "category": "quantities",
            "element_types": [
                "IfcWall",
                "IfcColumn",
                "IfcSlab",
                "IfcBeam"
            ],
            "condition": {
                "property": "has_base_quantities",
                "operator": "==",
                "value": true,
                "unit": "boolean"
            },
            "severity": "warning",
            "message": "Elemanda temel ölçü bilgileri (BaseQuantities) tanımlı değil",
            "suggestion": "BIM yazılımınızda ölçü bilgilerinin dışa aktarıldığından emin olun"
        },
        {
            "rule_id": "BIM-009",
            "name": "Malzeme Tanımı",
            "description": "Yapı elemanlarında malzeme bilgisi tanımlı olmalıdır",
            "article": "BIM Taslak Bölüm 5.3",
            "category": "material",
            "element_types": [
                "IfcWall",
                "IfcColumn",
                "IfcSlab",
                "IfcBeam"
            ],
            "condition": {
                "property": "has_material",
                "operator": "==",
                "value": true,
                "unit": "boolean"
            },
            "severity": "warning",
            "message": "Elemanda malzeme tanımı bulunamadı",
            "suggestion": "BIM yazılımınızda eleman malzemelerini tanımlayın"
        },
        {
            "rule_id": "BIM-010",
            "name": "Yangın Dayanım Bilgisi",
            "description": "Taşıyıcı elemanlarda yangın dayanım süresi bilgisi tanımlı olmalıdır",
            "article": "BIM Taslak Bölüm 6.1",
            "category": "fire_safety",
            "element_types": [
                "IfcWall",
                "IfcColumn",
                "IfcSlab",
                "IfcBeam"
            ],
            "condition": {
                "property": "fire_rating",
                "property_paths": [
                    "Pset_WallCommon.FireRating",
                    "Pset_ColumnCommon.FireRating",
                    "Pset_SlabCommon.FireRating",
                    "Pset_BeamCommon.FireRating"
                ],
                "operator": "exists",
                "value": true,
                "unit": "boolean"
            },
            "severity": "warning",
            "message": "Taşıyıcı elemanda yangın dayanım bilgisi tanımlı değil",
            "suggestion": "Eleman özelliklerinde FireRating değerini tanımlayın"
        }
    ]
}