Zum Inhalt

Knagge

Prosa-Definition

Eine Knagge ist eine Bauteilrolle in Form eines dreieckigen Vollholz-Blocks, dessen Geometrie über (a) einen Pfosten-Anker — eine Verzapfungs- oder Stirn-Verbindung an einem lotrechten oder geneigten stützenden Bauteil — und (b) eine Auflager-Fläche für ein darüber- oder seitlich getragenes Bauteil (Deckenbalken, Pfette, Sparren) definiert ist und als Konsole Last vom getragenen Bauteil in das stützende Bauteil leitet.

Mathematische Definition

Sei

  • B ein Bauteil im Sinne von bauteil mit Volumen-Geometrie (geometrie ∈ 𝒢_volumen); der Bauteil-Körper ist ein konvexer dreieckiger Prisma-Block (Approximation: die geschwungene Unterseite historischer Knaggen wird in der App-Modellierung durch ihre konvexe Hülle ersetzt, die Wohldefiniertheit ist davon unabhängig — siehe Wohldefiniertheits-Block),
  • W das Weltkoordinatensystem mit e_z := (0, 0, 1)ᵀ als vertikale Welt-Achse,
  • A_P ⊂ ℝ³ eine Pfosten-Anker-Fläche des Bauteil-Körpers von B (eine ebene Fläche des Knagge-Polyeders, an der die Verzapfung mit dem Pfosten/Ständer S anliegt) mit Stützpunkt q_P und Normaleneinheitsvektor n_hat_P ∈ S²,
  • A_A ⊂ ℝ³ eine Auflager-Fläche des Bauteil-Körpers von B (eine ebene Fläche, auf der ein getragener Balken T aufliegt) mit Stützpunkt q_A und Normaleneinheitsvektor n_hat_A ∈ S²,
  • S ein stützendes Bauteil (Ständer/Pfosten/geneigte Stütze) mit Bauteilachse a(S),
  • T ein getragenes Bauteil (Deckenbalken, Pfette, Sparren, Riegel) mit Bauteilachse a(T),
  • ε_K := Toleranzen.KOLLINEAR_EPS, ε_L := Toleranzen.LAENGE_EPS, ε_W := Toleranzen.WINKEL_EPS.

Dann heißt B eine Knagge mit Pfosten-Anker A_P am stützenden Bauteil S und Auflager-Fläche A_A für das getragene Bauteil T genau dann, wenn die folgenden Bedingungen alle erfüllt sind:

  1. Volumen-Geometrie mit zwei ausgezeichneten Flächen: der Knagge-Körper trägt zwei nicht-koplanare Anker-Flächen A_P und A_A,

    ‖n_hat_P × n_hat_A‖ > ε_K,
    
    d. h. die beiden Normalenvektoren sind nicht kollinear. (Eine Knagge mit koplanaren Pfosten- und Auflager-Flächen wäre keine Konsole, sondern ein gewöhnlicher Balken- Abschnitt.)

  2. Pfosten-Anker-Inzidenz: die Pfosten-Anker-Fläche A_P liegt mit Toleranz ε_L bündig an der Bauteilachse a(S) des stützenden Bauteils, in dem Sinne, dass der Pfosten-Anker-Stützpunkt q_P bis auf ε_L auf a(S) liegt und die Normale n_hat_P rechtwinklig zu a(S) zeigt:

    dist(q_P, a(S)) ≤ ε_L  ∧  |⟨n_hat_P, d_hat_S⟩| ≤ ε_K,
    
    wobei d_hat_S der Richtungsvektor von a(S) ist.

  3. Auflager-Fläche horizontal oder schwach geneigt: die Auflager-Fläche A_A trägt einen Balken, d. h. ihre Normale n_hat_A zeigt überwiegend nach oben:

    ⟨n_hat_A, e_z⟩ ≥ cos(π/4) − ε_K,
    
    d. h. die Auflager-Fläche neigt sich um höchstens 45° gegen die Horizontale. Dieser Schwellwert ist konservativ und deckt sowohl horizontale Auflager (Deckenbalken- Konsole) als auch leicht geneigte Auflager (Sparren- Pfetten-Knagge auf einer geneigten Pfette) ab.

  4. Auflager-Inzidenz mit dem getragenen Bauteil: die Auflager-Fläche A_A trägt einen Punkt q_T der Bauteilachse a(T) des getragenen Bauteils mit Toleranz ε_L:

    ∃ q_T ∈ a(T) :  dist(q_T, A_A) ≤ ε_L.
    
    Insbesondere muss a(T) die Knagge berühren, nicht schneiden (Auflager-Beziehung, kein Anker).

  5. Räumliche Trennung A_P ↔ A_A: die beiden Anker-Flächen liegen an verschiedenen Seiten des Knagge-Körpers,

    dist(q_P, q_A) ≥ ε_L,
    
    d. h. Pfosten-Anker und Auflager-Stützpunkt fallen nicht zusammen.

  6. Kompaktheit: der Knagge-Körper-Durchmesser diam(B.koerper) := max{‖p − q‖ : p, q ∈ B.koerper} bleibt in der Praxis-Range

    ε_L < diam(B.koerper) < L_max,
    
    wobei L_max ein konservativer Praxis-Höchstwert ist (Default 800 mm, vgl. historische Fachwerk-Knaggen 40–80 cm sowie moderne Pfetten-Knaggen typisch 130/130/75 mm bis 200/200/120 mm). Größere dreieckige Holzblöcke werden konstruktiv als Strebe-Sub-Lesart oder als Verstärkungselement geführt, nicht als Knagge.

Wesentliche abgeleitete Größen:

  • Knagge-Volumen: V_K := vol(B.koerper) (in mm³); für klassische Dreieck-Prismen-Knaggen ist V_K = ½ · a · b · t mit Schenkellängen a, b und Tiefe t in Pfosten-Wand- Richtung.
  • Anker-Achsen-Winkel: ϑ := arccos(|⟨n_hat_P, n_hat_A⟩|), Winkel zwischen Pfosten-Anker-Normale und Auflager-Normale; Default-Wert im historischen Fachwerk ~45° (gleichschenklige Dreieck-Knagge), Praxis-Range 30°–60°.
  • Auflager-Fläche-Inhalt: A := area(A_A) (in mm²), trägt die Reibungs- und Auflagerdruck-Kapazität nach DIN 1052 §12.5.

Wohldefiniertheit

  • Existenz: jeder konvexe dreieckige Holzblock mit zwei nicht-koplanaren ausgezeichneten Anker-Flächen (Verzapfung
  • Auflager) am stützenden bzw. getragenen Bauteil ist Standardbeispiel. Sowohl die historische Fachwerk-Kragetage als auch die moderne Pfetten-Kippsicherung (DIN 1052 §12.5) realisieren diese Geometrie.
  • Eindeutigkeit der Anker-Flächen: A_P und A_A sind zwei ausgezeichnete Faces des Knagge-Polyeders; die Auswahl ist im konstruktiven Modell explizit (Konstruktor-Parameter, nicht über Heuristik). Die Auswahl ist eindeutig, sobald die Knagge angelegt wird; eine Knagge mit verwechselbaren Anker-Flächen (etwa ein gleichschenkliges Dreieck mit beiden Schenkel-Flächen als möglichen Pfosten-Ankern) ist im Modell durch die Konstruktor-Wahl disambiguiert.
  • Unabhängigkeit der Definition von der Unterseiten- Krümmung: historische Knaggen haben eine geschwungene oder gerundete Unterseite (Wikipedia/Knagge), die in der App- Modellierung durch ihre konvexe Hülle ersetzt wird. Die Bedingungen 1–6 betreffen ausschliesslich die beiden Anker- Flächen A_P und A_A sowie den Körper-Durchmesser; die Detail-Geometrie der dritten (Hypotenuse-)Seite ist für die Konsolen-Funktion irrelevant und kann beliebig (konvex hülle, geschwungen, gerade) sein, ohne die Klassifikation als Knagge zu verändern. Das ist die Wohldefiniertheit gegen Detail-Geometrie-Wahl der Knagge.
  • Konsistenz mit hg_bauteil.md: Alle Bedingungen aus bauteil (eindeutige Identität, Geometrie, Werkstoff, Lage in W) sind erfüllt; die Bauteilrolle „Knagge" ergänzt die Konsolen-Constraints 1–6 und führt eine Volumen-Geometrie ein (siehe Quellenkonflikt-Block (1)).
  • Abgrenzung zu Stab-Bauteilrollen: jede Stab- Bauteilrolle (Strebe, Kopfband, Fussband, Pfette, Riegel, Ständer) trägt bauteilachse in der Voraussetzungs-Liste und damit eine dominante Stab-Achse. Die Knagge hat keine solche Achse; jeder Versuch, eine Knagge als Strebe oder Kopfband zu klassifizieren, schlägt an der Bauteilachse- Existenz-Prüfung fehl. Konsistenz: kein Bauteil ist gleichzeitig Knagge und Strebe/Kopfband/Fussband.
  • Abgrenzung zur Stahl-Knagge: industrielle Stahl- Verbinder mit „Knagge"-Markenamen sind Verbindungsmittel oder Verbinder im Sinne der Element-Ontologie (Memory project_element_ontologie), nicht Bauteile. Die App- Element-Hierarchie unterscheidet beide Klassen; eine Stahl-„Knagge" wird in der App nicht als Knagge-Bauteilrolle klassifiziert.
  • Faktor in der Auflager-Neigung (45°-Schwelle): die Schwelle cos(π/4) − ε_K in Bedingung 3 ist konservativ; sie deckt sowohl horizontale Auflager (klassische Deckenbalken-Konsole, ⟨n_hat_A, e_z⟩ ≈ 1) als auch geneigte Auflager (Sparren-Pfetten-Knagge auf einer 30°-Dachpfette, ⟨n_hat_A, e_z⟩ ≈ 0.87) ab. Steilere Auflager-Neigungen sind konstruktiv unüblich und werden konservativ ausgeschlossen.
  • Nicht-Zirkularität: Die Definition stützt sich nur auf bereits definierte Begriffe (bauteil, ebene, weltkoordinatensystem, toleranzen) sowie auf die Voraussetzungs-Begriffe von bauteil (werkstoff, geometrie als sealed-Hierarchie). Forward-Verweise (konsole, auflager, aufschiebling, deckenbalken, verbindungsmittel, mann, andreaskreuz) sind nach HG_KONVENTIONEN.md §6 zulässig.

Erläuterung (nicht normativ)

Die Knagge ist im DACH-Holzbau die Holz-Konsole — ein kompakter dreieckiger Vollholz-Block, der vom stützenden Pfosten/Ständer aus vorspringt und einen darüber- oder seitlich gelagerten Balken (Deckenbalken, Pfette, Sparren) trägt. Sie ist kein Stab-Bauteil und kein Verbindungsmittel, sondern ein eigenständiges Bauteil mit Volumen-Geometrie — die erste seiner Art in diesem Glossar (siehe Quellenkonflikt-Block (1)).

Funktion

Die Knagge leistet zwei konstruktive Aufgaben:

  1. Konsolen-Funktion (primär): Lastübergabe vom getragenen Bauteil in das stützende Bauteil parallel zur Pfosten- Achse. Wikipedia/Konsole (Bauwesen): „vorspringendes Tragelement"; immoportal.com: „Konsole, die die Schubkräfte eines Balkens in ein parallel versetztes Bauteil leitet". Der getragene Balken/die getragene Pfette liegt auf der Knagge-Oberseite auf; die Auflagerlast wird durch das Knagge-Dreieck in den Pfosten geleitet.
  2. Aussteifungs-Funktion (sekundär): in Mehr-Knaggen-Anordnungen (z. B. zwei Knaggen je Pfosten, einseitig oder beidseitig) leistet die Knagge zusätzlich eine Wand-Eckaussteifung ähnlich dem Kopfband. Diese Funktion ist im Korpus untergeordnet (BauNetz-Snippet: „kompaktes Stützelement zur Aufnahme und Weiterleitung von Druckkräften, oft parallel zum Haupt-Tragelement wirkend").

Sub-Lesarten — Hauptlesarten und feinere Varianten

Im DACH-Holzbau-Korpus sind zwei Hauptlesarten belegt, die im Code-Pendant durch das KnaggeLesart-Enum getrennt werden:

  • FACHWERK_KONSOLE (historisch, Kragetage): die klassische Fachwerk-Knagge stützt einen vorkragenden Deckenbalken vom unteren Pfosten ab; obere Etage kragt über die untere hinaus. Mitteleuropäische und nordeuropäische Fachwerkfassaden, ca. 14.–17. Jh. Wikipedia/Knagge: „in Mitteleuropäischen und nordeuropäischen Fachwerkfassaden mit auskragenden Geschossen, unter den überstehenden Bereichen positioniert".

  • DACHSTUHL_KIPPSICHERUNG (modern, Sparren-Pfette): die moderne Knagge sichert die Pfette gegen Kippen auf einer geneigten Stütze oder am Sparren — D.I.E.-Statik-Doku (DIN 1052:2004-08 §12.5): „horizontale Lastaufnahme und Kippsicherung von Pfetten auf geneigten Trägern und Stützen". Tabelle 10 trägt Nagelabstände, Mindestholzdicke t₁,req für die Verbindung.

Feinere Sub-Lesarten werden nicht als Enum-Werte geführt, sondern als erlaeuterung:-Hinweise:

  • Hängeknagge: dekorative Sub-Lesart in der Fachwerk-Konsole, „erscheinen, als hingen sie am Mauerwerk" (Wikipedia/Knagge-Fachwerk). Strukturell weiterhin FACHWERK_KONSOLE, aber mit dekorativer Anordnung.
  • Geschwungene Knagge vs. moderne Knagge mit gerader Unterseite: Detail der Hypotenuse-Geometrie (Wohldefiniertheits- Block); für die Klassifikation irrelevant.
  • Kopfwinkelholz-Lage: süddeutsche Sonderform am Eck-Ständer (Wikipedia/Knagge-Fachwerk); in abgelehnte_benennungen: als alleinstehende Bauteil- Benennung wegen Korpus-Mehrdeutigkeit (Quellenkonflikt- Block (4)).
  • Fußwinkelholz-Lage (am Pfosten-Fuss in Fussband- Position): geometrisch eine Knagge in Fussband-Lage (Wikipedia/Fußband; siehe hg_fussband.md Quellenkonflikt- Block (4)). Strukturell weiterhin Knagge; die spezifische Lage wird über die KnaggeLesart-Position-Komponente am Code-Pendant getragen.

Anschluss-Geometrie

  • Pfosten-Anker (A_P): vertikale (oder geneigte) Fläche am stützenden Bauteil, in der Praxis als Verzapfung mit Stufenfalz ausgeführt (Wikipedia/Knagge-Fachwerk: „Verstecktes Zapfenloch an der Oberseite, Stufenfalz an der Unterseite"). In der modernen Praxis (DIN 1052 §12.5) oft genagelt — die Nagelung trägt die Druck- und Schub- Lastübertragung.
  • Auflager-Fläche (A_A): waagerechte oder leicht geneigte Oberseite der Knagge, auf der der getragene Balken/die Pfette aufliegt. Bei Sparren-Pfetten-Knaggen ist die Auflager-Fläche rechtwinklig zur Pfette angeordnet, um die Pfetten-Kippsicherung zu leisten.
  • Hypotenuse (dritte Seite): die freie Seite, die aus dem Wandgefüge herausragt. Historisch oft geschwungen oder profiliert (Fassadenschmuck-Funktion); modern meist gerade.

Material und Dimensionen

  • Werkstoff: Vollholz (historisch Eiche/Tanne; modern Nadelholz C24/C30 oder Eiche bei Sanierung). Stahl- „Knaggen" sind keine Knaggen im Sinne dieses Eintrags (Quellenkonflikt-Block (2)).
  • Dimensionen: historische Fachwerk-Knaggen typisch Schenkel 40–80 cm bei 10–15 cm Tiefe; moderne Pfetten- Knaggen typisch 130/130/75 mm bis 200/200/120 mm (Schraubenhimmel-Katalog SPAX-Knagge 130x130x75 als Industrie-Referenz). Die App-Modellierung trägt die Dimensionen über das Bauteil-Polyeder.

CH/DE-Asymmetrie und Bauweisen-Verteilung

Bauweise Knagge typisch verwendet?
Fachwerkbau (DE/AT, historisch, Kragetagen-Region) breit, oft geschwungen mit Fassadenschmuck-Funktion
Riegelbau (CH, traditionell) als Fachwerk-Konsole selten (Kragetagen in CH unüblich); als Pfetten-Konsole im Dachstuhl belegt
Holzrahmenbau (modern) im Wand selten; im Dachstuhl-Anschluss als Pfetten-Kippsicherung belegt
Hallenbau / Brettschichtholz als Pfetten-Kippsicherung an geneigten Stützen oder Bindern
Industrielle Stahl-Verbinder (Profix, SPAX, Simpson) „Knagge"-Marke verbreitet, aber kein Holz-Bauteil (Quellenkonflikt-Block (2))

Im CH-Korpus dominiert die DACHSTUHL_KIPPSICHERUNG-Lesart; die FACHWERK_KONSOLE-Lesart ist sanierungs-spezifisch (historischer Fachwerk-Bestand in den Berner Oberländer, Thurgauer und Appenzeller Riegelbauten).

Konstruktive Trennlinien zu verwandten Bauteilen

  • Kopfband (kopfband, Welle-10-Geschwister) und Fussband (fussband, Welle-11-Geschwister): Stab- Bauteile mit Bauteilachse; die Knagge ist Volumen-Bauteil. Sechs-dimensionale Trennlinie (Quellenkonflikt-Block (3)).
  • Strebe (strebe, Welle-10-Geschwister): Stab-Bauteil mit Bauteilachse; nicht Knagge.
  • Konsole (konsole, Forward-Verweis, Folgearbeit Hybrid-Konstruktions-Welle): material-übergreifender Oberbegriff im Bauwesen (Stein/Stahl/Holz/Beton); Knagge ist die Holz-Spezialisierung. oberbegriff: der Knagge ist vorerst bauteil, wird bei Anlage von hg_konsole.md auf konsole migriert (Quellenkonflikt-Block (5)).
  • Auflager (auflager, Forward-Verweis): generisches Auflager-Konzept; die Knagge trägt ein Auflager auf ihrer Oberseite (A_A in der mathematischen Definition). Auflager und Knagge sind komplementär: das Auflager ist die abstrakte Beziehung, die Knagge das konkrete Bauteil, das das Auflager realisiert.
  • Pfette (pfette) und Sub-Lesarten (firstpfette, mittelpfette, fusspfette): das getragene Bauteil im DACHSTUHL_KIPPSICHERUNG-Anwendungsfall. Die Knagge trägt nicht die Pfette als Bauteilrolle, sondern stützt sie am Auflagerpunkt.
  • Unterzug / Deckenbalken (unterzug, deckenbalken, Forward-Verweise): das getragene Bauteil im FACHWERK_KONSOLE-Anwendungsfall (historische Kragetage). Folgearbeit-Trigger bei Geschossdecken-Welle.
  • Ständer / Pfosten (staender, pfosten als Synonym): das stützende Bauteil; trägt den Pfosten- Anker A_P der Knagge an seiner Bauteilachse.
  • Aufschiebling (aufschiebling, Forward-Verweis, Folgearbeit Dachstuhl-Welle): verwandtes Volumen-Bauteil im Dachstuhl — kurzer Holzklotz mit zwei Auflager-Flächen, ähnliche Geometrie-Klasse wie Knagge. Trigger für die zweite Volumen-Bauteilrolle im Hauptglossar.
  • Verbindungsmittel (verbindungsmittel, Forward- Verweis): industrielle Stahl-Knaggen (Profix, SPAX, Simpson) gehören in diese Element-Klasse, nicht in bauteilrolle (Quellenkonflikt-Block (2)).
  • Mann (mann, Forward-Verweis): die Knagge ist nicht Mitglied einer Mann-Figur (Quellenkonflikt-Block (9)); Mann-Figuren sind reine Stab-Komposition.
  • Andreaskreuz (andreaskreuz, Forward-Verweis): Aggregat zweier sich kreuzender Streben; keine Knaggen.

Andere Bedeutungen / Englisch

  • knee, console, corbel: Anglizismen für Konsole bzw. Knagge. Im DE-Korpus mehrdeutig (knee = Knie / Kniestrebe), abgelehnt.
  • „Schaftknagge": spezialisierte Stem-Knagge in der Schifffahrt (Schleusen-Tore); Wikipedia/Knagge erwähnt sie als nicht-Holzbau-Lesart. Abgelehnt.
  • „Stahl-Knagge" / „Profix-Knagge" / „SPAX-Knagge": industrielle Stahl-Verbinder; Element-Klasse verbindungsmittel, nicht bauteilrolle (Quellenkonflikt-Block (2)). Abgelehnt.
  • „Kopfband" / „Bug" / „Kopfbüge": Stab-Bauteile, geometrisch andere Klasse (Quellenkonflikt-Block (3)). Abgelehnt.
  • „Kopfwinkelholz": korpus-mehrdeutig (mal Kopfband, mal Knagge); abgelehnt symmetrisch zu hg_kopfband.md (Quellenkonflikt-Block (4)).
  • „Fußwinkelholz" / „Fusswinkelholz": Lage-Variante der Knagge am Pfosten-Fuss, nicht eigene Bauteilbenennung (Quellenkonflikt-Block (6)). Abgelehnt als alleinstehende Bauteil-Benennung.

Beziehungen

  • Oberbegriff: bauteil (Folgearbeit: nach Anlage hg_konsole.md auf konsole anpassen — Quellenkonflikt- Block (5)). Die Knagge ist ein Bauteil mit Volumen- Geometrie und der zusätzlichen Rolle „Knagge" plus den Konsolen-Constraints 1–6.
  • Bestandteile (partitiv, vom Bauteil geerbt):
  • Bauteilkörper (Volumen-Polyeder, kein Stab mit Achse): konvexer dreieckiger Block;
  • Pfosten-Anker-Fläche A_P (ausgezeichneter Face des Polyeders);
  • Auflager-Fläche A_A (ausgezeichneter Face des Polyeders, nicht koplanar zu A_P);
  • Werkstoff (Vollholz, Festigkeitsklasse C24/C30 bzw. Eiche bei Sanierung);
  • Faserrichtung (Annotation, Default ‖ a(S), also parallel zur stützenden Pfosten-Achse — damit die Knagge parallel zur Faser des Pfostens stehen kann; Korpus- Konvention nach Mönck/Rug).
  • Lesart-Annotation (Merkmal an der Knagge, Hauptlesart- Trennung):
  • Knagge-Lesart (KnaggeLesart-Enum): Wert aus { FACHWERK_KONSOLE, DACHSTUHL_KIPPSICHERUNG, UNSPEZIFIZIERT } (siehe Implementierungs-Hinweis).
  • Verwendung / Beziehung zu anderen Bauteilen:
  • Stützendes Bauteil (Ständer/Pfosten/geneigte Stütze): trägt den Pfosten-Anker A_P.
  • Getragenes Bauteil (Deckenbalken, Pfette, Sparren): liegt auf der Auflager-Fläche A_A.
  • Abgrenzung:
  • Kopfband (kopfband, Welle-10-Geschwister): Stab- Bauteil mit Bauteilachse; nicht Knagge.
  • Fussband (fussband, Welle-11-Geschwister): Stab-Bauteil mit Bauteilachse; nicht Knagge.
  • Strebe (strebe, Welle-10-Geschwister): Stab-Bauteil.
  • Bug / Kopfbüge / Achselband: Synonyme zu Kopfband, kein eigener Eintrag; in abgelehnte_benennungen: aufgenommen.
  • Konsole (konsole, Forward-Verweis): material- übergreifender Oberbegriff.
  • Auflager (auflager, Forward-Verweis): generische Auflager-Beziehung, die die Knagge realisiert.
  • Pfette und Sub-Lesarten (pfette, firstpfette, mittelpfette, fusspfette): getragenes Bauteil.
  • Unterzug / Deckenbalken (Forward-Verweise): getragenes Bauteil in historischer Kragetage.
  • Ständer / Pfosten / Rähm / Schwelle: stützende oder benachbarte Bauteile.
  • Aufschiebling (aufschiebling, Forward-Verweis): verwandtes Volumen-Bauteil.
  • Verbindungsmittel (verbindungsmittel, Forward- Verweis): Stahl-„Knaggen" gehören dort hin, nicht hier.
  • Mann / Andreaskreuz (Forward-Verweise): Stab-Aggregate ohne Knagge-Mitgliedschaft.
  • Bauteil (bauteil): die Knagge ist eine Spezialisierung mit Volumen-Geometrie und Konsolen- Constraints.

Implementierungshinweis

Datentyp (Domänen-Schicht, Kotlin, Schicht domain.bauteil):

package domain.bauteil

import domain.Toleranzen
import domain.bauteil.Bauteil
import domain.bauteil.Bauteilgeometrie
import domain.geometrie.Ebene
import domain.geometrie.Einheitsvektor
import domain.geometrie.Polygon
import domain.geometrie.Punkt
import kotlin.math.abs
import kotlin.math.acos
import kotlin.math.cos
import kotlin.math.PI

/**
 * Knagge als Bauteilrolle: dreieckiger Vollholz-Block, der
 * vom stützenden Pfosten/Ständer aus konsolenartig
 * vorspringt und einen darüber- oder seitlich getragenen
 * Balken (Deckenbalken, Pfette, Sparren) trägt.
 *
 * Glossar: hg_knagge.md
 *
 * Konstitutive Eigenschaft: die Knagge ist die ERSTE
 * Bauteilrolle im Hauptglossar mit Volumen-Geometrie statt
 * Stab-Geometrie — sie etabliert das Muster für künftige
 * Volumen-Bauteilrollen (Aufschiebling, Spielleisten,
 * Konsolen-Klötze). Voraussetzungs-Liste enthält NICHT
 * `bauteilachse`, sondern definiert Geometrie über zwei
 * ausgezeichnete Anker-Flächen am Bauteil-Polyeder.
 *
 * Industrielle Stahl-„Knaggen" (Profix, SPAX, Simpson) sind
 * KEINE Knaggen im Sinne dieses Eintrags — sie gehören in die
 * Element-Klasse `verbindungsmittel`. Memory
 * `project_element_ontologie`: Bauteil / Verbindungsmittel /
 * Verbinder / Verstärkungselement als Geschwister.
 */
data class Knagge(
    val bauteil: Bauteil,
    /**
     * Pfosten-Anker-Fläche: ausgezeichneter Face des
     * Knagge-Polyeders, an dem die Verzapfung mit dem
     * stützenden Pfosten/Ständer anliegt.
     */
    val pfostenAnker: Polygon,
    /**
     * Auflager-Fläche: ausgezeichneter Face des
     * Knagge-Polyeders, auf dem der getragene Balken/die
     * Pfette aufliegt.
     */
    val auflagerFlaeche: Polygon,
    /** Hauptlesart der Knagge. Default UNSPEZIFIZIERT. */
    val lesart: KnaggeLesart = KnaggeLesart.UNSPEZIFIZIERT,
) {
    /**
     * Pfosten-Anker-Normale: nach aussen weisender
     * Einheitsvektor der Pfosten-Anker-Fläche.
     */
    val pfostenAnkerNormale: Einheitsvektor
        get() = pfostenAnker.normale

    /**
     * Auflager-Normale: nach oben weisender Einheitsvektor
     * der Auflager-Fläche.
     */
    val auflagerNormale: Einheitsvektor
        get() = auflagerFlaeche.normale

    /**
     * Anker-Achsen-Winkel ϑ = arccos(|⟨n_hat_P, n_hat_A⟩|),
     * Default ~45° bei gleichschenkliger Dreieck-Knagge.
     */
    fun ankerAchsenWinkel(): Double {
        val cosTheta = abs(pfostenAnkerNormale dot auflagerNormale)
        return acos(cosTheta.coerceIn(0.0, 1.0))
    }

    /**
     * Auflager-Neigungs-Prädikat: Bedingung 3 aus
     * hg_knagge.md (Auflager-Fläche höchstens 45° gegen
     * Horizontale geneigt).
     */
    fun istAuflagerSchwachGeneigt(
        eps: Double = Toleranzen.KOLLINEAR_EPS,
    ): Boolean {
        val nz = auflagerNormale.z
        return nz >= cos(PI / 4.0) - eps
    }
}

/**
 * Hauptlesart einer Knagge im DACH-Holzbau-Korpus. Trennt
 * die zwei dominanten Anwendungsfälle; feinere
 * historisch-dekorative Sub-Lesarten (Hängeknagge,
 * Kopfwinkelholz-Lage, Fußwinkelholz-Lage) sind
 * `erlaeuterung:`-Hinweise im Glossar, nicht Enum-Werte
 * (siehe hg_knagge.md Quellenkonflikt-Block (6)).
 *
 * Glossar: hg_knagge.md (siehe Erläuterung „Sub-Lesarten").
 */
enum class KnaggeLesart {
    /**
     * Historische Fachwerk-Knagge (Kragetage): stützt einen
     * vorkragenden Deckenbalken vom unteren Pfosten ab.
     * Mitteleuropäische und nordeuropäische Fachwerkfassaden,
     * ca. 14.–17. Jh.
     */
    FACHWERK_KONSOLE,

    /**
     * Moderne Dachstuhl-Knagge (Sparren-Pfetten-Anschluss):
     * sichert die Pfette gegen Kippen auf einer geneigten
     * Stütze oder am Sparren. Bemessung nach DIN
     * 1052:2004-08 §12.5 (Tabelle 10 Nagelabstände,
     * Mindestholzdicke t₁,req).
     */
    DACHSTUHL_KIPPSICHERUNG,

    /** Lesart nicht zugewiesen (Default). */
    UNSPEZIFIZIERT,
}

sealed class KnaggeEntartet {
    object KeinVolumenkoerper              : KnaggeEntartet()
    object AnkerFlaechenKoplanar           : KnaggeEntartet()
    object PfostenAnkerNichtBeiPfosten     : KnaggeEntartet()
    object PfostenAnkerNormaleParallelZuAchse : KnaggeEntartet()
    object AuflagerZuSteilGeneigt          : KnaggeEntartet()
    object KeinGetragenesBauteil           : KnaggeEntartet()
    object AnkerStuetzpunkteIdentisch      : KnaggeEntartet()
    object KoerperZuKlein                  : KnaggeEntartet()
    object KoerperZuGross                  : KnaggeEntartet()
}
  • Einheit: Längen in mm (Double), Flächen in mm², Volumen in mm³, Winkel intern in Radiant.
  • Identität: BauteilId aus dem zugrunde liegenden Bauteil (Memory project_bauteil_identifikation).
  • Geometrie-Klasse: Bauteilgeometrie.Volumen (nicht .Stab) — siehe Quellenkonflikt-Block (1). Die App- Code-Schicht muss die sealed-Hierarchie Bauteilgeometrie um die Volumen-Variante erweitern, falls noch nicht geschehen (vermutlich Folgearbeit beim ersten Volumen-Bauteilrollen-Pendant).
  • Invarianten (in der Factory knaggeAusBauteil(...) prüfen, bei Verletzung Resultat.Fehler mit KnaggeEntartet-Variante; niemals Exception):
  • Bauteil-Geometrie vom Typ Bauteilgeometrie.Volumen.
  • Bauteil-Polyeder existiert und ist nicht entartet — sonst KeinVolumenkoerper.
  • Anker-Flächen nicht koplanar: ‖n_hat_P × n_hat_A‖ > Toleranzen.KOLLINEAR_EPS — sonst AnkerFlaechenKoplanar.
  • Pfosten-Anker-Stützpunkt q_P auf der Pfosten- Bauteilachse a(S) (Punkt-Gerade-Abstand ≤ Toleranzen.LAENGE_EPS) — sonst PfostenAnkerNichtBeiPfosten.
  • Pfosten-Anker-Normale rechtwinklig zur Pfosten-Achse: |⟨n_hat_P, d_hat_S⟩| ≤ Toleranzen.KOLLINEAR_EPS — sonst PfostenAnkerNormaleParallelZuAchse.
  • Auflager-Fläche schwach geneigt: ⟨n_hat_A, e_z⟩ ≥ cos(π/4) − Toleranzen.KOLLINEAR_EPS — sonst AuflagerZuSteilGeneigt.
  • Auflager-Inzidenz mit getragenem Bauteil: dist(a(T), A_A) ≤ Toleranzen.LAENGE_EPS für ein gewähltes getragenes Bauteil T — sonst KeinGetragenesBauteil.
  • Anker-Stützpunkt-Trennung: dist(q_P, q_A) ≥ Toleranzen.LAENGE_EPS — sonst AnkerStuetzpunkteIdentisch.
  • Körper-Durchmesser in der Praxis-Range: Toleranzen.LAENGE_EPS < diam(körper) — sonst KoerperZuKlein.
  • diam(körper) < 800 mm (Default-Höchstwert; im Konfiguration-Objekt konfigurierbar) — sonst KoerperZuGross.
  • Edge Cases:
  • Eckknagge am Eckständer: zwei Knaggen an demselben Pfosten, eine pro angeschlossener Wandrichtung. Zwei eigenständige Knagge-Instanzen.
  • Fachwerk-Konsole mit geschwungener Unterseite: die Hypotenuse-Seite des Knagge-Polyeders ist konvex gekrümmt; im App-Modell durch ihre konvexe Hülle approximiert (Wohldefiniertheits-Block). Die geschwungene Detail-Geometrie kann optional als dekoration- Annotation am Bauteil geführt werden.
  • Pfetten-Knagge an geneigter Pfette: die Pfette selbst ist horizontal oder leicht geneigt; die Knagge sitzt rechtwinklig zur Pfetten-Längsrichtung am Sparren- oder Stützen-Auflager. lesart = DACHSTUHL_KIPPSICHERUNG.
  • Doppel-Knagge je Pfosten: zwei Knaggen am gleichen Pfosten, oft auf beiden Wandrichtungen oder oben/unten am gleichen Auflager-Bauteil. Zwei eigenständige Instanzen, keine Aggregat-Beziehung.
  • Hängeknagge: dekorative Sub-Lesart mit nach-unten-gerichteter Hypotenuse, statisch weiterhin Konsole. lesart = FACHWERK_KONSOLE, dekorative Note als Annotation.
  • Knagge am Pfosten-Fuss in Fussband-Lage (Fußwinkelholz): geometrisch eine Knagge, deren Pfosten- Anker am Pfosten-Fuss und deren Auflager-Fläche am unteren Längsholz (Schwelle) sitzt. Wohldefiniert nach Bedingungen 1–6; die App-Klassifikation bleibt Knagge (siehe hg_fussband.md Quellenkonflikt-Block (4)).
  • Sehr kleine Knagge (diam < 100 mm): konstruktiv untypisch, geometrisch toleriert.
  • Abgeleitete Eigenschaften (als Funktionen):
  • volumen(): Double — V_K = vol(körper).
  • auflagerflaecheninhalt(): Double — A = area(A_A).
  • stuetzendesBauteil(t: Tragwerk): Bauteil? — der Pfosten/Ständer, dessen Bauteilachse durch q_P verläuft.
  • getragenesBauteil(t: Tragwerk): Bauteil? — der Deckenbalken/die Pfette, dessen Bauteilachse die Auflager-Fläche berührt.
  • Bezeichner-Konvention (CLAUDE.md): Klasse heißt Knagge (deutsch, Glossarbegriff); Lesart-Enum heißt KnaggeLesart. Spezialisierungs-Subtypen sind nicht vorgesehen — feinere historisch-dekorative Sub-Lesarten bleiben Erläuterungs-Hinweise im Glossar.
  • Folgearbeit-Trigger (für _FOLGEARBEITEN_*.md oder die jeweils einschlägige Welle-Planung):
  • hg_konsole.md: material-übergreifender Oberbegriff (Stein/Stahl/Holz/Beton); Trigger Hybrid-Konstruktions- Welle. Bei Anlage oberbegriff: der Knagge auf konsole migrieren (Quellenkonflikt-Block (5)). Eintrag in HG_KONVENTIONEN §6-(A)-Tabelle bei der nächsten Pflege.
  • hg_aufschiebling.md: zweite Volumen-Bauteilrolle im Hauptglossar; verwandter Volumen-Block im Dachstuhl- Kontext. Trigger Dachstuhl-Welle / erste Aufschiebling- Modellierung. Knagge dient als Vorbild für das Voraussetzungs-Muster ohne bauteilachse.
  • Stahl-Knagge (verbindungsmittel-Familie): bei erster Modellierung industrieller Stahl-Holzbauverbinder eigene Bauteilklassen-Hierarchie (Profix-Reihe, SPAX- Reihe, Simpson-KNAG-Reihe). Element-Ontologie-Memory project_element_ontologie ist Leitfaden.
  • hg_deckenbalken.md und hg_unterzug.md: das getragene Bauteil im historischen Kragetagen-Anwendungsfall. Trigger Geschossdecken-Welle.
  • SIA-265-Verifikation: bei Volltext-Zugriff (Eric) SIA 265:2021 §1.1 und §8 (Anschlüsse) direkt prüfen (Quellenkonflikt-Block (8)).
  • DIN-1052-§12.5-Verifikation: D.I.E.-Statik-Doku liefert via die.de bereits die §12.5-Volltext-Inhalte (Tabelle 10, t₁,req); bei Bedarf separater Verifikations-Trigger im _FOLGEARBEITEN_*.md.
  • BauNetz-Wissen-Direkteinsicht: Browser-Direktblick durch Eric bei baunetzwissen.de/glossar/k/knagge-... (Block-Signal, Quellenkonflikt-Block aus hg_kopfband.md Welle 10 übertragen).
  • Bauteilgeometrie.Volumen-Code-Erweiterung: bei erster Implementierung dieser Klasse die sealed- Hierarchie Bauteilgeometrie um die Volumen-Variante erweitern, falls noch nicht geschehen. Knagge ist die erste Verwendung dieses Codepfads.

Quellen

Primär (normativ):

  • SIA 265:2021, „Holzbau", Schweizerischer Ingenieur- und Architektenverein, Zürich, §1.1 Fachausdrücke und §8 (Anschlüsse) [via: Lignum-Pressemitteilung 2021].
  • DIN EN 1995-1-1:2010-12, „Eurocode 5: Bemessung und Konstruktion von Holzbauten – Teil 1-1".
  • DIN 1052:2004-08, „Entwurf, Berechnung und Bemessung von Holzbauwerken", §12.5 „Sparrenauflager Pfette mit Knagge" mit Tabelle 10 (Nagelabstände, Mindestholzdicke t₁,req). [via: die.de Sparren-Pfette-Knagge-Dokumentation, DIN-1052-§12.5-Inhalt im Volltext]
  • Wikipedia, Lemma „Knagge", de.wikipedia.org/wiki/Knagge (abgerufen 2026-05-15). [direkt]
  • Wikipedia, Lemma „Knagge (Fachwerk)", de.wikipedia.org/wiki/Knagge_(Fachwerk) (abgerufen 2026-05-15). [direkt]
  • Wikipedia, Lemma „Konsole (Bauwesen)", de.wikipedia.org/wiki/Konsole_(Bauwesen) (abgerufen 2026-05-15). [direkt]
  • Thesaurus Traditioneller Holzbau (TTH), RWTH Aachen, Lemma „Kopfband" (Begriff-ID 832) mit verwandtem Term „Knagge". thesaurus-traditioneller-holzbau.net. [direkt]
  • BauNetz Wissen, Glossar-Holz, Lemma „Knagge" (baunetzwissen.de/glossar/k/knagge-6629379) und Glossar-Geneigtes-Dach (baunetzwissen.de/glossar/k/ knagge-5397378, abgerufen 2026-05-15, WebFetch 403; Snippet-Inhalte aus WebSearch). [einsicht: snippet]
  • D.I.E. Statik-Software, „Sparrenauflager Pfette mit Knagge nach EN 1995-1-1", die.de/dokumentation/holzbau-dach/technik/anschluss/ en1995-1-1/sparren-pfette-knagge.html (abgerufen 2026-05-15). [direkt]

Sekundär:

  • Lignum: Pressemitteilung 2021 — Anwendungshilfen für neue SIA-Norm Holzbau. lignum.ch/auf_einen_klick/news/.
  • Lignum (Hrsg.): Holzbautabellen HBT 1 (2024). Lignum, Zürich.
  • Mönck, W.; Rug, W.: Holzbau – Bemessung und Konstruktion.
  • Auflage, Beuth, Berlin 2015.
  • Natterer, J.; Herzog, T.; Volz, M.: Holzbau-Atlas.
  • Auflage, Birkhäuser, Basel 2003.
  • Gerner, M.: Fachwerk – Instandsetzung, Sanierung, Neubau. DVA, 7. Auflage 2007.
  • Großmann, R.: Konstruktionen des deutschen Fachwerkbaus. 1987 (TTH-Primärquelle).
  • Wikipedia, Lemmata „Fußband" und „Mann (Fachwerk)".
  • Monumente Online / DVA: „Was ist eine Knagge?" Ausgabe 2014/4.
  • Informationszentrum Umgebindehaus, HS Zittau/Görlitz: „Schäden an Kopfbändern und Knaggen", umgebindehaus.hszg.de/service/sanierungshandbuch.
  • bilp.de: „Arten von Knaggen" und „Herstellung und Befestigung einer Knagge", holzbau.bilp.de/anleitung-dachkonstruktion/knagge/.
  • landschaftzukunftev.de: „Kopfband und Knagge – Unterschiedliche Bauweisen.pdf".
  • immoportal.com: Glossar „Knagge".
  • Profix AG (CH): shop.profix.swiss Holzbauverbinder „Knagge" (Stahl-Verbinder, Quellenkonflikt-Block (2)).
  • Schraubenhimmel: SPAX-Knagge 130x130x75, schraubenhimmel.de/branchen/zimmerei/knaggen.
  • Simpson Strong-Tie: Winkelverbinder KNAG, strongtie.de/de-DE/produkte/winkelverbinder-knag.
  • S+S ABBUND Wiki: „Knagge für alle Profile", wiki.abbund.com.

Korpus (nicht autoritativ):

  • fachwerk.de Forum.
  • kulturdenkmalhaus.de Glossar Umgebindehaus.
  • Recherche-Bericht: docs/recherche/2026-05-15_fussband_knagge.md.
  • Recherche-Bericht (Vorgänger): docs/recherche/2026-05-15_strebe_kopfband_bug.md (Welle 10, §F.2 Abgrenzung Kopfband ↔ Knagge).

Quelle herunterladen

MarkdownPlain TextBibTeX