# Beispielcode für Fachwerk

```python
# MATERIAL
Material(1, 'S235')  # Baustahl S235

# GEOMETRY
# Knoten definieren (10m Spannweite, 2m Höhe)
# Untergurt
Node(1, 0, 0, 0)     # Linkes Auflager
Node(2, 2.5, 0, 0)   # Zwischenknoten
Node(3, 5, 0, 0)     # Mittelknoten
Node(4, 7.5, 0, 0)   # Zwischenknoten
Node(5, 10, 0, 0)    # Rechtes Auflager

# Obergurt
Node(6, 0, 0, 2)     # Linker Eckknoten
Node(7, 2.5, 0, 2)   # Zwischenknoten
Node(8, 5, 0, 2)     # Mittelknoten
Node(9, 7.5, 0, 2)   # Zwischenknoten
Node(10, 10, 0, 2)   # Rechter Eckknoten

# Linien definieren
# Untergurt
Line(1, [1, 2])
Line(2, [2, 3])
Line(3, [3, 4])
Line(4, [4, 5])

# Obergurt
Line(5, [6, 7])
Line(6, [7, 8])
Line(7, [8, 9])
Line(8, [9, 10])

# Vertikale
Line(9, [1, 6])
Line(10, [2, 7])
Line(11, [3, 8])
Line(12, [4, 9])
Line(13, [5, 10])

# Diagonale
Line(14, [1, 7])
Line(15, [2, 8])
Line(16, [3, 9])
Line(17, [4, 10])

# Auflager definieren
NodalSupport(1, '1', NodalSupportType.HINGED)     # Gelenkiges Auflager links
NodalSupport(2, '5', NodalSupportType.HINGED_X)   # Verschiebliches Auflager rechts

# CROSSSECTION
# Querschnitt definieren
Section(1, 'RO 100x5')  # Rohrprofil 100x5

# Stabelemente definieren
# Untergurt
Member(1, 1, 2, 0, 1, MemberType.TRUSS)
Member(2, 2, 3, 0, 1, MemberType.TRUSS)
Member(3, 3, 4, 0, 1, MemberType.TRUSS)
Member(4, 4, 5, 0, 1, MemberType.TRUSS)

# Obergurt
Member(5, 6, 7, 0, 1, MemberType.TRUSS)
Member(6, 7, 8, 0, 1, MemberType.TRUSS)
Member(7, 8, 9, 0, 1, MemberType.TRUSS)
Member(8, 9, 10, 0, 1, MemberType.TRUSS)

# Vertikale
Member(9, 1, 6, 0, 1, MemberType.TRUSS)
Member(10, 2, 7, 0, 1, MemberType.TRUSS)
Member(11, 3, 8, 0, 1, MemberType.TRUSS)
Member(12, 4, 9, 0, 1, MemberType.TRUSS)
Member(13, 5, 10, 0, 1, MemberType.TRUSS)

# Diagonale
Member(14, 1, 7, 0, 1, MemberType.TRUSS)
Member(15, 2, 8, 0, 1, MemberType.TRUSS)
Member(16, 3, 9, 0, 1, MemberType.TRUSS)
Member(17, 4, 10, 0, 1, MemberType.TRUSS)

# LOADS
# Lastfall definieren
LoadCase(1, 'Punktlasten')

# Punktlasten auf den Obergurt (20 kN nach unten)
NodalLoad(1, 1, '7', 20000, NodalLoadDirection.LOAD_DIRECTION_GLOBAL_Z)
NodalLoad(2, 1, '8', 20000, NodalLoadDirection.LOAD_DIRECTION_GLOBAL_Z)
NodalLoad(3, 1, '9', 20000, NodalLoadDirection.LOAD_DIRECTION_GLOBAL_Z)

# SOLVER
# Statische Analyseeinstellungen definieren
StaticAnalysisSettings(1, 'Linear', 1)

# Berechnung durchführen
Calculate_all()
```
