Skip to main content
ClaudeWave

Yapı ruhsatı IFC modelini Türkiye dijital proje yönetmeliğine (RG 33331) göre kontrol eder — CLI + MCP + IDS. Checks IFC models against Türkiye's building-permit BIM regulation.

ToolsOfficial Registry0 stars0 forksPythonMITUpdated today
ClaudeWave Trust Score
87/100
Trusted
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Clear description
  • Documented (README)
Last scanned: 9/18/2026
Get started
Method: Clone
Terminal
git clone https://github.com/BerkantACUN/ifc-ruhsat
1. Clone the repository.
2. Follow the README for installation and usage instructions.
Use cases

Tools overview

# ifc-ruhsat

**Yapı ruhsatı IFC modelini yönetmeliğe göre kontrol eder.** Türkiye'de 1 Eylül 2027'de yürürlüğe giren *Mimarlık ve Mühendislik Projelerinin Dijital Olarak Hazırlanması Hakkında Yönetmelik* (Resmî Gazete 5.8.2026, sayı 33331) her ruhsat projesinin IFC modelini 241 sayfalık eklere uydurmayı ve her teslimde EK-9 Model Kalite Kontrol Formu düzenlemeyi zorunlu kılıyor. Bu araç o ekleri makine kuralına çevirir: modeli okur, eksikleri **madde numarasıyla** söyler, EK-9 formunu doldurur. Komut satırından ya da Claude / Cursor gibi istemcilerden (MCP) kullanılır; yazılımdan bağımsızdır — Revit, Archicad, Allplan, Bonsai, hepsi IFC verir.

> Otomatik **ön kontrol**dür. Yönetmeliğin bazı satırları (LOD, mahal geometrisi, PDF–IFC uyumu) makinece denetlenemez; araç bunları "elle" diye açıkça bırakır, uygun saymaz. Nihai değerlendirme proje müellifi ile ilgili idareye aittir; bu araç hukuki görüş değildir.

```
uvx ifc-ruhsat kontrol 123456_00_MM_GNEL_MD_BIM_000_01_000.ifc
```

```
ornekler\hatali_ornek.ifc — IFC4X3
10 hata, 3 uyarı, 8 elle kontrol, 7 bilgi

X [m.11, EK-5 5.5 ve Tablo 5.3 · EK-9 m.5] 1 varlığın adı şablona uymuyor. Beklenen: iki harf disiplin,
  üç harf kategori kodu ve açıklama, orta tire ile (örn. MM-DVR-dis_20cm) …
    3U9N2MO4vDDA4Hfy2J54b4
X [EK-7 Tablo 7.6 · EK-9 m.6] IfcProjectedCRS.Name 'EPSG:3857'; TUREF 3° dilimlerinden biri olmalı:
  EPSG:5253 … EPSG:5259.
X [EK-6 Tablo 6.66 · EK-9 m.9] IfcWall: Pset_WallCommon.FireRating (Yangın Dayanım Sınıfı) 1 varlıkta yok ya da boş.
    3U9N2MO4vDDA4Hfy2J54b4
X [EK-6 6.1.3 · EK-9 m.17] 1 varlık IfcProxy/IfcBuildingElementProxy ile modellenmiş; yönetmelik vekil sınıfa izin vermez …
? [EK-9 madde 7] Gelişim seviyesi (LOD 300) geometrinin ayrıntısına bakılarak elle değerlendirilir.
```

Tam örnek: [`ornekler/hatali_ornek.EK-9.md`](ornekler/hatali_ornek.EK-9.md) — 21 satırlık EK-9 formu, her satırda Evet / Hayır / Kısmen / Elle ve dayanağı.

## Kurulum

Python 3.10+ yeterli. [uv](https://docs.astral.sh/uv/) varsa kurulum gerekmez, `uvx ifc-ruhsat …` yeter. Kalıcı kurulum:

```
pip install ifc-ruhsat
```

## Komutlar

| Komut | Ne yapar |
|---|---|
| `ifc-ruhsat kontrol model.ifc` | Bütün kuralları çalıştırır; hata varsa çıkış kodu 1 (CI'da kullanılabilir). `--json` makine çıktısı, `--ek9 form.md` EK-9 formunu dosyaya yazar, `--disiplin ST` EK-2 disiplin kodu |
| `ifc-ruhsat ek9 model.ifc` | EK-9 Model Kalite Kontrol Formu (Tablo 9.1), Markdown |
| `ifc-ruhsat ozet model.ifc` | Şema, üreten yazılım, proje/saha/bina/katlar, sınıf sayıları |
| `ifc-ruhsat ids` | EK-6 ve EK-7'yi buildingSMART **IDS** dosyası olarak yazar ([`ids/`](ids/)) — Solibri, BIMcollab Zoom, usBIM.IDS, ifctester okur |
| `ifc-ruhsat mcp` | MCP sunucusu (stdio) |

## MCP ile kullanım

Claude Desktop, Claude Code, Cursor ve MCP konuşan her istemci:

```json
{
  "mcpServers": {
    "ifc-ruhsat": { "command": "uvx", "args": ["ifc-ruhsat", "mcp"] }
  }
}
```

Sonra asistanınıza sorun: *"C:\proje\A_blok.ifc yönetmeliğe uyuyor mu, EK-9 formunu çıkar"*, *"IfcSlab için hangi özellikler zorunlu?"*, *"Kolonlarda neden hata var, hangi maddeye göre?"*

| Araç | Ne yapar |
|---|---|
| `yonetmelik_kontrolu` | Modeli denetler; her bulgu seviye, madde, EK-9 satırı ve GlobalId listesiyle |
| `ek9_formu` | EK-9 formunu Markdown üretir |
| `model_ozeti` | Şema, yazılım, iskelet, sınıf sayıları |
| `ek5_siniflar` | Zorunlu / isteğe bağlı IFC sınıfları, Türkçe adları ve kategori kodları |
| `ek6_gerekenler` | Bir sınıf için zorunlu öznitelik ve özellik setleri (EK-6 / EK-7) |
| `yonetmelik_bilgisi` | Dayanak, kademeli takvim, veri kaynakları |

Sunucu yalnızca verilen dosyayı okur; ağa hiçbir şey göndermez, hiçbir şey yazmaz.

## Ne denetleniyor

| EK-9 satırı | Kontrol | Durum |
|---|---|---|
| 2 Proje bilgileri | IfcProject, IfcPerson, IfcOrganization, IfcPersonAndOrganization öznitelikleri (EK-7 Tablo 7.1–7.5) | otomatik |
| 3 Dosya/proje adı | EK-2 Tablo 2.1 dokuz alan; IfcProject.Name | otomatik (alt disiplin/dosya türü kodları listeyle karşılaştırılmıyor) |
| 4 Mahal no/ismi | IfcSpace.Name `Kat_Bölüm_SıraNo` (EK-3 Tablo 3.1, kat kodları EK-2 Tablo 2.14), LongName dolu | otomatik |
| 5 Varlık adları | `Disiplin-Kategori-Açıklama`; disiplin EK-2, kategori kodu EK-5 ve sınıfla uyumu | otomatik |
| 6 Koordinat | IfcProjectedCRS (EPSG:5253–5259, datum, zon, birim) + IfcMapConversion (EK-7 Tablo 7.6–7.7) | otomatik |
| 7 LOD 300 | — | **elle** |
| 8 / 17 Sınıflar | EK-5 zorunlu + isteğe bağlı liste; IfcProxy / IfcBuildingElementProxy yasak; üst sınıf yerine alt sınıf | otomatik + elle (anlam) |
| 9 / 20 Öznitelik ve özellikler | EK-6'nın **68 zorunlu sınıf tablosunun tamamı**: Name, Tag, malzeme (Ad_Dayanım), IfcSystem bağı, katman, Pset_/Qto_/TREpys_ özellikleri, veri tipi, izinli değerler; yanlış sette bulunan özellik ayrıca | otomatik |
| 10 Emsal | IfcSpatialZone alanları EmsalDurumu'na (DAHIL/HARIC/DIGER) göre toplanır, KAKS × parsel alanıyla karşılaştırılır | kısmen (pafta tablosuyla karşılaştırma elle) |
| 11 İskelet | Proje, Saha, Bina, ≥1 Kat; tek IfcProject | otomatik |
| 12 Mahal var mı | mimari disiplinde IfcSpace | otomatik |
| 13–14 Mahal geometrisi | her mahalin hacimli 3B gövdesi var; aynı kattaki mahallerin sınır kutuları %10'dan fazla örtüşmüyor | otomatik (kutu tabanlı, kaba) |
| 15 Kata bağlılık ve kot | her eleman bir kata bağlı; gövdesi katın kotu ile üst katın kotu arasında (±1,5 m) | otomatik |
| 16 Yinelenen | tekrar eden GlobalId; aynı sınıf+ad+yerleşim | otomatik |
| 18 IFC sürümü | IFC4X3, `.ifc` uzantısı | otomatik |
| 19 Ön Tanımlı Tip | boş / NOTDEFINED; USERDEFINED ise ObjectType | otomatik |
| 1, 21 | dosya boyutu sınırı yayımlanmadı; PDF–IFC uyumu | **elle** |

EK-6'nın 68 zorunlu sınıf tablosunun tamamı nihai Resmî Gazete ekinden sayfa sayfa okunup kodlandı; her öznitelik IFC 4.3 şemasına, her özellik buildingSMART'ın resmî Pset şablonlarına karşı testle doğrulanır. Hangi tablonun hangi sayfadan geldiği: [KAYNAKLAR.md](KAYNAKLAR.md). Geometri kontrolleri (mahal gövdesi, örtüşme, kot) sınır kutusu tabanlıdır — hızlı ve kaba; L biçimli mahallerde yanlış alarm verebilir, bunu bulgu metni de söyler.

## Gerçek modellerde ne çıkıyor

Halka açık üç modelde, hiçbir şey değiştirmeden (bu modeller yönetmelik yokken yapıldı; sonuç "hazırlık ne kadar" sorusunun cevabıdır):

| Model | Şema | Süre | Hata / uyarı | Öne çıkanlar |
|---|---|---|---|---|
| buildingSMART resmî IFC 4.3 örneği, [Building-Architecture.ifc](https://github.com/buildingSMART/Sample-Test-Files/tree/main/IFC%204.3.2.0%20(IFC%204.3%20ADD2)/Simple-Scene) (SketchUp, 21 varlık) | IFC4X3 | < 1 s | 32 / 5 | Koordinat sistemi EPSG:32760 (Türkiye dilimi değil); 2 vekil sınıf; mahal numaraları ve `TREpys_` setleri yok; Pset_BuildingCommon boş |
| Revit 2021 konut, [Ifc4_Revit_ARC.ifc](https://github.com/youshengCode/IfcSampleFiles) (13 MB, 522 varlık) | IFC4 | 1,7 s | 47 / 12 | IFC 4.3 değil; 66 IfcBuildingElementProxy; 511 varlık adı şablon dışı; 47 duvarda FireRating yok; IfcPlate (44 giydirme cephe paneli) yönetmelik listesinde yok; hiç IfcSpace yok; koordinat sistemi yok |
| IfcOpenShell örnek evi, [Ifc4_SampleHouse.ifc](https://github.com/youshengCode/IfcSampleFiles) (2 MB) | IFC4 | < 1 s | 40 / 9 | IFC4; IfcWallStandardCase (4.3'te kaldırıldı); malzeme adları `Ad_Dayanım` biçiminde değil; 28 elemanda Ön Tanımlı Tip yok |

Ders: bugünkü tipik bir Revit çıktısı ile yönetmeliğin istediği dosya arasındaki fark büyük ama sayılabilir — IFC 4.3'e geçiş, vekil sınıfların sınıflandırılması, isimlendirme şablonu, yangın/kullanım özellikleri ve Türkiye'ye özel parsel/emsal setleri. Araç bu listeyi GlobalId'leriyle veriyor. Bir de yönetmeliğin kendi boşluğu görünüyor: Revit'in giydirme cephe panellerini attığı `IfcPlate` EK-5'in iki listesinde de yok (KAYNAKLAR.md).

## Yönetmelik ne diyor, kısaca

- Ruhsat eki projeler BIM tabanlı hazırlanır, **IFC 4.3** (TS EN ISO 16739-1) teslim edilir; 2B paftalar modelden üretilip PDF/A verilir (m.4, m.9).
- Varlıklar EK-5'teki sınıflarla, `Disiplin-KategoriKodu-Açıklama` adıyla modellenir (m.11, EK-5); vekil sınıf yasak (EK-6 6.1.3).
- Her sınıf için EK-6'daki öznitelik ve özellik setleri, projeler için EK-7 (Türkiye'ye özel `TREpys_` setleri dahil) doldurulur (m.12–13).
- Model LOD 300'dür (EK-8); her teslimde EK-9 formu düzenlenir (m.15).
- Takvim (Geçici m.1): yürürlük 1.9.2027; IFC teslimi 1.9.2029'dan itibaren büyükşehirlerdeki >10.000 m² projelerle başlar, 1.9.2032'de bütün binalar, 1.9.2033'te konut dışı.

Metin: [Resmî Gazete 20260805-2](https://www.resmigazete.gov.tr/eskiler/2026/08/20260805-2.htm) · Ekler (241 s.): [20260805-2-1.pdf](https://www.resmigazete.gov.tr/eskiler/2026/08/20260805-2-1.pdf)

## Kendi kurallarınız

Yönetmelik verisi `src/ifc_ruhsat/ekler/*.json` içinde, her dosya kaynağını kendi `kaynak` alanında söyler. Bir EK-6 tablosu eklemek: ilgili Resmî Gazete sayfasını okuyup `ek6_ozellikler.json`'a satırı ve sayfa numarasını yazın, testleri çalıştırın. Kural eklemek: `src/ifc_ruhsat/kurallar/` altına `kontrol(baglam) -> list[Bulgu]` imzasıyla bir modül, `kontrol.py`'daki `MODULLER`'e bir satır. Her bulgu bir maddeye ve bir EK-9 satırına bağlanmak zorundadır; dayanağı olmayan kural eklenmez.

```
uv sync && uv run pytest && uv run ruff check .
```

## English

**ifc-ruhsat** checks an IFC model against Türkiye's building-permit BIM regulation (Official Gazette 5 Aug 2026, no. 33331; in force 1 Sep 2027; IFC delivery phased in from Sep 2029). It encodes the regulation's annexes — mandatory IFC 4.3 classes and 3-letter category codes (Annex 5), per-class attribute and property-set requirements including the Turkish `TREpys_` sets (Annex 6), project/person/organisation and TUREF coordinate requirements (Annex 7) — and fills in the 21-row model quality-control form (Annex 9). Findings cite the article and annex table and list GlobalIds. Vendor-neutral (IfcOpenShell), usable as a CLI, as an MCP server for Claude/Cursor, and as buildingSMART IDS files for Solibri/

What people ask about ifc-ruhsat

What is BerkantACUN/ifc-ruhsat?

+

BerkantACUN/ifc-ruhsat is tools for the Claude AI ecosystem. Yapı ruhsatı IFC modelini Türkiye dijital proje yönetmeliğine (RG 33331) göre kontrol eder — CLI + MCP + IDS. Checks IFC models against Türkiye's building-permit BIM regulation. It has 0 GitHub stars and its last recorded update is dated 2026-09-17.

How do I install ifc-ruhsat?

+

You can install ifc-ruhsat by cloning the repository (https://github.com/BerkantACUN/ifc-ruhsat) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is BerkantACUN/ifc-ruhsat safe to use?

+

Our security agent has analyzed BerkantACUN/ifc-ruhsat and assigned a Trust Score of 87/100 (tier: Trusted). See the full breakdown of passed checks and flags on this page.

Who maintains BerkantACUN/ifc-ruhsat?

+

BerkantACUN/ifc-ruhsat is maintained by BerkantACUN. The last recorded GitHub activity is dated 2026-09-17, with 0 open issues.

Are there alternatives to ifc-ruhsat?

+

Yes. On ClaudeWave you can browse similar tools at /categories/tools, sorted by popularity or recent activity.

Deploy ifc-ruhsat to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: BerkantACUN/ifc-ruhsat
[![Featured on ClaudeWave](https://claudewave.com/api/badge/berkantacun-ifc-ruhsat)](https://claudewave.com/repo/berkantacun-ifc-ruhsat)
<a href="https://claudewave.com/repo/berkantacun-ifc-ruhsat"><img src="https://claudewave.com/api/badge/berkantacun-ifc-ruhsat" alt="Featured on ClaudeWave: BerkantACUN/ifc-ruhsat" width="320" height="64" /></a>

More Tools

ifc-ruhsat alternatives