CH NEO-ZÜRICH AUSGABE
WETTER · KLAR 11°C
BLEND DES TAGES · 07/ROGUE
EST. 2027
DIE AEC CYBER MORGENZEITUNG

PAZ Kaffi

DESIGN · ABBRUCH · KOFFEIN · DEPESCHE
AUSGABE 0912 · 12 September 2026
SENDUNG 04:42 MEZ
2'400 BOGEN GEDRUCKT
LESEZEIT · 47 MIN
Tag eins des Python-Sprints: das einfache `if`, gelernt auf deinem eigenen IFC-Modell
Akademie
FRAME · 06:50
12-09-2026

Tag eins des Python-Sprints: das einfache `if`, gelernt auf deinem eigenen IFC-Modell

Tag eins des PAZ-Python-Sprints: wandle W3Schools' if-Anweisung in ein echtes IfcOpenShell-Brandschutzgate auf deinem IFC4-Modell um – in sechs Zeilen.

Das Fortgeschrittendste, das unser Fachgebiet mit einem Computer macht — ein generativer Solver schlägt das Tragwerk für einen Stahlwohnblock vor und gibt dem Ingenieur die Kandidaten zur Validierung in die Hand — ist, wenn man es aufbricht, ein sehr hoher Turm aus einem kleinen Stein. Die ScienceDirect-Reviews zur generativen Planung zeichnen gerne eine Autonomie-Leiter: L0 ist vollständig manuell, der Ingenieur in voller Kontrolle, und jede Stufe darüber optimiert Kosten, Leistung und Code-Compliance gleichzeitig. Aber dieser ganze Turm hält — ganz unten — auf der bescheidensten Entscheidung, die eine Maschine treffen kann: if das, dann das; else das andere.

W3Schools, die Seite, auf der die Hälfte von uns heimlich Programmieren gelernt hat, unterrichtet genau das auf ihrer Seite If Statements in Programming. Das erste Beispiel ist ein Würfelspiel: würfle eine Sechs, löse die Konfetti aus; würfle sonst was, gib „Try again” aus. Die gleiche Struktur ist in vier Sprachen aufgebaut — Python, JavaScript, Java und C++ — so dass man sieht, dass die Form die Sprache überlebt. Das zweite Beispiel staffelt alter < 13 → Kind, elif alter < 20 → Jugendlicher, else → Erwachsener, dann verschachtelt noch ein if alter > 17, um den Sonderfall von 18 und 19 zu fangen, wenn man gleichzeitig Jugendlicher und Erwachsener ist. Es ist wirklich eine gute Lektion. Das Dach-if ist niedlich — bis die Bedingung eine Brandschutzklasse ist.

←HEUTE: Im 2026 fängt ein einzelnes if in einem 20-Zeilen-Script die Wand ohne Brandschutzklasse, die eine müde manuelle Kontrolle um 18:00 übersieht.
→3012: Bis zum Horizont Zürich-3012 überprüft sich das Modell selbst, bevor ein Mensch es jemals öffnet — das Gate ist die Überprüfung.
Drehpunkt: Die Konfetti-Zeile und das Brandschutz-Gate sind die gleiche Code-Zeile. Lern es einmal, beherrsche beides.

Hier ist der Teil, den keiner dem Anfänger erzählt: das if ist der Ort, wo dein Urteil in die Maschine eintritt. Die Konzept-Panels im PAZ-Korpus drücken es gut aus — in generativer Arbeit wandert die menschliche Rolle vom Autor zum Kurator; du setzt die Ziele, du ziehst den Beschränkungs-Zaun, und die Aufzählung ist die des Computers. Das if-Statement ist das kleinste Brett in diesem Zaun. Deshalb öffnen wir den 7-Tage-Python-für-Architekten-Sprint hier, an Tag eins, statt mit ausgefeilten List-Comprehensions.

Das Werkzeug: IfcOpenShell — die offene Bibliothek hinter der Native IFC / OSArch-Bewegung, gepflegt von Thomas Krijnen und einer breiten Open-Source-Gemeinschaft. Sie liest und schreibt echte IFC-Dateien in purem Python, was bedeutet, dass das erste if, das du schreibst, auf ein echtes Gebäude zeigen kann statt auf ein Würfelspiel. IFC — Industry Foundation Classes — ist wohl die wichtigste Sprache, die unser Fachgebiet in einem Jahrhundert hervorgebracht hat: offen, unkompiliert, lesbar im Notepad, gebaut, um jeden Anbieter zu überleben, der in diesem Jahrzehnt dein CAD kontrolliert. Das Erlernen, es mit einer Bedingung zu befragen, ist ein Nachmittag, der Jahre lang Miete zahlt.

Einrichtung:

python -m venv .venv
.venvScriptsactivate      # Windows  (macOS/Linux: source .venv/bin/activate)
pip install ifcopenshell
python -c "import ifcopenshell; print(ifcopenshell.version)"
# gibt einen Versionstring aus, z.B. 0.8.x — du bist bereit

Erste Schritte:

  1. Exportiere ein kleines Projekt aus Archicad (IFC4) oder kopiere ein Sample, und speichere es als sample.ifc neben deinem Script.
  2. Öffne es und zähle, was du hast: model = ifcopenshell.open("sample.ifc"), dann print(len(model.by_type("IfcWall")), "walls"). Du wirst sehen, dass dein Gebäude antwortet.
  3. Jetzt füge eine Entscheidung hinzu — der Moment, in dem das Script aufhört zu beschreiben und anfängt zu urteilen. Das ist der Hack unten.

Atelier: Für ein Schweizer Atelier, das mit KI auf der Leinwand lebt, ist der Wert des if nicht die Syntax — es ist der Ort, wo eine Policy zu einer automatisierten Überprüfung wird statt zu einer hoffnungsvollen PDF in der BEP. Dieses Muster hat schon einen Industrienamen: ein IDS-artiges Gate, die gleiche Anforderungs-als-Prüfungs-Logik, die buildingSMART im Validation Service einsetzt. Ein Büro, das Model-Checking dieses Quartals einführt, erstickt fast, weil es alles auf einmal validieren will. Dein erster Schritt: wähle die eine Anforderung, die dir echte Probleme bereitet hat — ein fehlender Pset_WallCommon.FireRating, ein fehlendes LOIN-Attribut, ein fehlender Geschoss — und schreib das sechszeilige if, das es flaggt und den Export-Fehler auslöst. Ein Gate, das vor dem Ingenieur läuft, schlägt hundert Regeln, die nie versendet werden.

Hack: Flagge jede Wand, die ohne Brandschutzklasse zum Ingenieur geht, bevor sie seinen Schreibtisch erreicht. Das if macht die ganze Arbeit hier — not fr ist deine Bedingung, FAIL zu drucken ist dein „dann”, und Stille ist dein implizites „sonst”.

import ifcopenshell, ifcopenshell.util.element as el
model = ifcopenshell.open("sample.ifc")
for w in model.by_type("IfcWall"):
    fr = el.get_psets(w).get("Pset_WallCommon", {}).get("FireRating")
    if not fr:
        print("FAIL", w.GlobalId, "→ keine FireRating")

Führe es aus. Jede GlobalId, die es druckt, ist eine Wand, die durchgerutscht wäre. Ändere if not fr zu if fr and float(str(fr).rstrip('R')) < 30 und du überprüfst einen Schwellenwert, nicht nur die Präsenz — die gleiche Primitive, ein schärferer Zaun.

Der ehrliche Kompromiss: ein if ist nur so gut wie die Bedingung, die du schreiben wusstest. Es fängt den Fehler auf, den du vorhergesehen hast, und sonst nichts, also bedeutet ein grüner Lauf „mein ein Test ist bestanden”, nie „das Modell ist sauber.” Das ist eine Eigenschaft jedes Gates, vom Würfelspiel zum L4-Solver — wert, laut ausgesprochen zu werden, bevor du der Konfetti vertraust.

Wenn du einen Stack für dieses Quartal wählst, ist der tiefere Grund, dies auf IFC und nicht auf einem Spielzeug zu lernen, die Langlebigkeit. Die Gebäude, die am schlechtesten alterten, waren nie die hässlichen — sie waren die, die niemand wieder öffnen konnte, nachdem ein proprietäres Format dunkel wurde. Ein offenes Format, das du mit sechs Zeilen Python handhaben kannst, ist eine Absicherung dagegen. Schreib dein erstes if gegen eine Datei, die ein 25-Jähriger noch immer öffnen kann, und reihe es in den PAZ Programming Bootcamp ein, wenn du die anderen sechs Tage willst.

Lern-es:

GEMELDET AUS
MIT-UNTERZEICHNER
PAZ Academy
VERTRAUEN
HIGH
NACHDRUCKE
© PAZ - PARAMETRIC ACADEMY ZURICH · ALLE RECHTE VORBEHALTEN

QUELLE ·

PAZ Kaffi · interdisziplinäre Redaktionsarbeit, geleitet von der PAZ Academy

⚑ FEHLER MELDEN · KORREKTUR EINSENDEN
◂ ZURÜCK ZUR TITELSEITE · PAZ KAFFI

© 2026 PAZ Academy.