<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://itp-zeitschel.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lutz</id>
	<title>ITP - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://itp-zeitschel.de/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lutz"/>
	<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=Spezial:Beitr%C3%A4ge/Lutz"/>
	<updated>2026-11-08T17:21:34Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_feabench&amp;diff=13980</id>
		<title>C feabench</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_feabench&amp;diff=13980"/>
		<updated>2026-11-06T15:45:01Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Zum Testen von Modellen gibt es ein tolles Programm:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;+prog feabench&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
kopf&lt;br /&gt;
&lt;br /&gt;
task chks&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
Es liefert ggf. die Elemente, welche Schwierigkeiten (Stabilitätsüberprüfung) machen. Diese kann man dann in WINGRAF (Extras -&amp;gt; Elementinfo) finden.&lt;br /&gt;
&lt;br /&gt;
Bei Pfahlgründung mit einer Fußfeder liefert das Programm eine &amp;quot;Instabilität&amp;quot;...ASE läuft aber trotzdem ohne Warnung durch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ASE]]&lt;br /&gt;
[[Kategorie:Statisches System]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_%C3%9Cberpr%C3%BCfung_von_Variablen_und_logische_Abfragen&amp;diff=13979</id>
		<title>C Überprüfung von Variablen und logische Abfragen</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_%C3%9Cberpr%C3%BCfung_von_Variablen_und_logische_Abfragen&amp;diff=13979"/>
		<updated>2026-10-12T08:44:56Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== der Befehl txa ==&lt;br /&gt;
&lt;br /&gt;
Für die Kontrollausgabe benutze ich gern:&lt;br /&gt;
&lt;br /&gt;
        txa    &amp;lt;B&amp;gt; Kontrollausgabe&amp;lt;/B&amp;gt;&lt;br /&gt;
        txa Linien Knickpunkt Gradiente&lt;br /&gt;
        let#lnnr  #sln1+#i&lt;br /&gt;
        let#np_1  #f3(#i)&lt;br /&gt;
        let#np_2  #f3(#i+1)&lt;br /&gt;
        txa     Linie Nr.       = #(#lnnr,10.0)&lt;br /&gt;
        txa     Knoten Nr. 1    = #(#np_1,10.0)&lt;br /&gt;
        txa     Knoten Nr. 2    = #(#np_2,10.0)&lt;br /&gt;
&lt;br /&gt;
10.0 bedeutet: insgesamt 10 Stellen, davon 0 nach dem Komma.&lt;br /&gt;
&lt;br /&gt;
In Schleifen mit Abfragen von Bedingungen kann man so eine Zwischenkontrolle durchführen:&lt;br /&gt;
&lt;br /&gt;
let#knr 3000&lt;br /&gt;
&lt;br /&gt;
let#knrref      1000&lt;br /&gt;
&lt;br /&gt;
let#y   1.3&lt;br /&gt;
&lt;br /&gt;
let#dx0 0&lt;br /&gt;
&lt;br /&gt;
let#dx1 -0.191&lt;br /&gt;
&lt;br /&gt;
loop#i  37&lt;br /&gt;
        if (#i==0)&lt;br /&gt;
            let#dx  #dx1&lt;br /&gt;
        elseif (#i==19-1)&lt;br /&gt;
            let#dx  #dx1&lt;br /&gt;
        elseif (#i==37-1)&lt;br /&gt;
            let#dx  #dx1&lt;br /&gt;
        else&lt;br /&gt;
            let#dx  #dx0&lt;br /&gt;
        endif&lt;br /&gt;
        txa     dx  = #(#dx,6.3)&lt;br /&gt;
        spt     nr #knr+1+#i    x #x_a_n(#i+1)+#dx  y #y z 0&lt;br /&gt;
        sptp    typ kf  ref #knrref+1+#i    grp 99&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
Man kann mit txa auch auf Felder zugreifen.&lt;br /&gt;
&lt;br /&gt;
let#p_i(31:54)   0                  $ Feld p_i definiert und alle Felder mit 0 belegt&lt;br /&gt;
loop#1  6*4&lt;br /&gt;
        let#p_i(31+#1)  31+#1       $ ab Index 31 die Ziffern 31,32,33... eintragen&lt;br /&gt;
        txa     index  = #(#1+31,2.0)   Ziffer       = #(#p_i(31+#1),4.0)&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Protokollieren mit prt oder dbg==&lt;br /&gt;
&lt;br /&gt;
Bei der Variante mit TXA erfolgt die Kontrollausgabe in den Report Browser.&lt;br /&gt;
&lt;br /&gt;
Alternativ dazu kann man auch die Variante mit PRT nutzen:&lt;br /&gt;
&lt;br /&gt;
prt#qnr_st(1)&lt;br /&gt;
&lt;br /&gt;
Hierbei erfolgt die Ausgabe unter &amp;quot;Echo der Eingabe&amp;quot; und es werden evtl. unerwünschte Nachkommastellen angezeigt.&lt;br /&gt;
Falls eine Variable eine ganzzahlige Zahl sein muss, so gibt man diese mit z.Bps. zwischen zwei Hochkomma ein:&lt;br /&gt;
&lt;br /&gt;
sto#qnr_nt      &#039;0&#039;             &#039;301&#039;   &#039;201&#039;   &#039;201&#039;   &#039;101&#039;   &#039;101&#039;   $ Querschnittsnummer&lt;br /&gt;
&lt;br /&gt;
Alternativ kann man auch den ganzzahligen Anteile mit let#variable_neu div(#variable_alt,1) ermitteln.&lt;br /&gt;
Auch ganze Felder kann derart protokollieren.&lt;br /&gt;
&lt;br /&gt;
Mit einer Eingabe dbg#2 bekommt man evtl. hilfreiche Hinweise bei schwer zu erkennenden Fehlern.&lt;br /&gt;
&lt;br /&gt;
== Schleifen mit logischen Abfragen testen ==&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
&amp;amp; - UND&lt;br /&gt;
| - ODER&lt;br /&gt;
&lt;br /&gt;
Bei logischen Abfragen ist es sehr wichtig, ganz streng zu &amp;quot;klammern&amp;quot;!!! &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;elseif  ((#x&amp;lt;#l) &amp;amp; (#x&amp;gt;=(2*#a+#c)))&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Das Programm liefert keine brauchbaren Fehlermeldungen, sonder macht irgendetwas.&lt;br /&gt;
Es kann recht hilfreich sein, sich die Grenzwerte &amp;quot;i&amp;quot; in Variablen zu speichern. z. Bsp.:&lt;br /&gt;
* #i1: #a&lt;br /&gt;
* #i2: #a+#c&lt;br /&gt;
* #i3: 2*#a+#c&lt;br /&gt;
* #i4: #l&lt;br /&gt;
* #i5: #l+#a&lt;br /&gt;
* #i6: #l+#a+#c&lt;br /&gt;
* #i7: #l+2*#a+#c&lt;br /&gt;
Wenn man sich in der jeweiligen Abfrage mit:&lt;br /&gt;
txa Fall 4: x&amp;gt;=l+2a+c &amp;amp; x&amp;lt;l&lt;br /&gt;
txa lf #(#lf,4.0)&lt;br /&gt;
txa x #(#x,7.3)   &lt;br /&gt;
den jeweiligen Status ausgeben lässt, so kommt man recht fix zu einer guten Kontrolle.😂&lt;br /&gt;
&lt;br /&gt;
=== Klammersetzung ===&lt;br /&gt;
Hier ein weiteres Beispiel für die Notwendigkeit zu &#039;&#039;&#039;klammer&#039;&#039;&#039;!&lt;br /&gt;
Ohne diese Klammersetzung passiert nix, und es kommt auch keine Fehlermeldung.&lt;br /&gt;
Wenn #1=0 ODER #1=8 ODER #1=9...dann:&lt;br /&gt;
    if (((#1==0)|(#1==8))|(#1==9))&lt;br /&gt;
&lt;br /&gt;
=== Geradzahligkeit ===&lt;br /&gt;
Gelegentlich braucht man eine &#039;&#039;&#039;gerade&#039;&#039;&#039; ganze Zahl.&lt;br /&gt;
&lt;br /&gt;
Das geht beispielsweise so:&lt;br /&gt;
&lt;br /&gt;
$ Längsrichtung #ny&lt;br /&gt;
&lt;br /&gt;
if (mod(div(#y/#hmin),2))&amp;gt;0&lt;br /&gt;
&lt;br /&gt;
    sto#ny  div(#y/#hmin)+1&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    sto#ny  div(#y/#hmin)&lt;br /&gt;
&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
* #ny ist unabhängibg von den Werten #y und #hmin immer eine gerade Ganzzahl.&lt;br /&gt;
&lt;br /&gt;
== Winkel ==&lt;br /&gt;
Gelegentlich möchte man z.Bsp. mit GON oder auch RAD als Winkeleinheit rechnen: geht ganz einfach!&lt;br /&gt;
&lt;br /&gt;
let#xyz 0.5/sin(gon,67.21)&lt;br /&gt;
&lt;br /&gt;
txa ergebnis #(#xyz,8.3)&lt;br /&gt;
&lt;br /&gt;
== Fehlermöglichkeiten ==&lt;br /&gt;
&lt;br /&gt;
Das mit den Variablen hat so seine Tücken.&lt;br /&gt;
&lt;br /&gt;
aktueller Fall:&lt;br /&gt;
&lt;br /&gt;
Ich definiere im &#039;&#039;&#039;Template&#039;&#039;&#039; die globalen Variablen&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;sto#yl -1,07/2&#039;&#039;&#039; $y_links&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sto#yr -#yl&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Im Zuge der Projektbearbeitung möchte ich eine LAR definieren. Also gehe ich in einen entsprechenden älteren Datensatz und hole mir von dort mal fix die entsprechenden Eingabezeilen in&#039;s &#039;&#039;&#039;SOFiLOAD&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;let#yr&#039;&#039;&#039;  1.85 😆&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;let#yl&#039;&#039;&#039;  -#yr&lt;br /&gt;
&lt;br /&gt;
lar nr 1 grp1 1 grp2 2 grp3 - m #hmin n #hmin t 1 x1 #x1 #yl 0 x2 #x8 #yl 0 x3 #x8  #yr 0 x4 #x1 #yr 0&lt;br /&gt;
&lt;br /&gt;
Da die erneute lokale Definition (&#039;&#039;&#039;let&#039;&#039;&#039;) der Variablen die globale (&#039;&#039;&#039;sto&#039;&#039;&#039;) überschreibt...ist die LAR viel zu breit. 🙄 &#039;&#039;&#039;KONTROLLE, KONTROLLE, KONTROLLE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ein weitere Fehlerquelle könnte die Verwendung einer veralteten STO - Variable sein. Man kann z.Bsp. sto#var1 definieren (oder aus einem Vorlageprojekt übernehmen) und dann doch die Variable sto#var2 defineren und benutzen.&lt;br /&gt;
&lt;br /&gt;
Eigentlich erwartet man, dass von der Software eine Warnung ausgegeben wird: &amp;quot;Achtung: bereits definierte Variable #yl wird überschrieben.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im alten Eingabesatz wird aber immernoch #var1 verwendet. Dieses verhindert man dadurch, dass man regelmäßig die Datenbank aufräumt.&lt;br /&gt;
  &lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13978</id>
		<title>C Arbeitsweise bei komplexen Projekten</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13978"/>
		<updated>2026-09-26T10:24:21Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Zentraldatei.jpg|gerahmt|rechts|Prinzip der Zentraldatei]]&lt;br /&gt;
Manchmal sind Projekte doch recht komplex; es sind verschiedene Lastsituationen zu berechnen, die Struktur ist anspruchsvoll und außerdem sind unterschiedliche Bemessungsaufgaben zu erfüllen. Ggf. sind auch unterschiedliche Systeme zu überlagern.&lt;br /&gt;
&lt;br /&gt;
Eine Möglichkeit zeigt die Skizze. Ich zerlege die Gesamtaufgabe in entsprechende Teilaufgaben. Die Ergebnisse versuche ich weitestgehend grafisch darzustellen.&lt;br /&gt;
&lt;br /&gt;
Im Modul &amp;quot;Template&amp;quot; stecken natürlich die [[C Parametrisierung und Variantenuntersuchung|Parameter]]. Derart lassen sich schnell auch entsprechende Varianten untersuchen.&lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;br /&gt;
&lt;br /&gt;
Das Einbinden der Zentraldatei in eine andere Steuerdatei erledigt man über: +sys &#039;&#039;&#039;copy&#039;&#039;&#039;   zentraldatei.cdb     &#039;&#039;&#039;$(projekt).cdb&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Mitunter wird die Eingabedatei sehr groß und unübersichtlich. Dann zerlege ich die Datei in mehrere DAT - Dateien. In den Teildateien bleibt bei dieser Arbeitsweise die Unterteilung durch &#039;&#039;&#039;Kapitel&#039;&#039;&#039; und &#039;&#039;&#039;Sprungmarken&#039;&#039;&#039; erhalten. Die Namen dieser Dateien beginnen bei mir immer mit &amp;quot;block...&amp;quot;. So werden sie beim Aufräumen nicht versehentlich gelöscht.&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=Kategorie:CADINP&amp;diff=13977</id>
		<title>Kategorie:CADINP</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=Kategorie:CADINP&amp;diff=13977"/>
		<updated>2026-09-26T10:23:28Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- zur besseren Auflistung - Unterkategorie mit davorgestellten Ausrufungszeichen --&amp;gt;&lt;br /&gt;
[[Kategorie:CADINP|!Allgemeines zu CADINP]] &lt;br /&gt;
[[Kategorie:CADINP|!AQUA]]&lt;br /&gt;
[[Kategorie:CADINP|!SIR]]&lt;br /&gt;
[[Kategorie:CADINP|!SOFiMSHA]]&lt;br /&gt;
[[Kategorie:CADINP|!SOFiMSHC]]&lt;br /&gt;
[[Kategorie:CADINP|!SOFiLOAD]]&lt;br /&gt;
[[Kategorie:CADINP|!TENDON]]&lt;br /&gt;
[[Kategorie:CADINP|!ASE]]&lt;br /&gt;
[[Kategorie:CADINP|!CSM]]&lt;br /&gt;
[[Kategorie:CADINP|!MAXiMA]]&lt;br /&gt;
[[Kategorie:CADINP|!BEMESS]]&lt;br /&gt;
[[Kategorie:CADINP|!Result Viewer]]&lt;br /&gt;
[[Kategorie:CADINP|!WiNGRAF]]&lt;br /&gt;
[[Kategorie:CADINP|!BDK]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Erzeugung der Unterkategorien beginnt mit : --&amp;gt;&lt;br /&gt;
* [[:Kategorie:Allgemeines zu CADINP|Allgemeines zu CADINP]]: Allgemeine Hinweise.&lt;br /&gt;
* [[:Kategorie:AQUA|AQUA]]: Querschnitte und Materialien.&lt;br /&gt;
* [[:Kategorie:SIR|SIR]]: Schnitte im Raum.&lt;br /&gt;
* [[:Kategorie:SOFiMSHA|SOFiMSHA]]: Systemgenerierung.&lt;br /&gt;
* [[:Kategorie:SOFiMSHC|SOFiMSHC]]: Systemgenerierung II.&lt;br /&gt;
* [[:Kategorie:SOFiLOAD|SOFiLOAD]]: Lasten.&lt;br /&gt;
* [[:Kategorie:TENDON|TENDON]]: Vorspannung.&lt;br /&gt;
* [[:Kategorie:ASE|ASE]]: Berechnung.&lt;br /&gt;
* [[:Kategorie:CSM|CSM]]: Bauphaseneditor.&lt;br /&gt;
* [[:Kategorie:MAXiMA|MAXIMA]]: Extremwerte.&lt;br /&gt;
* [[:Kategorie:BEMESS|BEMESS]]: Bemessung von Flächenelementen.&lt;br /&gt;
* [[:Kategorie:AQB|AQB]]: Bemesung von Stabelementen.&lt;br /&gt;
* [[:Kategorie:Result Viewer|Result Viewer]]: Ergebnisdarstellung.&lt;br /&gt;
* [[:Kategorie:WiNGRAF|WiNGRAF]]: Ergebnisdarstellung II.&lt;br /&gt;
* [[:Kategorie:BDK|BDK]]: Biegedrillknicken.&lt;br /&gt;
CADINP (Computer Aided Description of Input) ist die textorientierte Eingabe- und Programmiersprache der Softwarefamilie SOFiSTiK. Ich verwende diese Sprache, um Modelle, Lasten, Berechnungen und Auswertungen parametrisch zu beschreiben. Die Sprache ist besonders im Bauingenieurwesen für wiederholbare und automatisierbare Berechnungen verbreitet. &lt;br /&gt;
&lt;br /&gt;
Die wesentlichsten Merkmale sind:&lt;br /&gt;
&lt;br /&gt;
•	Textbasierte Modellbeschreibung&lt;br /&gt;
Tragwerke, Materialien, Querschnitte, Lasten und Berechnungsabläufe werden in Textdateien definiert. Dadurch sind Projekte transparent, dokumentierbar und versionsfähig. &lt;br /&gt;
&lt;br /&gt;
•	Parametrisierung&lt;br /&gt;
Variablen können definiert und im gesamten Modell (sto - Variablen) verwendet werden. Änderungen an wenigen Parametern können ein komplettes Tragwerksmodell aktualisieren. &lt;br /&gt;
&lt;br /&gt;
CADINP verfügt über typische Elemente einer Programmiersprache:&lt;br /&gt;
&lt;br /&gt;
•	Variablen&lt;br /&gt;
&lt;br /&gt;
•	Bedingungen (IF-Abfragen)&lt;br /&gt;
&lt;br /&gt;
•	logische Ausdrücke&lt;br /&gt;
&lt;br /&gt;
•	Schleifen bzw. Iterationen&lt;br /&gt;
&lt;br /&gt;
•	Funktionen und Felder (Arrays)&lt;br /&gt;
&lt;br /&gt;
•	Schleifen über mehrere Programmmodule&lt;br /&gt;
&lt;br /&gt;
Die Eingabe wird über verschiedene Berechnungsmodule verteilt.&lt;br /&gt;
&lt;br /&gt;
•	Mathematische Funktionen und Datenfelder&lt;br /&gt;
CADINP unterstützt Berechnungen mit selbstdefinierbaren mathematischen Funktionen (FUN), Tabellen und Feldern zur Verarbeitung größerer Datenmengen. Der Tabelleneditor erlaubt die Generierung&lt;br /&gt;
großer Felder.&lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Daten aus EXCEL einzulesen und auch nach EXCEL zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Kurz gesagt: CADINP ist eine hochentwickelte Skriptsprache für das Bauingenieurwesen, die Parametrik, Variablen, Bedingungen, Schleifen, Funktionen und modulübergreifende Automatisierung kombiniert.&lt;br /&gt;
&lt;br /&gt;
Der Texteditor TEDDY ist speziell für diese Sprache - Arbeitsweise entwickelt wurden.&lt;br /&gt;
&lt;br /&gt;
Die nachstehenden Artikel dienen mir als eingefleischten TEDDYaner als Hilfe. Es würde mich freuen, auch anderen TEDDYanern mit diesem oder jenen Beitrag zu helfen.&lt;br /&gt;
Für kritische Hinweise bin ich stets dankbar.&lt;br /&gt;
&lt;br /&gt;
Einen sehr guten Einstieg in die Software findet sich unter [https://dersofistikeinsteiger.de/  &amp;quot;der Sofistikeinsteiger&amp;quot;.].&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=Kategorie:CADINP&amp;diff=13976</id>
		<title>Kategorie:CADINP</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=Kategorie:CADINP&amp;diff=13976"/>
		<updated>2026-09-26T10:22:37Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- zur besseren Auflistung - Unterkategorie mit davorgestellten Ausrufungszeichen --&amp;gt;&lt;br /&gt;
[[Kategorie:CADINP|!Allgemeines zu CADINP]] &lt;br /&gt;
[[Kategorie:CADINP|!AQUA]]&lt;br /&gt;
[[Kategorie:CADINP|!SIR]]&lt;br /&gt;
[[Kategorie:CADINP|!SOFiMSHA]]&lt;br /&gt;
[[Kategorie:CADINP|!SOFiMSHC]]&lt;br /&gt;
[[Kategorie:CADINP|!SOFiLOAD]]&lt;br /&gt;
[[Kategorie:CADINP|!TENDON]]&lt;br /&gt;
[[Kategorie:CADINP|!ASE]]&lt;br /&gt;
[[Kategorie:CADINP|!CSM]]&lt;br /&gt;
[[Kategorie:CADINP|!MAXiMA]]&lt;br /&gt;
[[Kategorie:CADINP|!BEMESS]]&lt;br /&gt;
[[Kategorie:CADINP|!Result Viewer]]&lt;br /&gt;
[[Kategorie:CADINP|!WiNGRAF]]&lt;br /&gt;
[[Kategorie:CADINP|!BDK]]&lt;br /&gt;
&lt;br /&gt;
CADINP (Computer Aided Description of Input) ist die textorientierte Eingabe- und Programmiersprache der Softwarefamilie SOFiSTiK. Ich verwende diese Sprache, um Modelle, Lasten, Berechnungen und Auswertungen parametrisch zu beschreiben. Die Sprache ist besonders im Bauingenieurwesen für wiederholbare und automatisierbare Berechnungen verbreitet. &lt;br /&gt;
&lt;br /&gt;
Die wesentlichsten Merkmale sind:&lt;br /&gt;
&lt;br /&gt;
•	Textbasierte Modellbeschreibung&lt;br /&gt;
Tragwerke, Materialien, Querschnitte, Lasten und Berechnungsabläufe werden in Textdateien definiert. Dadurch sind Projekte transparent, dokumentierbar und versionsfähig. &lt;br /&gt;
&lt;br /&gt;
•	Parametrisierung&lt;br /&gt;
Variablen können definiert und im gesamten Modell (sto - Variablen) verwendet werden. Änderungen an wenigen Parametern können ein komplettes Tragwerksmodell aktualisieren. &lt;br /&gt;
&lt;br /&gt;
CADINP verfügt über typische Elemente einer Programmiersprache:&lt;br /&gt;
&lt;br /&gt;
•	Variablen&lt;br /&gt;
&lt;br /&gt;
•	Bedingungen (IF-Abfragen)&lt;br /&gt;
&lt;br /&gt;
•	logische Ausdrücke&lt;br /&gt;
&lt;br /&gt;
•	Schleifen bzw. Iterationen&lt;br /&gt;
&lt;br /&gt;
•	Funktionen und Felder (Arrays)&lt;br /&gt;
&lt;br /&gt;
•	Schleifen über mehrere Programmmodule&lt;br /&gt;
&lt;br /&gt;
Die Eingabe wird über verschiedene Berechnungsmodule verteilt.&lt;br /&gt;
&lt;br /&gt;
•	Mathematische Funktionen und Datenfelder&lt;br /&gt;
CADINP unterstützt Berechnungen mit selbstdefinierbaren mathematischen Funktionen (FUN), Tabellen und Feldern zur Verarbeitung größerer Datenmengen. Der Tabelleneditor erlaubt die Generierung&lt;br /&gt;
großer Felder.&lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Daten aus EXCEL einzulesen und auch nach EXCEL zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Kurz gesagt: CADINP ist eine hochentwickelte Skriptsprache für das Bauingenieurwesen, die Parametrik, Variablen, Bedingungen, Schleifen, Funktionen und modulübergreifende Automatisierung kombiniert.&lt;br /&gt;
&lt;br /&gt;
Der Texteditor TEDDY ist speziell für diese Sprache - Arbeitsweise entwickelt wurden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die nachstehenden Artikel dienen mir als eingefleischten TEDDYaner als Hilfe. Es würde mich freuen, auch anderen TEDDYanern mit diesem oder jenen Beitrag zu helfen.&lt;br /&gt;
Für kritische Hinweise bin ich stets dankbar.&lt;br /&gt;
&amp;lt;!-- Erzeugung der Unterkategorien beginnt mit : --&amp;gt;&lt;br /&gt;
* [[:Kategorie:Allgemeines zu CADINP|Allgemeines zu CADINP]]: Allgemeine Hinweise.&lt;br /&gt;
* [[:Kategorie:AQUA|AQUA]]: Querschnitte und Materialien.&lt;br /&gt;
* [[:Kategorie:SIR|SIR]]: Schnitte im Raum.&lt;br /&gt;
* [[:Kategorie:SOFiMSHA|SOFiMSHA]]: Systemgenerierung.&lt;br /&gt;
* [[:Kategorie:SOFiMSHC|SOFiMSHC]]: Systemgenerierung II.&lt;br /&gt;
* [[:Kategorie:SOFiLOAD|SOFiLOAD]]: Lasten.&lt;br /&gt;
* [[:Kategorie:TENDON|TENDON]]: Vorspannung.&lt;br /&gt;
* [[:Kategorie:ASE|ASE]]: Berechnung.&lt;br /&gt;
* [[:Kategorie:CSM|CSM]]: Bauphaseneditor.&lt;br /&gt;
* [[:Kategorie:MAXiMA|MAXIMA]]: Extremwerte.&lt;br /&gt;
* [[:Kategorie:BEMESS|BEMESS]]: Bemessung von Flächenelementen.&lt;br /&gt;
* [[:Kategorie:AQB|AQB]]: Bemesung von Stabelementen.&lt;br /&gt;
* [[:Kategorie:Result Viewer|Result Viewer]]: Ergebnisdarstellung.&lt;br /&gt;
* [[:Kategorie:WiNGRAF|WiNGRAF]]: Ergebnisdarstellung II.&lt;br /&gt;
* [[:Kategorie:BDK|BDK]]: Biegedrillknicken.&lt;br /&gt;
Einen sehr guten Einstieg in die Software findet sich unter [https://dersofistikeinsteiger.de/  &amp;quot;der Sofistikeinsteiger&amp;quot;.].&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13975</id>
		<title>C Arbeitsweise bei komplexen Projekten</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13975"/>
		<updated>2026-09-26T08:36:05Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Zentraldatei.jpg|gerahmt|rechts|Prinzip der Zentraldatei]]&lt;br /&gt;
Manchmal sind Projekte doch recht komplex; es sind verschiedene Lastsituationen zu berechnen, die Struktur ist anspruchsvoll und außerdem sind unterschiedliche Bemessungsaufgaben zu erfüllen. Ggf. sind auch unterschiedliche Systeme zu überlagern.&lt;br /&gt;
&lt;br /&gt;
Eine Möglichkeit zeigt die Skizze. Ich zerlege die Gesamtaufgabe in entsprechende Teilaufgaben. Die Ergebnisse versuche ich weitestgehend grafisch darzustellen.&lt;br /&gt;
&lt;br /&gt;
Im Modul &amp;quot;Template&amp;quot; stecken natürlich die [[C Parametrisierung und Variantenuntersuchung|Parameter]]. Derart lassen sich schnell auch entsprechende Varianten untersuchen.&lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;br /&gt;
&lt;br /&gt;
Das Einbinden der Zentraldatei in eine andere Steuerdatei erledigt man über: +sys &#039;&#039;&#039;copy&#039;&#039;&#039;   zentraldatei.cdb     &#039;&#039;&#039;$(projekt).cdb&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Mitunter wird die Eingabedatei sehr groß und unübersichtlich. Dann zerlege ich die Datei in mehrere DAT - Dateien. In den Teildateien bleibt bei dieser Arbeitsweise die Unterteilung durch &#039;&#039;&#039;Kapitel&#039;&#039;&#039; und &#039;&#039;&#039;Sprungmarken&#039;&#039;&#039; erhalten. Die Namen dieser Dateien beginnen bei mir immer mit &amp;quot;block...&amp;quot;. So werden sie beim Aufräumen nicht versehentlich gelöscht.&lt;br /&gt;
&lt;br /&gt;
CADINP (Computer Aided Description of Input) ist die textorientierte Eingabe- und Programmiersprache der Softwarefamilie SOFiSTiK. Ich verwende diese Sprache, um Modelle, Lasten, Berechnungen und Auswertungen parametrisch zu beschreiben. Die Sprache ist besonders im Bauingenieurwesen für wiederholbare und automatisierbare Berechnungen verbreitet. &lt;br /&gt;
&lt;br /&gt;
Die wesentlichsten Merkmale sind:&lt;br /&gt;
&lt;br /&gt;
•	Textbasierte Modellbeschreibung&lt;br /&gt;
Tragwerke, Materialien, Querschnitte, Lasten und Berechnungsabläufe werden in Textdateien definiert. Dadurch sind Projekte transparent, dokumentierbar und versionsfähig. &lt;br /&gt;
&lt;br /&gt;
•	Parametrisierung&lt;br /&gt;
Variablen können definiert und im gesamten Modell (sto - Variablen) verwendet werden. Änderungen an wenigen Parametern können ein komplettes Tragwerksmodell aktualisieren. &lt;br /&gt;
&lt;br /&gt;
CADINP verfügt über typische Elemente einer Programmiersprache:&lt;br /&gt;
&lt;br /&gt;
•	Variablen&lt;br /&gt;
&lt;br /&gt;
•	Bedingungen (IF-Abfragen)&lt;br /&gt;
&lt;br /&gt;
•	logische Ausdrücke&lt;br /&gt;
&lt;br /&gt;
•	Schleifen bzw. Iterationen&lt;br /&gt;
&lt;br /&gt;
•	Funktionen und Felder (Arrays)&lt;br /&gt;
&lt;br /&gt;
•	Schleifen über mehrere Programmmodule&lt;br /&gt;
&lt;br /&gt;
Die Eingabe wird über verschiedene Berechnungsmodule verteilt.&lt;br /&gt;
&lt;br /&gt;
•	Mathematische Funktionen und Datenfelder&lt;br /&gt;
CADINP unterstützt Berechnungen mit selbstdefinierbaren mathematischen Funktionen (FUN), Tabellen und Feldern zur Verarbeitung größerer Datenmengen. Der Tabelleneditor erlaubt die Generierung&lt;br /&gt;
großer Felder.&lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Daten aus EXCEL einzulesen und auch nach EXCEL zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Kurz gesagt: CADINP ist eine hochentwickelte Skriptsprache für das Bauingenieurwesen, die Parametrik, Variablen, Bedingungen, Schleifen, Funktionen und modulübergreifende Automatisierung kombiniert.&lt;br /&gt;
&lt;br /&gt;
Der Texteditor TEDDY ist speziell für diese Sprache - Arbeitsweise entwickelt wurden.&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13974</id>
		<title>C Arbeitsweise bei komplexen Projekten</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13974"/>
		<updated>2026-09-26T08:35:43Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Zentraldatei.jpg|gerahmt|rechts|Prinzip der Zentraldatei]]&lt;br /&gt;
Manchmal sind Projekte doch recht komplex; es sind verschiedene Lastsituationen zu berechnen, die Struktur ist anspruchsvoll und außerdem sind unterschiedliche Bemessungsaufgaben zu erfüllen. Ggf. sind auch unterschiedliche Systeme zu überlagern.&lt;br /&gt;
&lt;br /&gt;
Eine Möglichkeit zeigt die Skizze. Ich zerlege die Gesamtaufgabe in entsprechende Teilaufgaben. Die Ergebnisse versuche ich weitestgehend grafisch darzustellen.&lt;br /&gt;
&lt;br /&gt;
Im Modul &amp;quot;Template&amp;quot; stecken natürlich die [[C Parametrisierung und Variantenuntersuchung|Parameter]]. Derart lassen sich schnell auch entsprechende Varianten untersuchen.&lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;br /&gt;
&lt;br /&gt;
Das Einbinden der Zentraldatei in eine andere Steuerdatei erledigt man über: +sys &#039;&#039;&#039;copy&#039;&#039;&#039;   zentraldatei.cdb     &#039;&#039;&#039;$(projekt).cdb&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Mitunter wird die Eingabedatei sehr groß und unübersichtlich. Dann zerlege ich die Datei in mehrere DAT - Dateien. In den Teildateien bleibt bei dieser Arbeitsweise die Unterteilung durch &#039;&#039;&#039;Kapitel&#039;&#039;&#039; und &#039;&#039;&#039;Sprungmarken&#039;&#039;&#039; erhalten. Die Namen dieser Dateien beginnen bei mir immer mit &amp;quot;block...&amp;quot;. So werden sie beim Aufräumen nicht versehentlich gelöscht.&lt;br /&gt;
&lt;br /&gt;
CADINP (Computer Aided Description of Input) ist die textorientierte Eingabe- und Programmiersprache der Softwarefamilie SOFiSTiK. Ich verwende diese Sprache, um Modelle, Lasten, Berechnungen und Auswertungen parametrisch zu beschreiben. Die Sprache ist besonders im Bauingenieurwesen für wiederholbare und automatisierbare Berechnungen verbreitet. &lt;br /&gt;
&lt;br /&gt;
Die wesentlichsten Merkmale sind:&lt;br /&gt;
•	Textbasierte Modellbeschreibung&lt;br /&gt;
Tragwerke, Materialien, Querschnitte, Lasten und Berechnungsabläufe werden in Textdateien definiert. Dadurch sind Projekte transparent, dokumentierbar und versionsfähig. &lt;br /&gt;
&lt;br /&gt;
•	Parametrisierung&lt;br /&gt;
Variablen können definiert und im gesamten Modell (sto - Variablen) verwendet werden. Änderungen an wenigen Parametern können ein komplettes Tragwerksmodell aktualisieren. &lt;br /&gt;
&lt;br /&gt;
CADINP verfügt über typische Elemente einer Programmiersprache:&lt;br /&gt;
&lt;br /&gt;
•	Variablen&lt;br /&gt;
&lt;br /&gt;
•	Bedingungen (IF-Abfragen)&lt;br /&gt;
&lt;br /&gt;
•	logische Ausdrücke&lt;br /&gt;
&lt;br /&gt;
•	Schleifen bzw. Iterationen&lt;br /&gt;
&lt;br /&gt;
•	Funktionen und Felder (Arrays)&lt;br /&gt;
&lt;br /&gt;
•	Schleifen über mehrere Programmmodule&lt;br /&gt;
&lt;br /&gt;
Die Eingabe wird über verschiedene Berechnungsmodule verteilt.&lt;br /&gt;
&lt;br /&gt;
•	Mathematische Funktionen und Datenfelder&lt;br /&gt;
CADINP unterstützt Berechnungen mit selbstdefinierbaren mathematischen Funktionen (FUN), Tabellen und Feldern zur Verarbeitung größerer Datenmengen. Der Tabelleneditor erlaubt die Generierung&lt;br /&gt;
großer Felder.&lt;br /&gt;
&lt;br /&gt;
Es ist möglich, Daten aus EXCEL einzulesen und auch nach EXCEL zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Kurz gesagt: CADINP ist eine hochentwickelte Skriptsprache für das Bauingenieurwesen, die Parametrik, Variablen, Bedingungen, Schleifen, Funktionen und modulübergreifende Automatisierung kombiniert.&lt;br /&gt;
&lt;br /&gt;
Der Texteditor TEDDY ist speziell für diese Sprache - Arbeitsweise entwickelt wurden.&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13973</id>
		<title>C Arbeitsweise bei komplexen Projekten</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13973"/>
		<updated>2026-09-26T08:34:19Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Zentraldatei.jpg|gerahmt|rechts|Prinzip der Zentraldatei]]&lt;br /&gt;
Manchmal sind Projekte doch recht komplex; es sind verschiedene Lastsituationen zu berechnen, die Struktur ist anspruchsvoll und außerdem sind unterschiedliche Bemessungsaufgaben zu erfüllen. Ggf. sind auch unterschiedliche Systeme zu überlagern.&lt;br /&gt;
&lt;br /&gt;
Eine Möglichkeit zeigt die Skizze. Ich zerlege die Gesamtaufgabe in entsprechende Teilaufgaben. Die Ergebnisse versuche ich weitestgehend grafisch darzustellen.&lt;br /&gt;
&lt;br /&gt;
Im Modul &amp;quot;Template&amp;quot; stecken natürlich die [[C Parametrisierung und Variantenuntersuchung|Parameter]]. Derart lassen sich schnell auch entsprechende Varianten untersuchen.&lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;br /&gt;
&lt;br /&gt;
Das Einbinden der Zentraldatei in eine andere Steuerdatei erledigt man über: +sys &#039;&#039;&#039;copy&#039;&#039;&#039;   zentraldatei.cdb     &#039;&#039;&#039;$(projekt).cdb&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Mitunter wird die Eingabedatei sehr groß und unübersichtlich. Dann zerlege ich die Datei in mehrere DAT - Dateien. In den Teildateien bleibt bei dieser Arbeitsweise die Unterteilung durch &#039;&#039;&#039;Kapitel&#039;&#039;&#039; und &#039;&#039;&#039;Sprungmarken&#039;&#039;&#039; erhalten. Die Namen dieser Dateien beginnen bei mir immer mit &amp;quot;block...&amp;quot;. So werden sie beim Aufräumen nicht versehentlich gelöscht.&lt;br /&gt;
&lt;br /&gt;
CADINP (Computer Aided Description of Input) ist die textorientierte Eingabe- und Programmiersprache der Softwarefamilie SOFiSTiK. Ich verwende diese Sprache, um Modelle, Lasten, Berechnungen und Auswertungen parametrisch zu beschreiben. Die Sprache ist besonders im Bauingenieurwesen für wiederholbare und automatisierbare Berechnungen verbreitet. &lt;br /&gt;
&lt;br /&gt;
Die wesentlichsten Merkmale sind:&lt;br /&gt;
•	Textbasierte Modellbeschreibung&lt;br /&gt;
Tragwerke, Materialien, Querschnitte, Lasten und Berechnungsabläufe werden in Textdateien definiert. Dadurch sind Projekte transparent, dokumentierbar und versionsfähig. &lt;br /&gt;
&lt;br /&gt;
•	Parametrisierung&lt;br /&gt;
Variablen können definiert und im gesamten Modell (sto - Variablen) verwendet werden. Änderungen an wenigen Parametern können ein komplettes Tragwerksmodell aktualisieren. &lt;br /&gt;
&lt;br /&gt;
CADINP verfügt über typische Elemente einer Programmiersprache:&lt;br /&gt;
•	Variablen&lt;br /&gt;
•	Bedingungen (IF-Abfragen)&lt;br /&gt;
•	logische Ausdrücke&lt;br /&gt;
•	Schleifen bzw. Iterationen&lt;br /&gt;
•	Funktionen und Felder (Arrays)&lt;br /&gt;
•	Schleifen über mehrere Programmmodule&lt;br /&gt;
&lt;br /&gt;
Die Eingabe wird über verschiedene Berechnungsmodule verteilt.&lt;br /&gt;
•	Mathematische Funktionen und Datenfelder&lt;br /&gt;
CADINP unterstützt Berechnungen mit selbstdefinierbaren mathematischen Funktionen (FUN), Tabellen und Feldern zur Verarbeitung größerer Datenmengen. Der Tabelleneditor erlaubt die Generierung&lt;br /&gt;
großer Felder.&lt;br /&gt;
Es ist möglich, Daten aus EXCEL einzulesen und auch nach EXCEL zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Kurz gesagt: CADINP ist eine hochentwickelte Skriptsprache für das Bauingenieurwesen, die Parametrik, Variablen, Bedingungen, Schleifen, Funktionen und modulübergreifende Automatisierung kombiniert.&lt;br /&gt;
Der Texteditor TEDDY ist speziell für diese Sprache - Arbeitsweise entwickelt wurden.&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13972</id>
		<title>C Arbeitsweise bei komplexen Projekten</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13972"/>
		<updated>2026-09-26T08:31:31Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Zentraldatei.jpg|gerahmt|rechts|Prinzip der Zentraldatei]]&lt;br /&gt;
Manchmal sind Projekte doch recht komplex; es sind verschiedene Lastsituationen zu berechnen, die Struktur ist anspruchsvoll und außerdem sind unterschiedliche Bemessungsaufgaben zu erfüllen. Ggf. sind auch unterschiedliche Systeme zu überlagern.&lt;br /&gt;
&lt;br /&gt;
Eine Möglichkeit zeigt die Skizze. Ich zerlege die Gesamtaufgabe in entsprechende Teilaufgaben. Die Ergebnisse versuche ich weitestgehend grafisch darzustellen.&lt;br /&gt;
&lt;br /&gt;
Im Modul &amp;quot;Template&amp;quot; stecken natürlich die [[C Parametrisierung und Variantenuntersuchung|Parameter]]. Derart lassen sich schnell auch entsprechende Varianten untersuchen.&lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;br /&gt;
&lt;br /&gt;
Das Einbinden der Zentraldatei in eine andere Steuerdatei erledigt man über: +sys &#039;&#039;&#039;copy&#039;&#039;&#039;   zentraldatei.cdb     &#039;&#039;&#039;$(projekt).cdb&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Mitunter wird die Eingabedatei sehr groß und unübersichtlich. Dann zerlege ich die Datei in mehrere DAT - Dateien. In den Teildateien bleibt bei dieser Arbeitsweise die Unterteilung durch &#039;&#039;&#039;Kapitel&#039;&#039;&#039; und &#039;&#039;&#039;Sprungmarken&#039;&#039;&#039; erhalten. Die Namen dieser Dateien beginnen bei mir immer mit &amp;quot;block...&amp;quot;. So werden sie beim Aufräumen nicht versehentlich gelöscht.&lt;br /&gt;
&lt;br /&gt;
CADINP (Computer Aided Description of Input) ist die textorientierte Eingabe- und Programmiersprache der Softwarefamilie SOFiSTiK. Ich verwende diese Sprache, um Modelle, Lasten, Berechnungen und Auswertungen parametrisch zu beschreiben. Die Sprache ist besonders im Bauingenieurwesen für wiederholbare und automatisierbare Berechnungen verbreitet. &lt;br /&gt;
&lt;br /&gt;
Die wesentlichsten Merkmale sind:&lt;br /&gt;
•	Textbasierte Modellbeschreibung&lt;br /&gt;
Tragwerke, Materialien, Querschnitte, Lasten und Berechnungsabläufe werden in Textdateien definiert. Dadurch sind Projekte transparent, dokumentierbar und versionsfähig. &lt;br /&gt;
&lt;br /&gt;
•	Parametrisierung&lt;br /&gt;
Variablen können definiert und im gesamten Modell (sto - Variablen) verwendet werden. Änderungen an wenigen Parametern können ein komplettes Tragwerksmodell aktualisieren. &lt;br /&gt;
&lt;br /&gt;
CADINP verfügt über typische Elemente einer Programmiersprache:&lt;br /&gt;
•	Variablen&lt;br /&gt;
•	Bedingungen (IF-Abfragen)&lt;br /&gt;
•	logische Ausdrücke&lt;br /&gt;
•	Schleifen bzw. Iterationen&lt;br /&gt;
•	Funktionen und Felder (Arrays)&lt;br /&gt;
•	Schleifen über mehrere Programmmodule&lt;br /&gt;
&lt;br /&gt;
Die Eingabe wird über verschiedene Berechnungsmodule verteilt.&lt;br /&gt;
•	Mathematische Funktionen und Datenfelder&lt;br /&gt;
CADINP unterstützt Berechnungen mit selbstdefinierbaren mathematischen Funktionen (FUN), Tabellen und Feldern zur Verarbeitung größerer Datenmengen. Der Tabelleneditor erlaubt die Generierung&lt;br /&gt;
großer Felder.&lt;br /&gt;
Es ist möglich, Daten aus EXCEL einzulesen und auch nach EXCEL zu exportieren.&lt;br /&gt;
&lt;br /&gt;
Kurz gesagt: CADINP ist eine domänspezifische Skriptsprache für das Bauingenieurwesen, die Parametrik, Variablen, Bedingungen, Schleifen, Funktionen und modulübergreifende Automatisierung kombiniert.&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13971</id>
		<title>C Arbeitsweise bei komplexen Projekten</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13971"/>
		<updated>2026-09-22T07:21:05Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Zentraldatei.jpg|gerahmt|rechts|Prinzip der Zentraldatei]]&lt;br /&gt;
Manchmal sind Projekte doch recht komplex; es sind verschiedene Lastsituationen zu berechnen, die Struktur ist anspruchsvoll und außerdem sind unterschiedliche Bemessungsaufgaben zu erfüllen. Ggf. sind auch unterschiedliche Systeme zu überlagern.&lt;br /&gt;
&lt;br /&gt;
Eine Möglichkeit zeigt die Skizze. Ich zerlege die Gesamtaufgabe in entsprechende Teilaufgaben. Die Ergebnisse versuche ich weitestgehend grafisch darzustellen.&lt;br /&gt;
&lt;br /&gt;
Im Modul &amp;quot;Template&amp;quot; stecken natürlich die [[C Parametrisierung und Variantenuntersuchung|Parameter]]. Derart lassen sich schnell auch entsprechende Varianten untersuchen.&lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;br /&gt;
&lt;br /&gt;
Das Einbinden der Zentraldatei in eine andere Steuerdatei erledigt man über: +sys &#039;&#039;&#039;copy&#039;&#039;&#039;   zentraldatei.cdb     &#039;&#039;&#039;$(projekt).cdb&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Mitunter wird die Eingabedatei sehr groß und unübersichtlich. Dann zerlege ich die Datei in mehrere DAT - Dateien. In den Teildateien bleibt bei dieser Arbeitsweise die Unterteilung durch &#039;&#039;&#039;Kapitel&#039;&#039;&#039; und &#039;&#039;&#039;Sprungmarken&#039;&#039;&#039; erhalten. Die Namen dieser Dateien beginnen bei mir immer mit &amp;quot;block...&amp;quot;. So werden sie beim Aufräumen nicht versehentlich gelöscht.&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13970</id>
		<title>C Arbeitsweise bei komplexen Projekten</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Arbeitsweise_bei_komplexen_Projekten&amp;diff=13970"/>
		<updated>2026-09-22T07:20:04Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Zentraldatei.jpg|gerahmt|rechts|Prinzip der Zentraldatei]]&lt;br /&gt;
Manchmal sind Projekte doch recht komplex; es sind verschiedene Lastsituationen zu berechnen, die Struktur ist anspruchsvoll und außerdem sind unterschiedliche Bemessungsaufgaben zu erfüllen. Ggf. sind auch unterschiedliche Systeme zu überlagern.&lt;br /&gt;
&lt;br /&gt;
Eine Möglichkeit zeigt die Skizze. Ich zerlege die Gesamtaufgabe in entsprechende Teilaufgaben. Die Ergebnisse versuche ich weitestgehend grafisch darzustellen.&lt;br /&gt;
&lt;br /&gt;
Im Modul &amp;quot;Template&amp;quot; stecken natürlich die [[C Parametrisierung und Variantenuntersuchung|Parameter]]. Derart lassen sich schnell auch entsprechende Varianten untersuchen.&lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;br /&gt;
&lt;br /&gt;
Das Einbinden der Zentraldatei in eine andere Steuerdatei erledigt man über: +sys &#039;&#039;&#039;copy&#039;&#039;&#039;   zentraldatei.cdb     &#039;&#039;&#039;$(projekt).cdb&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Mitunter wird die Eingabedatei sehr groß und unübersichtlich. Dann zerlege ich die Datei in mehrere DAT - Dateien. In den Teildateien bleibt bei dieser Arbeitsweise die Unterteilung durch &amp;quot;Kapitel&amp;quot; und &amp;quot;Sprungmarken&amp;quot; erhalten. Die Namen dieser Dateien beginnen bei mir immer mit &amp;quot;block...&amp;quot;. So werden sie beim Aufräumen nicht versehentlich gelöscht.&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=G_Grabenverbauger%C3%A4te&amp;diff=13969</id>
		<title>G Grabenverbaugeräte</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=G_Grabenverbauger%C3%A4te&amp;diff=13969"/>
		<updated>2026-09-03T06:22:09Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeines ==&lt;br /&gt;
Grabenverbaugeräte dienen der Herstellung von Gräben. Es handelt sich um temporäre Verbaue, welche im einfachsten Fall mittels eines Baggers in den Boden getrieben werden. Youtube ist voll davon.&lt;br /&gt;
Für diese Verbaue gilt die DIN EN 13331-1 und 13331-2 (November 2002). Der normative Anhang A der DIN EN 13331-1 enthält Angaben zu den beiden Teilsicherheitsbeiwerten gamma_F = 1,5 und gamma_M = 1,1.&lt;br /&gt;
&lt;br /&gt;
Grabenverbaugeräte haben häufig eine &amp;quot;Euro Test Zertifikat&amp;quot; von der DGUV Test. Dabei geht es um eine geprüfte Statik, die Verwendungsanweisung, das Montageverfahren, die Herstellung der Geräte und um die schweißtechnischen Nachweise. Das Thema Unfallverhütung steht hier ganz oben.&lt;br /&gt;
&lt;br /&gt;
In verschieden Infomaterialien der Herstellerfirmen finden sich Angaben zu den Erddrücken in unterschiedlichen Tiefen. Ich habe eine Grafik gefunden, in welcher für die Tiefe von 7m ein Bemessungserddruck von 39,7 kN/m² angegeben wird. Das ist deutlich zu klein. &lt;br /&gt;
Den Erddruck berechnet man nach der DIN 4085 &amp;quot;Baugrund – Berechnung des Erddrucks (2011)&amp;quot;. Diese Norm kennt neben dem aktiven Erddruck und dem Erdruhedruck auch noch den erhöhten aktiven Erddruck. &lt;br /&gt;
Grabenverbaugeräte sind Baukonstruktionen für einen &amp;quot;kurzzeitigen&amp;quot; Zustand. Demnach darf die Tabelle B.2 im Anhang B der DIN 4085 angewandt werden.&lt;br /&gt;
&lt;br /&gt;
Der EC 7 (2011) benennt im Abschnitt 2.2 unterschiedliche Bemessungssituationen: BS-T: vorübergenende Situation; Baumaßnahmen für vorübergehende Zwecke; Baugrubenkonstruktionen. In der Tabelle A 2.1 finden sich dann die Teilsicherheitsbeiwerte für die ständigen und veränderlichen Einwirkungen.&lt;br /&gt;
&lt;br /&gt;
Außerdem ist die DIN 4124 &amp;quot;Baugruben und Gräben - Böschungen, Verbau, Arbeitsraumbreiten&amp;quot; zu beachten.&lt;br /&gt;
&lt;br /&gt;
Die 13331-1 benennt im Abschn. 7.1.1 und 7.2 einen &amp;quot;charakteristischen Mindestsystemwiderstand&amp;quot; von 30 kN/m². Im Bild 11 finden sich dann auch tatsächlich gleichmäßig verteilte äußere Lasten. Diese Erddruckverteilung kann es derart nicht geben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundbau]]&lt;br /&gt;
[[Kategorie:EC 7 - DIN 1054]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=G_Gr%C3%BCndungen&amp;diff=13968</id>
		<title>G Gründungen</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=G_Gr%C3%BCndungen&amp;diff=13968"/>
		<updated>2026-09-03T06:17:11Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Datei:Kastenwiderlager pfähle.jpg|rahmenlos|rechts|Kastenwiderlager_auf_Pfählen]]&lt;br /&gt;
Mit den Gründungen hat man mitunter doch recht viel Mühe. Beim Erddruck sind immer Überlegungen bzgl. der Verformungen erforderlich.&lt;br /&gt;
Neben den bodenmechanischen Nachweisen ist eine Stahlbetonbemessung (man stelle sich das mal vor: Nachweis der Betondruckspannung in der seltenen Einwirkungskombination🤣) erforderlich.&lt;br /&gt;
Ein besonderes Thema sind die Pfähle. Oft sind mehrere Berechnungen erforderlich, um eine Konstruktion zu finden, bei der sowohl die bodenmechanischen Nachweise erfüllt sind und auch die Bewehrung ausführbar ist. Bei einigen Konstruktionen sind nichtlineare Berechnungen empfehlenswert. Knickgefährdete Pfähle (dünne Pfähle in weichem Baugrund) erfordern zusätzliche Überlegungen. Besonders glücklich sind die Pfähle, welche unmittelbar durch Bahnlasten beansprucht werden: diese müssen Ermüdungsnachweise aushalten😁.&lt;br /&gt;
Kritisch sind die Pfahlgründungen unserer Vorfahren - Brückennachrechnung - zu betrachten. Oft wurde damals die Bewehrung nur für den aktiven Erddruck ausgelegt.&lt;br /&gt;
&lt;br /&gt;
Gelegentlich ist auch der Verdichtungserddruck (DIN 4085 Abschn. 11) zu beachten.&lt;br /&gt;
&lt;br /&gt;
Tipp: mit dem Bodengutachter telefonieren. ☎&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:ITP]]&lt;br /&gt;
[[Kategorie:Brückenunterbauten - Gründungen]]&lt;br /&gt;
[[Kategorie:EC 7 - DIN 1054]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Felder&amp;diff=13967</id>
		<title>C Felder</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Felder&amp;diff=13967"/>
		<updated>2026-08-28T09:08:53Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* loop und if */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Grundlagen ==&lt;br /&gt;
prog template urs:1&lt;br /&gt;
&lt;br /&gt;
kopf Felder&lt;br /&gt;
&lt;br /&gt;
!*!Label Feld 1  - ein Feld mit 10 Einträger&lt;br /&gt;
&lt;br /&gt;
let#f_1 1,2,3,4,5,6,7,8,9,10&lt;br /&gt;
        loop#anz    def(f_1)  $ Anzahl der Feldelemente in der Variable anz speichern&lt;br /&gt;
        endloop&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
txa Das Feld f_1 hat #(#anz,5.0) Einträge.&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
loop#1  #anz   $ Ausgabe des Feldes&lt;br /&gt;
    txa     index  = #(#1,2.0)   f_1 = #(#f_1(#1),6.3)&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
!*!Label Feld 2&lt;br /&gt;
&lt;br /&gt;
let#f_2 #f_1(:)  $ Feld 2 wird komplett aus dem Feld 1 erzeugt&lt;br /&gt;
&lt;br /&gt;
let#f_2(0) #f_2(0)*100    $ der 1. Eintrag wird mit 100 multipliziert&lt;br /&gt;
&lt;br /&gt;
let#f_2(5) #f_2(5)*100    $ der mit dem Index 5 (das ist das 6. Element) ebenfalls&lt;br /&gt;
&lt;br /&gt;
txa Feld 2&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
loop#2  #anz&lt;br /&gt;
    txa     index  = #(#2,2.0)   f_2 = #(#f_2(#2),8.3)&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
!*!Label Feld 3&lt;br /&gt;
&lt;br /&gt;
txa Feld 3&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
txa statt dem Komma geht auch ein Leerzeichen&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
let#f_3 10 11 12 13 14 15 16 17 18 19 20 21 22&lt;br /&gt;
        loop#anz    def(f_3)  $ Anzahl der Feldelemente in der Variable anz speichern&lt;br /&gt;
        endloop&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
txa Das Feld f_3 hat #(#anz,5.0) Einträge.&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
loop#1  #anz&lt;br /&gt;
    txa     index  = #(#1,2.0)   f_3 = #(#f_3(#1),6.3)&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
!*!Label Feld 4&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
txa Das Feld f_4 wird über eine Funktion gefüllt&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
sto#fun_1   &#039;=FUN(i,sqr(5*#i))&#039; $ FUN muß groß geschrieben werden&lt;br /&gt;
&lt;br /&gt;
loop#1 5&lt;br /&gt;
        let#i  #1+1&lt;br /&gt;
        let#f_4(#i) #fun_1(#i)&lt;br /&gt;
        txa     index  = #(#i,2.0)   f_4 = #(#f_4(#i),6.3)&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
== mächtiges Werkzeug ==&lt;br /&gt;
&#039;&#039;&#039;Loop über ein Feld&#039;&#039;&#039; ist ein sehr mächtiges Werkzeug. Es gibt viele sinnvolle Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Wesentlich ist die Definition des Feldes und der anschließende Aufruf des Feldnames (ohne #) im LOOP - Befehl. Die Schleife wird sooft durchlaufen, wie das Feld Elemente hat.&lt;br /&gt;
&lt;br /&gt;
Falls das Feld &amp;quot;unregelmäßig&amp;quot; ist, kann man das Feld über Schleifen belegen.&lt;br /&gt;
&lt;br /&gt;
Man sollte sich hüten, ein einmal definiertes Feld erneut zu verwenden. Denn die maximale Feldlänge (und diese bestimmt die Anzahl der Schleifenläufe) wird intern gespeichert. Bei einer erneuten Feldbelegung mit einer kleineren Elementanzahl kommt es dann zu Fehlern.&lt;br /&gt;
== Beispiel 1 - Pfetten einer Stahlhalle ==&lt;br /&gt;
In den Feldern ya und yb stecken die Y-Werte der einzelnen Hallenrahmen.&lt;br /&gt;
&lt;br /&gt;
Die nachstehende Schleife generiert über alle 14 Felder die Pfetten.&lt;br /&gt;
Mit der if-Bedingung wird noch der entsprechende Querschnitt ausgewählt.&lt;br /&gt;
&lt;br /&gt;
!*!Label Längspfetten auf dem Dach&lt;br /&gt;
&lt;br /&gt;
let#ya          #y1,#y2,#y3,#y4,#y5,#y6,#y7,#y8,#y9,#y10,#y11,#y12,#y13,#y14&lt;br /&gt;
&lt;br /&gt;
let#yb          #y2,#y3,#y4,#y5,#y6,#y7,#y8,#y9,#y10,#y11,#y12,#y13,#y14,#y15&lt;br /&gt;
&lt;br /&gt;
loop#i  ya&lt;br /&gt;
        let#l           #ya(#i)-#yb(#i)&lt;br /&gt;
        let#y11         #yb(#i)+((#l/2)+(#ylb/2))&lt;br /&gt;
        let#y12         #y11-#ylb&lt;br /&gt;
&lt;br /&gt;
        let#grp 410+(#i*10)&lt;br /&gt;
&lt;br /&gt;
        let#knr         #grp*#gdiv      $ neue Knoten&lt;br /&gt;
        spt     nr              x       y               z&lt;br /&gt;
                #knr+11+100     #x31    #y11            #z31&lt;br /&gt;
                #knr+12+100     #x31    #y12            #z31&lt;br /&gt;
                #knr+11+200     #x32    #y11            #z32&lt;br /&gt;
                #knr+12+200     #x32    #y12            #z32&lt;br /&gt;
                #knr+11+300     #x33    #y11            #z33&lt;br /&gt;
                #knr+12+300     #x33    #y12            #z33&lt;br /&gt;
&lt;br /&gt;
        $        Pfetten&lt;br /&gt;
        let#grpa        10+(#i)*10&lt;br /&gt;
        let#grpb        #grpa+10 $ Gruppe des hinteren Rahmen&lt;br /&gt;
&lt;br /&gt;
        if #i==6&lt;br /&gt;
                let#qnr 27&lt;br /&gt;
        else&lt;br /&gt;
                let#qnr 26&lt;br /&gt;
        endif&lt;br /&gt;
&lt;br /&gt;
        sln     nr      npa             npe                             qnr=#qnr     grp=#grp        styp=&#039;B&#039;&lt;br /&gt;
                -       #gdiv*#grpa+31  #knr+11+100     $fixa mymz&lt;br /&gt;
                -       #knr+11+100     #knr+12+100&lt;br /&gt;
                -       #knr+12+100     #gdiv*#grpb+31  $fixe mymz&lt;br /&gt;
                -       #gdiv*#grpa+32  #knr+11+200     $fixa mymz&lt;br /&gt;
                -       #knr+11+200     #knr+12+200&lt;br /&gt;
                -       #knr+12+200     #gdiv*#grpb+32  $fixe mymz&lt;br /&gt;
                -       #gdiv*#grpa+33  #knr+11+300     $fixa mymz&lt;br /&gt;
                -       #knr+11+300     #knr+12+300&lt;br /&gt;
                -       #knr+12+300     #gdiv*#grpb+33  $fixe mymz&lt;br /&gt;
endloop&lt;br /&gt;
== Beispiel 2 - vier verschiedene Laststellungen ==&lt;br /&gt;
Im Feld pos werden die vier unterschiedlichen X-Werte der Laststellungen gespeichert. Der includierte Block area2 beinhaltet die Definition der kleinen Flächenlasten.&lt;br /&gt;
&lt;br /&gt;
Die Schleife erzeugt die einzelnen Lastfälle FAT:&lt;br /&gt;
&lt;br /&gt;
let#pos  0,1.5,2.7,7.15-(4.2),7.15-(4.2/2)&lt;br /&gt;
&lt;br /&gt;
let#lf 101&lt;br /&gt;
&lt;br /&gt;
loop#i  pos&lt;br /&gt;
        lf nr #lf typ FAT bez &#039;FAT - #lf&#039;&lt;br /&gt;
&lt;br /&gt;
        $Startpunkt 1&lt;br /&gt;
        let#xs #pos(#i)&lt;br /&gt;
        let#ys 3.500&lt;br /&gt;
        let#zs 0.000&lt;br /&gt;
        #include area2&lt;br /&gt;
&lt;br /&gt;
        $Startpunkt 2&lt;br /&gt;
        let#xs #pos(#i)&lt;br /&gt;
        let#ys 3.500-3&lt;br /&gt;
        let#zs 0.000&lt;br /&gt;
        #include area2&lt;br /&gt;
&lt;br /&gt;
        let#lf #lf+1&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
== Anzahl der Elemente ==&lt;br /&gt;
Es gibt eine spezielle &amp;quot;Schleife&amp;quot;, mit welcher man die &#039;&#039;&#039;Anzahl&#039;&#039;&#039; der Elemente eines Feldes ermitteln und in einer Variablen ablegen kann.&lt;br /&gt;
&lt;br /&gt;
let#grp 4&lt;br /&gt;
&lt;br /&gt;
let#nr  #grpdiv*#grp&lt;br /&gt;
&lt;br /&gt;
$ QT 1. Feld&lt;br /&gt;
&lt;br /&gt;
let#nrwv    2,3,6,8,9,10,11,12,13,16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;loop#anz    def(nrwv)&#039;&#039;&#039;  $ Anzahl der Feldelemente des Feldes nrwv in der Variable anz speichern&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;endloop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
loop#3  #anz-1&lt;br /&gt;
    sln     nr              npa                     npe             grp=#grp styp=&#039;B&#039; qnr=3&lt;br /&gt;
            #nr+(#3*10+1)   #nrwv(#3)*100+12        #nrwv(#3+1)*100+51&lt;br /&gt;
            #nr+(#3*10+2)   #nrwv(#3+1)*100+51      #nrwv(#3)*100+62&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
== loop und if ==&lt;br /&gt;
Was so ein echter Faulpelz ist, der mag nicht viel tippern.&lt;br /&gt;
&lt;br /&gt;
Dafür gibt es Felder und logische Abfragen.&lt;br /&gt;
&lt;br /&gt;
Das Beispiel zeigt die Generierung von sln mit Federn, welche diese sln mit einer bereits vorhanden sln elastisch koppeln.&lt;br /&gt;
&lt;br /&gt;
Die zentrale Idee ist der &amp;quot;Index&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In einer ersten Schleife werden alle Felder belegt. Dabei wird bereits in den Feldern mnr und bfix der korrekte Wert abgelegt.&lt;br /&gt;
&lt;br /&gt;
let#grp_f       41  $ Gruppe der Federn&lt;br /&gt;
&lt;br /&gt;
let#grp_k       21  $ Gruppe der Kontakte&lt;br /&gt;
&lt;br /&gt;
let#nr_abl_f    1   $ Arbeitslinie  Federn&lt;br /&gt;
&lt;br /&gt;
let#nr_abl_k    2   $ Arbeitslinie  Kontakte&lt;br /&gt;
&lt;br /&gt;
let#index   1&lt;br /&gt;
&lt;br /&gt;
let#npa(#index)  #nr_b+1&lt;br /&gt;
&lt;br /&gt;
let#npe(#index)  #nr_b+2&lt;br /&gt;
&lt;br /&gt;
let#ref(#index)  #nr_w+1&lt;br /&gt;
&lt;br /&gt;
let#sln(#index)  #nr_b+1&lt;br /&gt;
&lt;br /&gt;
txa 1. Ausgabe - Befüllen der Felder&lt;br /&gt;
&lt;br /&gt;
loop#1  16&lt;br /&gt;
&lt;br /&gt;
$ mnr und grp&lt;br /&gt;
&lt;br /&gt;
if ((#index==1)|(#index==5)|(#index==6)|(#index==10)|(#index==13)|(#index==14)) $ Gesamtklammer und == !!!&lt;br /&gt;
&lt;br /&gt;
    let#mnr(#index) 1&lt;br /&gt;
&lt;br /&gt;
    let#grp(#index) 41&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    let#mnr(#index) 2&lt;br /&gt;
&lt;br /&gt;
    let#grp(#index) 21&lt;br /&gt;
&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
$ bfix&lt;br /&gt;
&lt;br /&gt;
if ((#index==1)|(#index==2)|(#index==9)|(#index==10))&lt;br /&gt;
&lt;br /&gt;
    let#bfix(#index) #t_wabe_6&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    let#bfix(#index) #t_wabe_3&lt;br /&gt;
&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
        txa     index  #(#index,2.0)    sln  #(#sln(#index),6.0)   npa  #(#npa(#index),6.0)  npe  #(#npe(#index),6.0) mnr #(#mnr(#index),1) grp #(#grp(#index),2) bfix #(#bfix(#index),1)  ref #(#ref(#index),6.0)&lt;br /&gt;
&lt;br /&gt;
$ Index, spt, ref und sln&lt;br /&gt;
&lt;br /&gt;
        let#index   #index+1&lt;br /&gt;
&lt;br /&gt;
        let#npa(#index) #npa(#index-1)+1&lt;br /&gt;
&lt;br /&gt;
        let#npe(#index) #npe(#index-1)+1&lt;br /&gt;
&lt;br /&gt;
        let#ref(#index) #ref(#index-1)+1&lt;br /&gt;
&lt;br /&gt;
        let#sln(#index) #sln(#index-1)+1&lt;br /&gt;
&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anschließend werden die Nummern der npa bzw. npe nachträglich geändert. Dann erfolgt in einer zweiten Schleife die eigentliche Generierung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ Überschreiben von npa und npe&lt;br /&gt;
&lt;br /&gt;
let#npa(11) #nr_b+3&lt;br /&gt;
&lt;br /&gt;
let#npe(16) #nr_b+9&lt;br /&gt;
&lt;br /&gt;
let#index   1&lt;br /&gt;
&lt;br /&gt;
txa 2. Ausgabe&lt;br /&gt;
&lt;br /&gt;
loop#1  16&lt;br /&gt;
&lt;br /&gt;
        txa     index  #(#index,2.0)    sln  #(#sln(#index),6.0)   npa  #(#npa(#index),6.0)  npe  #(#npe(#index),6.0) mnr #(#mnr(#index),1) grp #(#grp(#index),2) bfix #(#bfix(#index),1)  ref #(#ref(#index),6.0)&lt;br /&gt;
&lt;br /&gt;
$ Linien und Federn&lt;br /&gt;
&lt;br /&gt;
        sln     nr              npa             npe             grp             sdiv=#hmin&lt;br /&gt;
&lt;br /&gt;
                #sln(#index)    #npa(#index)    #npe(#index)    #grp_b&lt;br /&gt;
&lt;br /&gt;
                slns    grp             ref             mnr             bfix                reft=&#039;&amp;gt;sln&#039;  kr=&#039;posx&#039;&lt;br /&gt;
&lt;br /&gt;
                        #grp(#index)    #ref(#index)    #mnr(#index)    #bfix(#index)[mm]&lt;br /&gt;
&lt;br /&gt;
        let#index   #index+1 $ nur der Index&lt;br /&gt;
&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
Über den txa - Befehl kann man das recht gut kontrollieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Felder&amp;diff=13966</id>
		<title>C Felder</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Felder&amp;diff=13966"/>
		<updated>2026-08-28T09:07:19Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* loop und if */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Grundlagen ==&lt;br /&gt;
prog template urs:1&lt;br /&gt;
&lt;br /&gt;
kopf Felder&lt;br /&gt;
&lt;br /&gt;
!*!Label Feld 1  - ein Feld mit 10 Einträger&lt;br /&gt;
&lt;br /&gt;
let#f_1 1,2,3,4,5,6,7,8,9,10&lt;br /&gt;
        loop#anz    def(f_1)  $ Anzahl der Feldelemente in der Variable anz speichern&lt;br /&gt;
        endloop&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
txa Das Feld f_1 hat #(#anz,5.0) Einträge.&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
loop#1  #anz   $ Ausgabe des Feldes&lt;br /&gt;
    txa     index  = #(#1,2.0)   f_1 = #(#f_1(#1),6.3)&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
!*!Label Feld 2&lt;br /&gt;
&lt;br /&gt;
let#f_2 #f_1(:)  $ Feld 2 wird komplett aus dem Feld 1 erzeugt&lt;br /&gt;
&lt;br /&gt;
let#f_2(0) #f_2(0)*100    $ der 1. Eintrag wird mit 100 multipliziert&lt;br /&gt;
&lt;br /&gt;
let#f_2(5) #f_2(5)*100    $ der mit dem Index 5 (das ist das 6. Element) ebenfalls&lt;br /&gt;
&lt;br /&gt;
txa Feld 2&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
loop#2  #anz&lt;br /&gt;
    txa     index  = #(#2,2.0)   f_2 = #(#f_2(#2),8.3)&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
!*!Label Feld 3&lt;br /&gt;
&lt;br /&gt;
txa Feld 3&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
txa statt dem Komma geht auch ein Leerzeichen&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
let#f_3 10 11 12 13 14 15 16 17 18 19 20 21 22&lt;br /&gt;
        loop#anz    def(f_3)  $ Anzahl der Feldelemente in der Variable anz speichern&lt;br /&gt;
        endloop&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
txa Das Feld f_3 hat #(#anz,5.0) Einträge.&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
loop#1  #anz&lt;br /&gt;
    txa     index  = #(#1,2.0)   f_3 = #(#f_3(#1),6.3)&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
!*!Label Feld 4&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
txa Das Feld f_4 wird über eine Funktion gefüllt&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
sto#fun_1   &#039;=FUN(i,sqr(5*#i))&#039; $ FUN muß groß geschrieben werden&lt;br /&gt;
&lt;br /&gt;
loop#1 5&lt;br /&gt;
        let#i  #1+1&lt;br /&gt;
        let#f_4(#i) #fun_1(#i)&lt;br /&gt;
        txa     index  = #(#i,2.0)   f_4 = #(#f_4(#i),6.3)&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
== mächtiges Werkzeug ==&lt;br /&gt;
&#039;&#039;&#039;Loop über ein Feld&#039;&#039;&#039; ist ein sehr mächtiges Werkzeug. Es gibt viele sinnvolle Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Wesentlich ist die Definition des Feldes und der anschließende Aufruf des Feldnames (ohne #) im LOOP - Befehl. Die Schleife wird sooft durchlaufen, wie das Feld Elemente hat.&lt;br /&gt;
&lt;br /&gt;
Falls das Feld &amp;quot;unregelmäßig&amp;quot; ist, kann man das Feld über Schleifen belegen.&lt;br /&gt;
&lt;br /&gt;
Man sollte sich hüten, ein einmal definiertes Feld erneut zu verwenden. Denn die maximale Feldlänge (und diese bestimmt die Anzahl der Schleifenläufe) wird intern gespeichert. Bei einer erneuten Feldbelegung mit einer kleineren Elementanzahl kommt es dann zu Fehlern.&lt;br /&gt;
== Beispiel 1 - Pfetten einer Stahlhalle ==&lt;br /&gt;
In den Feldern ya und yb stecken die Y-Werte der einzelnen Hallenrahmen.&lt;br /&gt;
&lt;br /&gt;
Die nachstehende Schleife generiert über alle 14 Felder die Pfetten.&lt;br /&gt;
Mit der if-Bedingung wird noch der entsprechende Querschnitt ausgewählt.&lt;br /&gt;
&lt;br /&gt;
!*!Label Längspfetten auf dem Dach&lt;br /&gt;
&lt;br /&gt;
let#ya          #y1,#y2,#y3,#y4,#y5,#y6,#y7,#y8,#y9,#y10,#y11,#y12,#y13,#y14&lt;br /&gt;
&lt;br /&gt;
let#yb          #y2,#y3,#y4,#y5,#y6,#y7,#y8,#y9,#y10,#y11,#y12,#y13,#y14,#y15&lt;br /&gt;
&lt;br /&gt;
loop#i  ya&lt;br /&gt;
        let#l           #ya(#i)-#yb(#i)&lt;br /&gt;
        let#y11         #yb(#i)+((#l/2)+(#ylb/2))&lt;br /&gt;
        let#y12         #y11-#ylb&lt;br /&gt;
&lt;br /&gt;
        let#grp 410+(#i*10)&lt;br /&gt;
&lt;br /&gt;
        let#knr         #grp*#gdiv      $ neue Knoten&lt;br /&gt;
        spt     nr              x       y               z&lt;br /&gt;
                #knr+11+100     #x31    #y11            #z31&lt;br /&gt;
                #knr+12+100     #x31    #y12            #z31&lt;br /&gt;
                #knr+11+200     #x32    #y11            #z32&lt;br /&gt;
                #knr+12+200     #x32    #y12            #z32&lt;br /&gt;
                #knr+11+300     #x33    #y11            #z33&lt;br /&gt;
                #knr+12+300     #x33    #y12            #z33&lt;br /&gt;
&lt;br /&gt;
        $        Pfetten&lt;br /&gt;
        let#grpa        10+(#i)*10&lt;br /&gt;
        let#grpb        #grpa+10 $ Gruppe des hinteren Rahmen&lt;br /&gt;
&lt;br /&gt;
        if #i==6&lt;br /&gt;
                let#qnr 27&lt;br /&gt;
        else&lt;br /&gt;
                let#qnr 26&lt;br /&gt;
        endif&lt;br /&gt;
&lt;br /&gt;
        sln     nr      npa             npe                             qnr=#qnr     grp=#grp        styp=&#039;B&#039;&lt;br /&gt;
                -       #gdiv*#grpa+31  #knr+11+100     $fixa mymz&lt;br /&gt;
                -       #knr+11+100     #knr+12+100&lt;br /&gt;
                -       #knr+12+100     #gdiv*#grpb+31  $fixe mymz&lt;br /&gt;
                -       #gdiv*#grpa+32  #knr+11+200     $fixa mymz&lt;br /&gt;
                -       #knr+11+200     #knr+12+200&lt;br /&gt;
                -       #knr+12+200     #gdiv*#grpb+32  $fixe mymz&lt;br /&gt;
                -       #gdiv*#grpa+33  #knr+11+300     $fixa mymz&lt;br /&gt;
                -       #knr+11+300     #knr+12+300&lt;br /&gt;
                -       #knr+12+300     #gdiv*#grpb+33  $fixe mymz&lt;br /&gt;
endloop&lt;br /&gt;
== Beispiel 2 - vier verschiedene Laststellungen ==&lt;br /&gt;
Im Feld pos werden die vier unterschiedlichen X-Werte der Laststellungen gespeichert. Der includierte Block area2 beinhaltet die Definition der kleinen Flächenlasten.&lt;br /&gt;
&lt;br /&gt;
Die Schleife erzeugt die einzelnen Lastfälle FAT:&lt;br /&gt;
&lt;br /&gt;
let#pos  0,1.5,2.7,7.15-(4.2),7.15-(4.2/2)&lt;br /&gt;
&lt;br /&gt;
let#lf 101&lt;br /&gt;
&lt;br /&gt;
loop#i  pos&lt;br /&gt;
        lf nr #lf typ FAT bez &#039;FAT - #lf&#039;&lt;br /&gt;
&lt;br /&gt;
        $Startpunkt 1&lt;br /&gt;
        let#xs #pos(#i)&lt;br /&gt;
        let#ys 3.500&lt;br /&gt;
        let#zs 0.000&lt;br /&gt;
        #include area2&lt;br /&gt;
&lt;br /&gt;
        $Startpunkt 2&lt;br /&gt;
        let#xs #pos(#i)&lt;br /&gt;
        let#ys 3.500-3&lt;br /&gt;
        let#zs 0.000&lt;br /&gt;
        #include area2&lt;br /&gt;
&lt;br /&gt;
        let#lf #lf+1&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
== Anzahl der Elemente ==&lt;br /&gt;
Es gibt eine spezielle &amp;quot;Schleife&amp;quot;, mit welcher man die &#039;&#039;&#039;Anzahl&#039;&#039;&#039; der Elemente eines Feldes ermitteln und in einer Variablen ablegen kann.&lt;br /&gt;
&lt;br /&gt;
let#grp 4&lt;br /&gt;
&lt;br /&gt;
let#nr  #grpdiv*#grp&lt;br /&gt;
&lt;br /&gt;
$ QT 1. Feld&lt;br /&gt;
&lt;br /&gt;
let#nrwv    2,3,6,8,9,10,11,12,13,16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;loop#anz    def(nrwv)&#039;&#039;&#039;  $ Anzahl der Feldelemente des Feldes nrwv in der Variable anz speichern&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;endloop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
loop#3  #anz-1&lt;br /&gt;
    sln     nr              npa                     npe             grp=#grp styp=&#039;B&#039; qnr=3&lt;br /&gt;
            #nr+(#3*10+1)   #nrwv(#3)*100+12        #nrwv(#3+1)*100+51&lt;br /&gt;
            #nr+(#3*10+2)   #nrwv(#3+1)*100+51      #nrwv(#3)*100+62&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
== loop und if ==&lt;br /&gt;
Was so ein echter Faulpelz ist, der mag nicht viel tippern.&lt;br /&gt;
&lt;br /&gt;
Dafür gibt es Felder und logische Abfragen.&lt;br /&gt;
&lt;br /&gt;
Das Beispiel zeigt die Generierung von sln mit Federn, welche diese sln mit einer bereits vorhanden sln elastisch koppeln.&lt;br /&gt;
&lt;br /&gt;
Die zentrale Idee ist der &amp;quot;Index&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In einer ersten Schleife werden alle Felder belegt. Dabei wird bereits in den Feldern mnr und bfix der korrekte Wert abgelegt.&lt;br /&gt;
&lt;br /&gt;
let#grp_f       41  $ Gruppe der Federn&lt;br /&gt;
let#grp_k       21  $ Gruppe der Kontakte&lt;br /&gt;
let#nr_abl_f    1   $ Arbeitslinie  Federn&lt;br /&gt;
let#nr_abl_k    2   $ Arbeitslinie  Kontakte&lt;br /&gt;
&lt;br /&gt;
let#index   1&lt;br /&gt;
let#npa(#index)  #nr_b+1&lt;br /&gt;
let#npe(#index)  #nr_b+2&lt;br /&gt;
let#ref(#index)  #nr_w+1&lt;br /&gt;
&lt;br /&gt;
let#sln(#index)  #nr_b+1&lt;br /&gt;
&lt;br /&gt;
txa 1. Ausgabe - Befüllen der Felder&lt;br /&gt;
loop#1  16&lt;br /&gt;
$ mnr und grp&lt;br /&gt;
if ((#index==1)|(#index==5)|(#index==6)|(#index==10)|(#index==13)|(#index==14)) $ Gesamtklammer und == !!!&lt;br /&gt;
    let#mnr(#index) 1&lt;br /&gt;
    let#grp(#index) 41&lt;br /&gt;
else&lt;br /&gt;
    let#mnr(#index) 2&lt;br /&gt;
    let#grp(#index) 21&lt;br /&gt;
endif&lt;br /&gt;
$ bfix&lt;br /&gt;
if ((#index==1)|(#index==2)|(#index==9)|(#index==10))&lt;br /&gt;
    let#bfix(#index) #t_wabe_6&lt;br /&gt;
else&lt;br /&gt;
    let#bfix(#index) #t_wabe_3&lt;br /&gt;
endif&lt;br /&gt;
        txa     index  #(#index,2.0)    sln  #(#sln(#index),6.0)   npa  #(#npa(#index),6.0)  npe  #(#npe(#index),6.0) mnr #(#mnr(#index),1) grp #(#grp(#index),2) bfix #(#bfix(#index),1)  ref #(#ref(#index),6.0)&lt;br /&gt;
$ Index, spt, ref und sln&lt;br /&gt;
        let#index   #index+1&lt;br /&gt;
        let#npa(#index) #npa(#index-1)+1&lt;br /&gt;
        let#npe(#index) #npe(#index-1)+1&lt;br /&gt;
        let#ref(#index) #ref(#index-1)+1&lt;br /&gt;
        let#sln(#index) #sln(#index-1)+1&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anschließend werden die Nummern der npa bzw. npe nachträglich geändert. Dann erfolgt in einer zweiten Schleife die eigentliche Generierung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ Überschreiben von npa und npe&lt;br /&gt;
let#npa(11) #nr_b+3&lt;br /&gt;
let#npe(16) #nr_b+9&lt;br /&gt;
let#index   1&lt;br /&gt;
&lt;br /&gt;
txa 2. Ausgabe&lt;br /&gt;
loop#1  16&lt;br /&gt;
        txa     index  #(#index,2.0)    sln  #(#sln(#index),6.0)   npa  #(#npa(#index),6.0)  npe  #(#npe(#index),6.0) mnr #(#mnr(#index),1) grp #(#grp(#index),2) bfix #(#bfix(#index),1)  ref #(#ref(#index),6.0)&lt;br /&gt;
$ Linien und Federn&lt;br /&gt;
        sln     nr              npa             npe             grp             sdiv=#hmin&lt;br /&gt;
                #sln(#index)    #npa(#index)    #npe(#index)    #grp_b&lt;br /&gt;
                slns    grp             ref             mnr             bfix                reft=&#039;&amp;gt;sln&#039;  kr=&#039;posx&#039;&lt;br /&gt;
                        #grp(#index)    #ref(#index)    #mnr(#index)    #bfix(#index)[mm]&lt;br /&gt;
        let#index   #index+1 $ nur der Index&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
Über den txa - Befehl kann man das recht gut kontrollieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Felder&amp;diff=13965</id>
		<title>C Felder</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Felder&amp;diff=13965"/>
		<updated>2026-08-28T09:06:31Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Grundlagen ==&lt;br /&gt;
prog template urs:1&lt;br /&gt;
&lt;br /&gt;
kopf Felder&lt;br /&gt;
&lt;br /&gt;
!*!Label Feld 1  - ein Feld mit 10 Einträger&lt;br /&gt;
&lt;br /&gt;
let#f_1 1,2,3,4,5,6,7,8,9,10&lt;br /&gt;
        loop#anz    def(f_1)  $ Anzahl der Feldelemente in der Variable anz speichern&lt;br /&gt;
        endloop&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
txa Das Feld f_1 hat #(#anz,5.0) Einträge.&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
loop#1  #anz   $ Ausgabe des Feldes&lt;br /&gt;
    txa     index  = #(#1,2.0)   f_1 = #(#f_1(#1),6.3)&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
!*!Label Feld 2&lt;br /&gt;
&lt;br /&gt;
let#f_2 #f_1(:)  $ Feld 2 wird komplett aus dem Feld 1 erzeugt&lt;br /&gt;
&lt;br /&gt;
let#f_2(0) #f_2(0)*100    $ der 1. Eintrag wird mit 100 multipliziert&lt;br /&gt;
&lt;br /&gt;
let#f_2(5) #f_2(5)*100    $ der mit dem Index 5 (das ist das 6. Element) ebenfalls&lt;br /&gt;
&lt;br /&gt;
txa Feld 2&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
loop#2  #anz&lt;br /&gt;
    txa     index  = #(#2,2.0)   f_2 = #(#f_2(#2),8.3)&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
!*!Label Feld 3&lt;br /&gt;
&lt;br /&gt;
txa Feld 3&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
txa statt dem Komma geht auch ein Leerzeichen&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
let#f_3 10 11 12 13 14 15 16 17 18 19 20 21 22&lt;br /&gt;
        loop#anz    def(f_3)  $ Anzahl der Feldelemente in der Variable anz speichern&lt;br /&gt;
        endloop&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
txa Das Feld f_3 hat #(#anz,5.0) Einträge.&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
loop#1  #anz&lt;br /&gt;
    txa     index  = #(#1,2.0)   f_3 = #(#f_3(#1),6.3)&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
!*!Label Feld 4&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
txa Das Feld f_4 wird über eine Funktion gefüllt&lt;br /&gt;
&lt;br /&gt;
txa&lt;br /&gt;
&lt;br /&gt;
sto#fun_1   &#039;=FUN(i,sqr(5*#i))&#039; $ FUN muß groß geschrieben werden&lt;br /&gt;
&lt;br /&gt;
loop#1 5&lt;br /&gt;
        let#i  #1+1&lt;br /&gt;
        let#f_4(#i) #fun_1(#i)&lt;br /&gt;
        txa     index  = #(#i,2.0)   f_4 = #(#f_4(#i),6.3)&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
== mächtiges Werkzeug ==&lt;br /&gt;
&#039;&#039;&#039;Loop über ein Feld&#039;&#039;&#039; ist ein sehr mächtiges Werkzeug. Es gibt viele sinnvolle Anwendungen.&lt;br /&gt;
&lt;br /&gt;
Wesentlich ist die Definition des Feldes und der anschließende Aufruf des Feldnames (ohne #) im LOOP - Befehl. Die Schleife wird sooft durchlaufen, wie das Feld Elemente hat.&lt;br /&gt;
&lt;br /&gt;
Falls das Feld &amp;quot;unregelmäßig&amp;quot; ist, kann man das Feld über Schleifen belegen.&lt;br /&gt;
&lt;br /&gt;
Man sollte sich hüten, ein einmal definiertes Feld erneut zu verwenden. Denn die maximale Feldlänge (und diese bestimmt die Anzahl der Schleifenläufe) wird intern gespeichert. Bei einer erneuten Feldbelegung mit einer kleineren Elementanzahl kommt es dann zu Fehlern.&lt;br /&gt;
== Beispiel 1 - Pfetten einer Stahlhalle ==&lt;br /&gt;
In den Feldern ya und yb stecken die Y-Werte der einzelnen Hallenrahmen.&lt;br /&gt;
&lt;br /&gt;
Die nachstehende Schleife generiert über alle 14 Felder die Pfetten.&lt;br /&gt;
Mit der if-Bedingung wird noch der entsprechende Querschnitt ausgewählt.&lt;br /&gt;
&lt;br /&gt;
!*!Label Längspfetten auf dem Dach&lt;br /&gt;
&lt;br /&gt;
let#ya          #y1,#y2,#y3,#y4,#y5,#y6,#y7,#y8,#y9,#y10,#y11,#y12,#y13,#y14&lt;br /&gt;
&lt;br /&gt;
let#yb          #y2,#y3,#y4,#y5,#y6,#y7,#y8,#y9,#y10,#y11,#y12,#y13,#y14,#y15&lt;br /&gt;
&lt;br /&gt;
loop#i  ya&lt;br /&gt;
        let#l           #ya(#i)-#yb(#i)&lt;br /&gt;
        let#y11         #yb(#i)+((#l/2)+(#ylb/2))&lt;br /&gt;
        let#y12         #y11-#ylb&lt;br /&gt;
&lt;br /&gt;
        let#grp 410+(#i*10)&lt;br /&gt;
&lt;br /&gt;
        let#knr         #grp*#gdiv      $ neue Knoten&lt;br /&gt;
        spt     nr              x       y               z&lt;br /&gt;
                #knr+11+100     #x31    #y11            #z31&lt;br /&gt;
                #knr+12+100     #x31    #y12            #z31&lt;br /&gt;
                #knr+11+200     #x32    #y11            #z32&lt;br /&gt;
                #knr+12+200     #x32    #y12            #z32&lt;br /&gt;
                #knr+11+300     #x33    #y11            #z33&lt;br /&gt;
                #knr+12+300     #x33    #y12            #z33&lt;br /&gt;
&lt;br /&gt;
        $        Pfetten&lt;br /&gt;
        let#grpa        10+(#i)*10&lt;br /&gt;
        let#grpb        #grpa+10 $ Gruppe des hinteren Rahmen&lt;br /&gt;
&lt;br /&gt;
        if #i==6&lt;br /&gt;
                let#qnr 27&lt;br /&gt;
        else&lt;br /&gt;
                let#qnr 26&lt;br /&gt;
        endif&lt;br /&gt;
&lt;br /&gt;
        sln     nr      npa             npe                             qnr=#qnr     grp=#grp        styp=&#039;B&#039;&lt;br /&gt;
                -       #gdiv*#grpa+31  #knr+11+100     $fixa mymz&lt;br /&gt;
                -       #knr+11+100     #knr+12+100&lt;br /&gt;
                -       #knr+12+100     #gdiv*#grpb+31  $fixe mymz&lt;br /&gt;
                -       #gdiv*#grpa+32  #knr+11+200     $fixa mymz&lt;br /&gt;
                -       #knr+11+200     #knr+12+200&lt;br /&gt;
                -       #knr+12+200     #gdiv*#grpb+32  $fixe mymz&lt;br /&gt;
                -       #gdiv*#grpa+33  #knr+11+300     $fixa mymz&lt;br /&gt;
                -       #knr+11+300     #knr+12+300&lt;br /&gt;
                -       #knr+12+300     #gdiv*#grpb+33  $fixe mymz&lt;br /&gt;
endloop&lt;br /&gt;
== Beispiel 2 - vier verschiedene Laststellungen ==&lt;br /&gt;
Im Feld pos werden die vier unterschiedlichen X-Werte der Laststellungen gespeichert. Der includierte Block area2 beinhaltet die Definition der kleinen Flächenlasten.&lt;br /&gt;
&lt;br /&gt;
Die Schleife erzeugt die einzelnen Lastfälle FAT:&lt;br /&gt;
&lt;br /&gt;
let#pos  0,1.5,2.7,7.15-(4.2),7.15-(4.2/2)&lt;br /&gt;
&lt;br /&gt;
let#lf 101&lt;br /&gt;
&lt;br /&gt;
loop#i  pos&lt;br /&gt;
        lf nr #lf typ FAT bez &#039;FAT - #lf&#039;&lt;br /&gt;
&lt;br /&gt;
        $Startpunkt 1&lt;br /&gt;
        let#xs #pos(#i)&lt;br /&gt;
        let#ys 3.500&lt;br /&gt;
        let#zs 0.000&lt;br /&gt;
        #include area2&lt;br /&gt;
&lt;br /&gt;
        $Startpunkt 2&lt;br /&gt;
        let#xs #pos(#i)&lt;br /&gt;
        let#ys 3.500-3&lt;br /&gt;
        let#zs 0.000&lt;br /&gt;
        #include area2&lt;br /&gt;
&lt;br /&gt;
        let#lf #lf+1&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
== Anzahl der Elemente ==&lt;br /&gt;
Es gibt eine spezielle &amp;quot;Schleife&amp;quot;, mit welcher man die &#039;&#039;&#039;Anzahl&#039;&#039;&#039; der Elemente eines Feldes ermitteln und in einer Variablen ablegen kann.&lt;br /&gt;
&lt;br /&gt;
let#grp 4&lt;br /&gt;
&lt;br /&gt;
let#nr  #grpdiv*#grp&lt;br /&gt;
&lt;br /&gt;
$ QT 1. Feld&lt;br /&gt;
&lt;br /&gt;
let#nrwv    2,3,6,8,9,10,11,12,13,16&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;loop#anz    def(nrwv)&#039;&#039;&#039;  $ Anzahl der Feldelemente des Feldes nrwv in der Variable anz speichern&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;endloop&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
loop#3  #anz-1&lt;br /&gt;
    sln     nr              npa                     npe             grp=#grp styp=&#039;B&#039; qnr=3&lt;br /&gt;
            #nr+(#3*10+1)   #nrwv(#3)*100+12        #nrwv(#3+1)*100+51&lt;br /&gt;
            #nr+(#3*10+2)   #nrwv(#3+1)*100+51      #nrwv(#3)*100+62&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
== loop und if ==&lt;br /&gt;
Was so ein echter Faulpelz ist, der mag nicht viel tippern.&lt;br /&gt;
&lt;br /&gt;
Dafür gibt es Felder und logische Abfragen.&lt;br /&gt;
&lt;br /&gt;
Das Beispiel zeigt die Generierung von sln mit Federn, welche diese sln mit einer bereits vorhanden sln elastisch koppeln.&lt;br /&gt;
&lt;br /&gt;
Die zentrale Idee ist der &amp;quot;Index&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In einer ersten Schleife werden alle Felder belegt. Dabei wird bereits in den Feldern mnr und bfix der korrekte Wert abgelegt.&lt;br /&gt;
let#grp_f       41  $ Gruppe der Federn&lt;br /&gt;
let#grp_k       21  $ Gruppe der Kontakte&lt;br /&gt;
let#nr_abl_f    1   $ Arbeitslinie  Federn&lt;br /&gt;
let#nr_abl_k    2   $ Arbeitslinie  Kontakte&lt;br /&gt;
&lt;br /&gt;
let#index   1&lt;br /&gt;
let#npa(#index)  #nr_b+1&lt;br /&gt;
let#npe(#index)  #nr_b+2&lt;br /&gt;
let#ref(#index)  #nr_w+1&lt;br /&gt;
&lt;br /&gt;
let#sln(#index)  #nr_b+1&lt;br /&gt;
&lt;br /&gt;
txa 1. Ausgabe - Befüllen der Felder&lt;br /&gt;
loop#1  16&lt;br /&gt;
$ mnr und grp&lt;br /&gt;
if ((#index==1)|(#index==5)|(#index==6)|(#index==10)|(#index==13)|(#index==14)) $ Gesamtklammer und == !!!&lt;br /&gt;
    let#mnr(#index) 1&lt;br /&gt;
    let#grp(#index) 41&lt;br /&gt;
else&lt;br /&gt;
    let#mnr(#index) 2&lt;br /&gt;
    let#grp(#index) 21&lt;br /&gt;
endif&lt;br /&gt;
$ bfix&lt;br /&gt;
if ((#index==1)|(#index==2)|(#index==9)|(#index==10))&lt;br /&gt;
    let#bfix(#index) #t_wabe_6&lt;br /&gt;
else&lt;br /&gt;
    let#bfix(#index) #t_wabe_3&lt;br /&gt;
endif&lt;br /&gt;
        txa     index  #(#index,2.0)    sln  #(#sln(#index),6.0)   npa  #(#npa(#index),6.0)  npe  #(#npe(#index),6.0) mnr #(#mnr(#index),1) grp #(#grp(#index),2) bfix #(#bfix(#index),1)  ref #(#ref(#index),6.0)&lt;br /&gt;
$ Index, spt, ref und sln&lt;br /&gt;
        let#index   #index+1&lt;br /&gt;
        let#npa(#index) #npa(#index-1)+1&lt;br /&gt;
        let#npe(#index) #npe(#index-1)+1&lt;br /&gt;
        let#ref(#index) #ref(#index-1)+1&lt;br /&gt;
        let#sln(#index) #sln(#index-1)+1&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anschließend werden die Nummern der npa bzw. npe nachträglich geändert. Dann erfolgt in einer zweiten Schleife die eigentliche Generierung.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ Überschreiben von npa und npe&lt;br /&gt;
let#npa(11) #nr_b+3&lt;br /&gt;
let#npe(16) #nr_b+9&lt;br /&gt;
let#index   1&lt;br /&gt;
&lt;br /&gt;
txa 2. Ausgabe&lt;br /&gt;
loop#1  16&lt;br /&gt;
        txa     index  #(#index,2.0)    sln  #(#sln(#index),6.0)   npa  #(#npa(#index),6.0)  npe  #(#npe(#index),6.0) mnr #(#mnr(#index),1) grp #(#grp(#index),2) bfix #(#bfix(#index),1)  ref #(#ref(#index),6.0)&lt;br /&gt;
$ Linien und Federn&lt;br /&gt;
        sln     nr              npa             npe             grp             sdiv=#hmin&lt;br /&gt;
                #sln(#index)    #npa(#index)    #npe(#index)    #grp_b&lt;br /&gt;
                slns    grp             ref             mnr             bfix                reft=&#039;&amp;gt;sln&#039;  kr=&#039;posx&#039;&lt;br /&gt;
                        #grp(#index)    #ref(#index)    #mnr(#index)    #bfix(#index)[mm]&lt;br /&gt;
        let#index   #index+1 $ nur der Index&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
Über den txa - Befehl kann man das recht gut kontrollieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13964</id>
		<title>C SOFiMSHC</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13964"/>
		<updated>2026-08-10T07:31:15Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Definition der Sekundärachse AXIS.n */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorbemerkungen ==&lt;br /&gt;
Das Modul SOFiMSHC dient der Generierung des statischen Models. Daneben werden Achsen erzeugt, welche für die Vorspannung bzw. die Verkehrslasten benötigt werden.&lt;br /&gt;
Hier trage ich meine Tipps und Kniffe für dieses Modul zusammen. Irgendwann bring ich da mal Ordnung rein. 🤣&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
=== regelmäßiges Netz ===&lt;br /&gt;
Man braucht das nicht wirklich, aber manchmal eben doch: eine ganz regelmäßige Vernetzung mit einer vorgegebenen Anzahl von Elementen an den Kanten. Das geht:&lt;br /&gt;
Grundsatz 1: Jede Kante wird in mindestens zwei Abschnitte unterteilt!&lt;br /&gt;
Grundsatz 2: Jede Linie wird in eine geradzahlige Anzahl von Abschnitten unterteilt (sln ... sdiv &#039;&#039;&#039;-geradzahlig&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Weiterhin kann man im sln - Satz bei styp das &amp;quot;Y&amp;quot; eingeben. Damit wird eine Linie dann doch nicht unterteilt; auch &amp;quot;BY&amp;quot; liefert das erhoffte Ergebnis: ein Stab zwischen zwei Knoten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im SOFiPLUS geht das auch recht gut:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Vernetzung anzahl der elemente.jpg|Anzahl der Elemente auswählen]]&lt;br /&gt;
&lt;br /&gt;
Für Teddyaner geht das mit der Geradzahligkeit z.Bsp. so:&lt;br /&gt;
&lt;br /&gt;
let#ny  #y/#hmin&lt;br /&gt;
&lt;br /&gt;
if div(#ny/2)&amp;gt;0&lt;br /&gt;
&lt;br /&gt;
    let#nya 2*(div((#ny)/2))+2&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    let#nya 2*(div((#ny)/2))&lt;br /&gt;
&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schnittpunkt zwei Achsen ===&lt;br /&gt;
Gelentlich braucht man den Schnittpunkt von zwei Achsen. Das funktioniert nur über Strukturlinien. Man definiert die beiden Strukturlinien über jeweils eine Achse; und der Schnittpunkt der beiden Strukturlinien ist der gesuchte Knoten.&lt;br /&gt;
&lt;br /&gt;
=== störende Knoten löschen ===&lt;br /&gt;
Im SOFiMSHC besteht keine Möglichkeit, Knoten zu löschen. Also gibt man diesen störenden Knoten eine &amp;quot;weit abliegende Koordinate&amp;quot; und legt mit steu deln 1 fest, das unbenutzte Elemente zu löschen sind.&lt;br /&gt;
=== Ausrichtung der Lager - Gruppennummer der Kopplungen ===&lt;br /&gt;
&lt;br /&gt;
Bei gekrümmten Überbauten ist die achsparallele Ausrichtung der Lager nicht mehr trivial.&lt;br /&gt;
&lt;br /&gt;
Es bietet sich der Befehl COOR an.&lt;br /&gt;
&lt;br /&gt;
coor typ AXIS id AXIS.N s 22.1160 &lt;br /&gt;
&lt;br /&gt;
Das funktioniert auch ganz gut, nur leider übernehmen die so generierten Knoten nicht das neue Koordinatensystem. Die lokalen Achsen der neuen Knoten übernehmen das globale KSS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man kann sich auch auf die Achse beziehen:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;ax&#039;        nref &#039;a1&#039;       sx #ue  sy #b  sz #z_lager     fix F-&amp;gt;200&lt;br /&gt;
&lt;br /&gt;
Diese Knoten übernehmen das gedrehte KSS, machen allerdings Schwierigkeiten bei den Lastfällen &amp;quot;Stützensenkung&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Am besten funktioniert ein Bezug auf den Knoten selbst:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;pt&#039;        nref 200       x 0     y +#b   z #z_lager     fix F-&amp;gt;200&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=10&lt;br /&gt;
                        4       cx      #cx10_2&lt;br /&gt;
                        5       cy      #cy10_2&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=110&lt;br /&gt;
                        6       cz      #cz&lt;br /&gt;
&lt;br /&gt;
Die neuen Knoten haben das lokale Koordinatensystem des referenzierten Knotens und Stützensenkungen lassen sich auch berechnen. Es ist sinnvoll, die Z-Komponente in eine separate Gruppe zu stecken. Somit kann man im WINGRAF recht gut das generierte Lagersystem darstellen.&lt;br /&gt;
Alle Kopplungen von Systemen, welche mit CSM weiterberechnet werden, sollten einer Gruppe zugewiesen werden (s. SPTP...GRP).&lt;br /&gt;
&lt;br /&gt;
=== Ausrichtung des KSS von Flächentragwerken ===&lt;br /&gt;
&lt;br /&gt;
Wenn man die Koordinatensysteme der QUAD-Elemente ausrichten muss (orthotrope Fahrbahnplatten), so bieten sich zwei Möglichkeiten an:&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Kreis&lt;br /&gt;
&lt;br /&gt;
Hier erfolgt die Ausreichtung auf den Kreismittelpunkt;&lt;br /&gt;
&lt;br /&gt;
sar nr 2        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;pt&#039; drx 4000 drot 90     &lt;br /&gt;
&lt;br /&gt;
Nachteilig an dieser Lösung ist, dass das Koordinatensystem im Animator riesig groß dargestellt wird!&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Klothoide&lt;br /&gt;
&lt;br /&gt;
Hier kann man die Koordinatensysteme der Quad-Elemente auf eine Strukturlinie ausrichten;&lt;br /&gt;
&lt;br /&gt;
sar nr 1        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;ln&#039; drx 105 drot 90&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrollen !!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Natürlich muss man den Winkel und die sich ergebenden Richtungen grafisch kontrollieren. Bei den orthotropen Platten ist streng nach x und y zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
=== Lastachsen aus Sekundärachsen erzeugen ===&lt;br /&gt;
Stand 10/2019! das soll zukünftig besser gehen&lt;br /&gt;
&lt;br /&gt;
Gelegentlich entwickelt man die Sekundärachsen nicht einfach durch eine konstante seitlich Versetztung der Primärachse. Dann hat diese Sekundärachse nicht nur keine eigene Stationierung, sondern sie taugt auch nicht als Lastachse!&lt;br /&gt;
&lt;br /&gt;
Die Lösung besteht darin, eine neue Achse aus der Geometrie dieser Nebenachse zu erzeugen. Diese beiden Achsen sind geometrisch deckungsgleich und die neue Achse ist eine Lastachse.&lt;br /&gt;
 &lt;br /&gt;
==== Definition der Sekundärachse AXIS.n ====&lt;br /&gt;
Der nachstehende Text zeigt, wie man an unterschiedlichen Stationen einen variablen Abstand zwischen der Sekundär- und der Primärachse definieren kann. Über den Typ &amp;quot;SPLI&amp;quot; ergibt sich die gesuchte Form.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;quot;GAXS&amp;quot; wird dann die Sekundärachse &amp;quot;AXIS.n&amp;quot; generiert.&lt;br /&gt;
&lt;br /&gt;
!*!Label nördl. Sekundärachse&lt;br /&gt;
$ Norden: der Abstand wird an vier Stationen über eine Variable gaxv vorgegeben typ=spli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s0 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s1 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s2 v -(1.625+0.335)       typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s3 v -(1.625+1.1)         typ spli&lt;br /&gt;
&lt;br /&gt;
gaxs    id &#039;AXIS&#039; ids &#039;n&#039; spt 200 y yn  bez &#039;nördl. Achse&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da &amp;quot;AXIS.N&amp;quot; im SOFiLOAD nix taugt, wird hier eine neue Achse &amp;quot;NORD&amp;quot; erzeugt. Durch das &amp;quot;ref &#039;AXIS.n&#039;&amp;quot; sind die beiden Achsen (fast) identisch. Mit der Stationierung muss man rumprobieren.&lt;br /&gt;
&lt;br /&gt;
==== neue Lastachse NORD ====&lt;br /&gt;
&lt;br /&gt;
!*!Label Lastachsen&lt;br /&gt;
&lt;br /&gt;
let#typ &#039;lane&#039;&lt;br /&gt;
&lt;br /&gt;
gax  id &#039;NORD&#039; typ #typ bez &#039;NORD&#039;  ref &#039;AXIS.n&#039; typc spli&lt;br /&gt;
&lt;br /&gt;
let#l_n 77.982          $ Länge der AXIS.n aus dem Result Viewer&lt;br /&gt;
&lt;br /&gt;
                        $ zur Kontrolle dienen die Koordinaten des Knotens 4200&lt;br /&gt;
&lt;br /&gt;
                        $ diese NURB&#039;s werden ohne Stationierung ausgegeben...sollte aber bei etwa 77.982 enden&lt;br /&gt;
&lt;br /&gt;
loop#i div(#l_n/1)+2    $ probieren! $ im SOFiLOAD wird die &amp;quot;Gesamtlänge&amp;quot; und die Stationierung ausgegeben&lt;br /&gt;
&lt;br /&gt;
        gaxc  x 0+#i    y 0     z 0&lt;br /&gt;
&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
=== SAR NR RROP ===&lt;br /&gt;
Gelegentlich ergibt sich die Forderung, eine Strukturfläche in einem bestimmten örtlich begrenzten Bereich zu verändern:&lt;br /&gt;
&lt;br /&gt;
    Dicke&lt;br /&gt;
&lt;br /&gt;
    Gruppennummer&lt;br /&gt;
&lt;br /&gt;
    Bettung&lt;br /&gt;
&lt;br /&gt;
    Material...&lt;br /&gt;
&lt;br /&gt;
Dazu gibt es den Befehl &#039;&#039;&#039;sar nr prop&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Eine Strukturfläche (Nr. 115) ist bereits (ohne Bettung) definiert. Nun soll noch der Bereich von 1m mit cb gebettet werden.&lt;br /&gt;
&lt;br /&gt;
sar nr 115 grp 2 mnr 4 nra 7 qref mitt cb 0 ct 0 mctl 1 t #tm bez &#039;2 - W5&#039;&lt;br /&gt;
&lt;br /&gt;
sarb typ aus nl 459,414,460,461&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sar  nr prop cb #cbsandu bez &amp;quot;nur 1m Bettung&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz      x2 #x10 #y2 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz-1    x2 #x10 #y3 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz-1    x2 #x10 #y3 #zfusz&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz      x2 #x10 #y2 #zfusz&lt;br /&gt;
&lt;br /&gt;
=== Kopplungen von Knoten ===&lt;br /&gt;
Kopplungen sollte man auf jeden Fall einer Gruppe zuordnen. Ggf. unterscheidet man noch nach den Richtungen.&lt;br /&gt;
&lt;br /&gt;
Bei der Verwendung von Kopplungen besteht immer wieder die Frage, wer auf wen gekoppelt wird oder ob das evtl. auch vollkommen bedeutungslos ist. Oft sind die damit verbundenen Fehlermeldung (üblicherweise erst beim ASE - Lauf) schwer zu interpretieren.&lt;br /&gt;
Die Regel lautet &#039;&#039;&#039;hin zum Auflager&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Bei der Kopplung von Knoten ist der Kopplungstyp hinter typ als LITERAL einzugeben. Das LITERAL darf hier aber nicht in Hochkomma gesetzt werden!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sptp&#039;&#039;&#039;    typ kf  grp 2   ref 300+#nr  $ Kopplung auf den Lagerknoten&lt;br /&gt;
&lt;br /&gt;
Außerdem kann man hier eine Gruppennnummer eingeben, was im Satz spt nicht möglich ist.&lt;br /&gt;
=== Kopplungen von Strukturflächen ===&lt;br /&gt;
Beispieldatei: C:\Glossar\S\Sofimshc&lt;br /&gt;
Beim Kopplung von Strukturflächen gibt es mehrere Varianten.&lt;br /&gt;
&lt;br /&gt;
Etwas knifflig wird es dann, wenn man zwischen den beiden Strukturflächen nicht nur flächige Kopplungen, sondern zusätzlich auch punktuelle Kopplungen generieren möchte.&lt;br /&gt;
&lt;br /&gt;
1. Zusammenwirken von SOFiMSHC und SOFiMSHA&lt;br /&gt;
&lt;br /&gt;
Hier gibt es ein schönes Beispiel im Beispielordner: C:\Program Files\SOFiSTiK\2025\SOFiSTiK 2025…Sofimshc\Flächenmodelle&lt;br /&gt;
&lt;br /&gt;
Nach der Generierung der beiden Flächen im SOFiMSHC werden diese anschließend in SOFiMSHA mittels &lt;br /&gt;
&lt;br /&gt;
Fede gruppe 1 gruppe 2 cl … ca… gekoppelt.&lt;br /&gt;
&lt;br /&gt;
Dabei werden aber nicht nur die Federn generiert, sondern auch Kopplungen, welche die Federn ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Nur mit SOFiMSHC&lt;br /&gt;
&lt;br /&gt;
Im SOFiMSHC gibt es den Satz sars, mit dem Parameter reft &amp;gt;sar ref nr. Das ist echt stark und man kann auch für die Kopplung eine Materialnummer auswählen.&lt;br /&gt;
Hier können aber Probleme auftreten, wenn die beiden Flächen topologisch nicht identisch sind. Der Parameter rctl=0 sollte diese Aufgabe lösen, funktioniert aber nicht wirklich. In einem solchen Fall geht es über SOFiMSHA.&lt;br /&gt;
&lt;br /&gt;
Wenn man nun noch zusätzlich einzelne Knoten koppeln möchte, so liegt es auf der Hand, einfach unter dem sar Befehl den Befehl sarb typ conc np nr zu verwenden. Diese Kopplungen werden aber mit dem sars – Befehl „zerschossen“.&lt;br /&gt;
&lt;br /&gt;
3. Trick&lt;br /&gt;
&lt;br /&gt;
Man kann das gesuchte Ergebnis dadurch erreichen, in dem man die Gesamtfläche in Teilflächen zerlegt und dabei die gekoppelten Knoten bei der sln Definition verwendet. Das ist zwar etwas mehr Programmieraufwand, funktioniert aber einwandfrei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Kopplung sar 1.jpg|System&lt;br /&gt;
Kopplung sar 2.jpg|sars&lt;br /&gt;
Kopplung sar 3.jpg|Teilflächen&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gelenkbedingungen an sln in Flächentragwerken ===&lt;br /&gt;
Gelegentlich brauch man Gelenkbedingungen entlang einer Strukturlinie zwischen zwei Flächen. Das typische Beispiel ist eine eche Raumfuge oder auch &amp;quot;Nut und Feder&amp;quot;.&lt;br /&gt;
Die nicht zu übertragenden Schnittgrößen werden im Satz SARB hinter FIX als Literal eingegeben.&lt;br /&gt;
&lt;br /&gt;
sar     nr 22    grp 10 mnr 1 mbw 11 qref &#039;oben&#039; cb -   ct -  nx 0    ny 0    nz -1    nra 7 t 0.7     bez &#039;#bez&#039; mctl &#039;regm&#039;  kr &#039;posx&#039;&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2012,2013,102&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2102               &#039;&#039;&#039;fix &#039;ppmm&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die sln nr 2102 überträger keine der sechs Schnittgrößen.&lt;br /&gt;
&lt;br /&gt;
Auch bei der Generierung von sln kann man solche Eigenschaften definieren, muss aber hierbei zwischen interen Knoten und den beiden Außenknoten unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Meiner Erfahrung nach, funktioniert das mit den Raumfugen nur dann, wenn die SAR, welche &amp;quot;dazukommt&amp;quot; die Angaben mit dem &#039;&#039;&#039;&#039;&#039;fix&#039;&#039;&#039;&#039;&#039; bekommt.&lt;br /&gt;
&lt;br /&gt;
=== Randelemente ===&lt;br /&gt;
Grundsätzlich ist jede Strukturline, welche in einer Gruppe &amp;gt;0 generiert wird, ein Randelement. Diese Randelemente kann man mit Maxima auswerten.&lt;br /&gt;
Da man einer sln auch eine Bezeichnung mitgeben kann, kann man das recht übersichtlich ausgeben.&lt;br /&gt;
&lt;br /&gt;
s. steu lsup&lt;br /&gt;
&lt;br /&gt;
=== System in mm ===&lt;br /&gt;
&lt;br /&gt;
Die Eingabe des Systems in Millimeter zu erledigen ist kein Problem. &lt;br /&gt;
&lt;br /&gt;
norm &#039;DIN&#039; &#039;en199x-200x&#039;  unit 6&lt;br /&gt;
&lt;br /&gt;
Will man nun auch noch die Ausgabe in der Systemgenerierung mm, so muß man das über die UNIT im SOFiMSHC einstellen.&lt;br /&gt;
&lt;br /&gt;
unit type 1001 &amp;quot;mm&amp;quot; dig 1    $ mm&lt;br /&gt;
&lt;br /&gt;
Die Tabelle der Konotenkoordinaten erschein jetzt in mm mit einer Nachkommastelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statisches System]]&lt;br /&gt;
[[Kategorie:SOFiMSHC]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13963</id>
		<title>C SOFiMSHC</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13963"/>
		<updated>2026-08-10T07:30:01Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Kopplungen von Strukturflächen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorbemerkungen ==&lt;br /&gt;
Das Modul SOFiMSHC dient der Generierung des statischen Models. Daneben werden Achsen erzeugt, welche für die Vorspannung bzw. die Verkehrslasten benötigt werden.&lt;br /&gt;
Hier trage ich meine Tipps und Kniffe für dieses Modul zusammen. Irgendwann bring ich da mal Ordnung rein. 🤣&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
=== regelmäßiges Netz ===&lt;br /&gt;
Man braucht das nicht wirklich, aber manchmal eben doch: eine ganz regelmäßige Vernetzung mit einer vorgegebenen Anzahl von Elementen an den Kanten. Das geht:&lt;br /&gt;
Grundsatz 1: Jede Kante wird in mindestens zwei Abschnitte unterteilt!&lt;br /&gt;
Grundsatz 2: Jede Linie wird in eine geradzahlige Anzahl von Abschnitten unterteilt (sln ... sdiv &#039;&#039;&#039;-geradzahlig&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Weiterhin kann man im sln - Satz bei styp das &amp;quot;Y&amp;quot; eingeben. Damit wird eine Linie dann doch nicht unterteilt; auch &amp;quot;BY&amp;quot; liefert das erhoffte Ergebnis: ein Stab zwischen zwei Knoten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im SOFiPLUS geht das auch recht gut:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Vernetzung anzahl der elemente.jpg|Anzahl der Elemente auswählen]]&lt;br /&gt;
&lt;br /&gt;
Für Teddyaner geht das mit der Geradzahligkeit z.Bsp. so:&lt;br /&gt;
&lt;br /&gt;
let#ny  #y/#hmin&lt;br /&gt;
&lt;br /&gt;
if div(#ny/2)&amp;gt;0&lt;br /&gt;
&lt;br /&gt;
    let#nya 2*(div((#ny)/2))+2&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    let#nya 2*(div((#ny)/2))&lt;br /&gt;
&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schnittpunkt zwei Achsen ===&lt;br /&gt;
Gelentlich braucht man den Schnittpunkt von zwei Achsen. Das funktioniert nur über Strukturlinien. Man definiert die beiden Strukturlinien über jeweils eine Achse; und der Schnittpunkt der beiden Strukturlinien ist der gesuchte Knoten.&lt;br /&gt;
&lt;br /&gt;
=== störende Knoten löschen ===&lt;br /&gt;
Im SOFiMSHC besteht keine Möglichkeit, Knoten zu löschen. Also gibt man diesen störenden Knoten eine &amp;quot;weit abliegende Koordinate&amp;quot; und legt mit steu deln 1 fest, das unbenutzte Elemente zu löschen sind.&lt;br /&gt;
=== Ausrichtung der Lager - Gruppennummer der Kopplungen ===&lt;br /&gt;
&lt;br /&gt;
Bei gekrümmten Überbauten ist die achsparallele Ausrichtung der Lager nicht mehr trivial.&lt;br /&gt;
&lt;br /&gt;
Es bietet sich der Befehl COOR an.&lt;br /&gt;
&lt;br /&gt;
coor typ AXIS id AXIS.N s 22.1160 &lt;br /&gt;
&lt;br /&gt;
Das funktioniert auch ganz gut, nur leider übernehmen die so generierten Knoten nicht das neue Koordinatensystem. Die lokalen Achsen der neuen Knoten übernehmen das globale KSS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man kann sich auch auf die Achse beziehen:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;ax&#039;        nref &#039;a1&#039;       sx #ue  sy #b  sz #z_lager     fix F-&amp;gt;200&lt;br /&gt;
&lt;br /&gt;
Diese Knoten übernehmen das gedrehte KSS, machen allerdings Schwierigkeiten bei den Lastfällen &amp;quot;Stützensenkung&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Am besten funktioniert ein Bezug auf den Knoten selbst:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;pt&#039;        nref 200       x 0     y +#b   z #z_lager     fix F-&amp;gt;200&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=10&lt;br /&gt;
                        4       cx      #cx10_2&lt;br /&gt;
                        5       cy      #cy10_2&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=110&lt;br /&gt;
                        6       cz      #cz&lt;br /&gt;
&lt;br /&gt;
Die neuen Knoten haben das lokale Koordinatensystem des referenzierten Knotens und Stützensenkungen lassen sich auch berechnen. Es ist sinnvoll, die Z-Komponente in eine separate Gruppe zu stecken. Somit kann man im WINGRAF recht gut das generierte Lagersystem darstellen.&lt;br /&gt;
Alle Kopplungen von Systemen, welche mit CSM weiterberechnet werden, sollten einer Gruppe zugewiesen werden (s. SPTP...GRP).&lt;br /&gt;
&lt;br /&gt;
=== Ausrichtung des KSS von Flächentragwerken ===&lt;br /&gt;
&lt;br /&gt;
Wenn man die Koordinatensysteme der QUAD-Elemente ausrichten muss (orthotrope Fahrbahnplatten), so bieten sich zwei Möglichkeiten an:&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Kreis&lt;br /&gt;
&lt;br /&gt;
Hier erfolgt die Ausreichtung auf den Kreismittelpunkt;&lt;br /&gt;
&lt;br /&gt;
sar nr 2        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;pt&#039; drx 4000 drot 90     &lt;br /&gt;
&lt;br /&gt;
Nachteilig an dieser Lösung ist, dass das Koordinatensystem im Animator riesig groß dargestellt wird!&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Klothoide&lt;br /&gt;
&lt;br /&gt;
Hier kann man die Koordinatensysteme der Quad-Elemente auf eine Strukturlinie ausrichten;&lt;br /&gt;
&lt;br /&gt;
sar nr 1        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;ln&#039; drx 105 drot 90&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrollen !!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Natürlich muss man den Winkel und die sich ergebenden Richtungen grafisch kontrollieren. Bei den orthotropen Platten ist streng nach x und y zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
=== Lastachsen aus Sekundärachsen erzeugen ===&lt;br /&gt;
Stand 10/2019! das soll zukünftig besser gehen&lt;br /&gt;
&lt;br /&gt;
Gelegentlich entwickelt man die Sekundärachsen nicht einfach durch eine konstante seitlich Versetztung der Primärachse. Dann hat diese Sekundärachse nicht nur keine eigene Stationierung, sondern sie taugt auch nicht als Lastachse!&lt;br /&gt;
&lt;br /&gt;
Die Lösung besteht darin, eine neue Achse aus der Geometrie dieser Nebenachse zu erzeugen. Diese beiden Achsen sind geometrisch deckungsgleich und die neue Achse ist eine Lastachse.&lt;br /&gt;
 &lt;br /&gt;
==== Definition der Sekundärachse AXIS.n ====&lt;br /&gt;
Der nachstehende Text zeigt, wie man an unterschiedlichen Stationen einen variablen Abstand zwischen der Sekundär- und der Primärachse definieren kann. Über den Typ &amp;quot;SPLI&amp;quot; ergibt sich die gesuchte Form.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;quot;GAXS&amp;quot; wird dann die Sekundärachse &amp;quot;AXIS.n&amp;quot; generiert.&lt;br /&gt;
&lt;br /&gt;
!*!Label nördl. Sekundärachse&lt;br /&gt;
$ Norden: der Abstand wird an vier Stationen über eine Variable gaxv vorgegeben typ=spli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s0 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s1 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s2 v -(1.625+0.335)       typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s3 v -(1.625+1.1)         typ spli&lt;br /&gt;
&lt;br /&gt;
gaxs    id &#039;AXIS&#039; ids &#039;n&#039; spt 200 y yn  bez &#039;nördl. Achse&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da &amp;quot;AXIS.N&amp;quot; im SOFiLOAD nix taugt, wird hier eine neue Achse &amp;quot;NORD&amp;quot; erzeugt. Durch das &amp;quot;ref &#039;AXIS.n&#039;&amp;quot; sind die beiden Achsen (fast) identisch. Mit der Stationierung muss man rumprobieren.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==== neue Lastachse NORD ====&lt;br /&gt;
&lt;br /&gt;
!*!Label Lastachsen&lt;br /&gt;
&lt;br /&gt;
let#typ &#039;lane&#039;&lt;br /&gt;
&lt;br /&gt;
gax  id &#039;NORD&#039; typ #typ bez &#039;NORD&#039;  ref &#039;AXIS.n&#039; typc spli&lt;br /&gt;
&lt;br /&gt;
let#l_n 77.982          $ Länge der AXIS.n aus dem Result Viewer&lt;br /&gt;
&lt;br /&gt;
                        $ zur Kontrolle dienen die Koordinaten des Knotens 4200&lt;br /&gt;
&lt;br /&gt;
                        $ diese NURB&#039;s werden ohne Stationierung ausgegeben...sollte aber bei etwa 77.982 enden&lt;br /&gt;
&lt;br /&gt;
loop#i div(#l_n/1)+2    $ probieren! $ im SOFiLOAD wird die &amp;quot;Gesamtlänge&amp;quot; und die Stationierung ausgegeben&lt;br /&gt;
&lt;br /&gt;
        gaxc  x 0+#i    y 0     z 0&lt;br /&gt;
&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
=== SAR NR RROP ===&lt;br /&gt;
Gelegentlich ergibt sich die Forderung, eine Strukturfläche in einem bestimmten örtlich begrenzten Bereich zu verändern:&lt;br /&gt;
&lt;br /&gt;
    Dicke&lt;br /&gt;
&lt;br /&gt;
    Gruppennummer&lt;br /&gt;
&lt;br /&gt;
    Bettung&lt;br /&gt;
&lt;br /&gt;
    Material...&lt;br /&gt;
&lt;br /&gt;
Dazu gibt es den Befehl &#039;&#039;&#039;sar nr prop&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Eine Strukturfläche (Nr. 115) ist bereits (ohne Bettung) definiert. Nun soll noch der Bereich von 1m mit cb gebettet werden.&lt;br /&gt;
&lt;br /&gt;
sar nr 115 grp 2 mnr 4 nra 7 qref mitt cb 0 ct 0 mctl 1 t #tm bez &#039;2 - W5&#039;&lt;br /&gt;
&lt;br /&gt;
sarb typ aus nl 459,414,460,461&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sar  nr prop cb #cbsandu bez &amp;quot;nur 1m Bettung&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz      x2 #x10 #y2 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz-1    x2 #x10 #y3 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz-1    x2 #x10 #y3 #zfusz&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz      x2 #x10 #y2 #zfusz&lt;br /&gt;
&lt;br /&gt;
=== Kopplungen von Knoten ===&lt;br /&gt;
Kopplungen sollte man auf jeden Fall einer Gruppe zuordnen. Ggf. unterscheidet man noch nach den Richtungen.&lt;br /&gt;
&lt;br /&gt;
Bei der Verwendung von Kopplungen besteht immer wieder die Frage, wer auf wen gekoppelt wird oder ob das evtl. auch vollkommen bedeutungslos ist. Oft sind die damit verbundenen Fehlermeldung (üblicherweise erst beim ASE - Lauf) schwer zu interpretieren.&lt;br /&gt;
Die Regel lautet &#039;&#039;&#039;hin zum Auflager&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Bei der Kopplung von Knoten ist der Kopplungstyp hinter typ als LITERAL einzugeben. Das LITERAL darf hier aber nicht in Hochkomma gesetzt werden!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sptp&#039;&#039;&#039;    typ kf  grp 2   ref 300+#nr  $ Kopplung auf den Lagerknoten&lt;br /&gt;
&lt;br /&gt;
Außerdem kann man hier eine Gruppennnummer eingeben, was im Satz spt nicht möglich ist.&lt;br /&gt;
=== Kopplungen von Strukturflächen ===&lt;br /&gt;
Beispieldatei: C:\Glossar\S\Sofimshc&lt;br /&gt;
Beim Kopplung von Strukturflächen gibt es mehrere Varianten.&lt;br /&gt;
&lt;br /&gt;
Etwas knifflig wird es dann, wenn man zwischen den beiden Strukturflächen nicht nur flächige Kopplungen, sondern zusätzlich auch punktuelle Kopplungen generieren möchte.&lt;br /&gt;
&lt;br /&gt;
1. Zusammenwirken von SOFiMSHC und SOFiMSHA&lt;br /&gt;
&lt;br /&gt;
Hier gibt es ein schönes Beispiel im Beispielordner: C:\Program Files\SOFiSTiK\2025\SOFiSTiK 2025…Sofimshc\Flächenmodelle&lt;br /&gt;
&lt;br /&gt;
Nach der Generierung der beiden Flächen im SOFiMSHC werden diese anschließend in SOFiMSHA mittels &lt;br /&gt;
&lt;br /&gt;
Fede gruppe 1 gruppe 2 cl … ca… gekoppelt.&lt;br /&gt;
&lt;br /&gt;
Dabei werden aber nicht nur die Federn generiert, sondern auch Kopplungen, welche die Federn ansteuern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Nur mit SOFiMSHC&lt;br /&gt;
&lt;br /&gt;
Im SOFiMSHC gibt es den Satz sars, mit dem Parameter reft &amp;gt;sar ref nr. Das ist echt stark und man kann auch für die Kopplung eine Materialnummer auswählen.&lt;br /&gt;
Hier können aber Probleme auftreten, wenn die beiden Flächen topologisch nicht identisch sind. Der Parameter rctl=0 sollte diese Aufgabe lösen, funktioniert aber nicht wirklich. In einem solchen Fall geht es über SOFiMSHA.&lt;br /&gt;
&lt;br /&gt;
Wenn man nun noch zusätzlich einzelne Knoten koppeln möchte, so liegt es auf der Hand, einfach unter dem sar Befehl den Befehl sarb typ conc np nr zu verwenden. Diese Kopplungen werden aber mit dem sars – Befehl „zerschossen“.&lt;br /&gt;
&lt;br /&gt;
3. Trick&lt;br /&gt;
&lt;br /&gt;
Man kann das gesuchte Ergebnis dadurch erreichen, in dem man die Gesamtfläche in Teilflächen zerlegt und dabei die gekoppelten Knoten bei der sln Definition verwendet. Das ist zwar etwas mehr Programmieraufwand, funktioniert aber einwandfrei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Kopplung sar 1.jpg|System&lt;br /&gt;
Kopplung sar 2.jpg|sars&lt;br /&gt;
Kopplung sar 3.jpg|Teilflächen&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gelenkbedingungen an sln in Flächentragwerken ===&lt;br /&gt;
Gelegentlich brauch man Gelenkbedingungen entlang einer Strukturlinie zwischen zwei Flächen. Das typische Beispiel ist eine eche Raumfuge oder auch &amp;quot;Nut und Feder&amp;quot;.&lt;br /&gt;
Die nicht zu übertragenden Schnittgrößen werden im Satz SARB hinter FIX als Literal eingegeben.&lt;br /&gt;
&lt;br /&gt;
sar     nr 22    grp 10 mnr 1 mbw 11 qref &#039;oben&#039; cb -   ct -  nx 0    ny 0    nz -1    nra 7 t 0.7     bez &#039;#bez&#039; mctl &#039;regm&#039;  kr &#039;posx&#039;&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2012,2013,102&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2102               &#039;&#039;&#039;fix &#039;ppmm&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die sln nr 2102 überträger keine der sechs Schnittgrößen.&lt;br /&gt;
&lt;br /&gt;
Auch bei der Generierung von sln kann man solche Eigenschaften definieren, muss aber hierbei zwischen interen Knoten und den beiden Außenknoten unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Meiner Erfahrung nach, funktioniert das mit den Raumfugen nur dann, wenn die SAR, welche &amp;quot;dazukommt&amp;quot; die Angaben mit dem &#039;&#039;&#039;&#039;&#039;fix&#039;&#039;&#039;&#039;&#039; bekommt.&lt;br /&gt;
&lt;br /&gt;
=== Randelemente ===&lt;br /&gt;
Grundsätzlich ist jede Strukturline, welche in einer Gruppe &amp;gt;0 generiert wird, ein Randelement. Diese Randelemente kann man mit Maxima auswerten.&lt;br /&gt;
Da man einer sln auch eine Bezeichnung mitgeben kann, kann man das recht übersichtlich ausgeben.&lt;br /&gt;
&lt;br /&gt;
s. steu lsup&lt;br /&gt;
&lt;br /&gt;
=== System in mm ===&lt;br /&gt;
&lt;br /&gt;
Die Eingabe des Systems in Millimeter zu erledigen ist kein Problem. &lt;br /&gt;
&lt;br /&gt;
norm &#039;DIN&#039; &#039;en199x-200x&#039;  unit 6&lt;br /&gt;
&lt;br /&gt;
Will man nun auch noch die Ausgabe in der Systemgenerierung mm, so muß man das über die UNIT im SOFiMSHC einstellen.&lt;br /&gt;
&lt;br /&gt;
unit type 1001 &amp;quot;mm&amp;quot; dig 1    $ mm&lt;br /&gt;
&lt;br /&gt;
Die Tabelle der Konotenkoordinaten erschein jetzt in mm mit einer Nachkommastelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statisches System]]&lt;br /&gt;
[[Kategorie:SOFiMSHC]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13962</id>
		<title>C SOFiMSHC</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13962"/>
		<updated>2026-07-08T07:17:57Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Kopplungen von Strukturflächen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorbemerkungen ==&lt;br /&gt;
Das Modul SOFiMSHC dient der Generierung des statischen Models. Daneben werden Achsen erzeugt, welche für die Vorspannung bzw. die Verkehrslasten benötigt werden.&lt;br /&gt;
Hier trage ich meine Tipps und Kniffe für dieses Modul zusammen. Irgendwann bring ich da mal Ordnung rein. 🤣&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
=== regelmäßiges Netz ===&lt;br /&gt;
Man braucht das nicht wirklich, aber manchmal eben doch: eine ganz regelmäßige Vernetzung mit einer vorgegebenen Anzahl von Elementen an den Kanten. Das geht:&lt;br /&gt;
Grundsatz 1: Jede Kante wird in mindestens zwei Abschnitte unterteilt!&lt;br /&gt;
Grundsatz 2: Jede Linie wird in eine geradzahlige Anzahl von Abschnitten unterteilt (sln ... sdiv &#039;&#039;&#039;-geradzahlig&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Weiterhin kann man im sln - Satz bei styp das &amp;quot;Y&amp;quot; eingeben. Damit wird eine Linie dann doch nicht unterteilt; auch &amp;quot;BY&amp;quot; liefert das erhoffte Ergebnis: ein Stab zwischen zwei Knoten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im SOFiPLUS geht das auch recht gut:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Vernetzung anzahl der elemente.jpg|Anzahl der Elemente auswählen]]&lt;br /&gt;
&lt;br /&gt;
Für Teddyaner geht das mit der Geradzahligkeit z.Bsp. so:&lt;br /&gt;
&lt;br /&gt;
let#ny  #y/#hmin&lt;br /&gt;
&lt;br /&gt;
if div(#ny/2)&amp;gt;0&lt;br /&gt;
&lt;br /&gt;
    let#nya 2*(div((#ny)/2))+2&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    let#nya 2*(div((#ny)/2))&lt;br /&gt;
&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schnittpunkt zwei Achsen ===&lt;br /&gt;
Gelentlich braucht man den Schnittpunkt von zwei Achsen. Das funktioniert nur über Strukturlinien. Man definiert die beiden Strukturlinien über jeweils eine Achse; und der Schnittpunkt der beiden Strukturlinien ist der gesuchte Knoten.&lt;br /&gt;
&lt;br /&gt;
=== störende Knoten löschen ===&lt;br /&gt;
Im SOFiMSHC besteht keine Möglichkeit, Knoten zu löschen. Also gibt man diesen störenden Knoten eine &amp;quot;weit abliegende Koordinate&amp;quot; und legt mit steu deln 1 fest, das unbenutzte Elemente zu löschen sind.&lt;br /&gt;
=== Ausrichtung der Lager - Gruppennummer der Kopplungen ===&lt;br /&gt;
&lt;br /&gt;
Bei gekrümmten Überbauten ist die achsparallele Ausrichtung der Lager nicht mehr trivial.&lt;br /&gt;
&lt;br /&gt;
Es bietet sich der Befehl COOR an.&lt;br /&gt;
&lt;br /&gt;
coor typ AXIS id AXIS.N s 22.1160 &lt;br /&gt;
&lt;br /&gt;
Das funktioniert auch ganz gut, nur leider übernehmen die so generierten Knoten nicht das neue Koordinatensystem. Die lokalen Achsen der neuen Knoten übernehmen das globale KSS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man kann sich auch auf die Achse beziehen:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;ax&#039;        nref &#039;a1&#039;       sx #ue  sy #b  sz #z_lager     fix F-&amp;gt;200&lt;br /&gt;
&lt;br /&gt;
Diese Knoten übernehmen das gedrehte KSS, machen allerdings Schwierigkeiten bei den Lastfällen &amp;quot;Stützensenkung&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Am besten funktioniert ein Bezug auf den Knoten selbst:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;pt&#039;        nref 200       x 0     y +#b   z #z_lager     fix F-&amp;gt;200&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=10&lt;br /&gt;
                        4       cx      #cx10_2&lt;br /&gt;
                        5       cy      #cy10_2&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=110&lt;br /&gt;
                        6       cz      #cz&lt;br /&gt;
&lt;br /&gt;
Die neuen Knoten haben das lokale Koordinatensystem des referenzierten Knotens und Stützensenkungen lassen sich auch berechnen. Es ist sinnvoll, die Z-Komponente in eine separate Gruppe zu stecken. Somit kann man im WINGRAF recht gut das generierte Lagersystem darstellen.&lt;br /&gt;
Alle Kopplungen von Systemen, welche mit CSM weiterberechnet werden, sollten einer Gruppe zugewiesen werden (s. SPTP...GRP).&lt;br /&gt;
&lt;br /&gt;
=== Ausrichtung des KSS von Flächentragwerken ===&lt;br /&gt;
&lt;br /&gt;
Wenn man die Koordinatensysteme der QUAD-Elemente ausrichten muss (orthotrope Fahrbahnplatten), so bieten sich zwei Möglichkeiten an:&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Kreis&lt;br /&gt;
&lt;br /&gt;
Hier erfolgt die Ausreichtung auf den Kreismittelpunkt;&lt;br /&gt;
&lt;br /&gt;
sar nr 2        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;pt&#039; drx 4000 drot 90     &lt;br /&gt;
&lt;br /&gt;
Nachteilig an dieser Lösung ist, dass das Koordinatensystem im Animator riesig groß dargestellt wird!&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Klothoide&lt;br /&gt;
&lt;br /&gt;
Hier kann man die Koordinatensysteme der Quad-Elemente auf eine Strukturlinie ausrichten;&lt;br /&gt;
&lt;br /&gt;
sar nr 1        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;ln&#039; drx 105 drot 90&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrollen !!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Natürlich muss man den Winkel und die sich ergebenden Richtungen grafisch kontrollieren. Bei den orthotropen Platten ist streng nach x und y zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
=== Lastachsen aus Sekundärachsen erzeugen ===&lt;br /&gt;
Stand 10/2019! das soll zukünftig besser gehen&lt;br /&gt;
&lt;br /&gt;
Gelegentlich entwickelt man die Sekundärachsen nicht einfach durch eine konstante seitlich Versetztung der Primärachse. Dann hat diese Sekundärachse nicht nur keine eigene Stationierung, sondern sie taugt auch nicht als Lastachse!&lt;br /&gt;
&lt;br /&gt;
Die Lösung besteht darin, eine neue Achse aus der Geometrie dieser Nebenachse zu erzeugen. Diese beiden Achsen sind geometrisch deckungsgleich und die neue Achse ist eine Lastachse.&lt;br /&gt;
 &lt;br /&gt;
==== Definition der Sekundärachse AXIS.n ====&lt;br /&gt;
Der nachstehende Text zeigt, wie man an unterschiedlichen Stationen einen variablen Abstand zwischen der Sekundär- und der Primärachse definieren kann. Über den Typ &amp;quot;SPLI&amp;quot; ergibt sich die gesuchte Form.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;quot;GAXS&amp;quot; wird dann die Sekundärachse &amp;quot;AXIS.n&amp;quot; generiert.&lt;br /&gt;
&lt;br /&gt;
!*!Label nördl. Sekundärachse&lt;br /&gt;
$ Norden: der Abstand wird an vier Stationen über eine Variable gaxv vorgegeben typ=spli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s0 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s1 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s2 v -(1.625+0.335)       typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s3 v -(1.625+1.1)         typ spli&lt;br /&gt;
&lt;br /&gt;
gaxs    id &#039;AXIS&#039; ids &#039;n&#039; spt 200 y yn  bez &#039;nördl. Achse&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da &amp;quot;AXIS.N&amp;quot; im SOFiLOAD nix taugt, wird hier eine neue Achse &amp;quot;NORD&amp;quot; erzeugt. Durch das &amp;quot;ref &#039;AXIS.n&#039;&amp;quot; sind die beiden Achsen (fast) identisch. Mit der Stationierung muss man rumprobieren.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==== neue Lastachse NORD ====&lt;br /&gt;
&lt;br /&gt;
!*!Label Lastachsen&lt;br /&gt;
&lt;br /&gt;
let#typ &#039;lane&#039;&lt;br /&gt;
&lt;br /&gt;
gax  id &#039;NORD&#039; typ #typ bez &#039;NORD&#039;  ref &#039;AXIS.n&#039; typc spli&lt;br /&gt;
&lt;br /&gt;
let#l_n 77.982          $ Länge der AXIS.n aus dem Result Viewer&lt;br /&gt;
&lt;br /&gt;
                        $ zur Kontrolle dienen die Koordinaten des Knotens 4200&lt;br /&gt;
&lt;br /&gt;
                        $ diese NURB&#039;s werden ohne Stationierung ausgegeben...sollte aber bei etwa 77.982 enden&lt;br /&gt;
&lt;br /&gt;
loop#i div(#l_n/1)+2    $ probieren! $ im SOFiLOAD wird die &amp;quot;Gesamtlänge&amp;quot; und die Stationierung ausgegeben&lt;br /&gt;
&lt;br /&gt;
        gaxc  x 0+#i    y 0     z 0&lt;br /&gt;
&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
=== SAR NR RROP ===&lt;br /&gt;
Gelegentlich ergibt sich die Forderung, eine Strukturfläche in einem bestimmten örtlich begrenzten Bereich zu verändern:&lt;br /&gt;
&lt;br /&gt;
    Dicke&lt;br /&gt;
&lt;br /&gt;
    Gruppennummer&lt;br /&gt;
&lt;br /&gt;
    Bettung&lt;br /&gt;
&lt;br /&gt;
    Material...&lt;br /&gt;
&lt;br /&gt;
Dazu gibt es den Befehl &#039;&#039;&#039;sar nr prop&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Eine Strukturfläche (Nr. 115) ist bereits (ohne Bettung) definiert. Nun soll noch der Bereich von 1m mit cb gebettet werden.&lt;br /&gt;
&lt;br /&gt;
sar nr 115 grp 2 mnr 4 nra 7 qref mitt cb 0 ct 0 mctl 1 t #tm bez &#039;2 - W5&#039;&lt;br /&gt;
&lt;br /&gt;
sarb typ aus nl 459,414,460,461&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sar  nr prop cb #cbsandu bez &amp;quot;nur 1m Bettung&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz      x2 #x10 #y2 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz-1    x2 #x10 #y3 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz-1    x2 #x10 #y3 #zfusz&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz      x2 #x10 #y2 #zfusz&lt;br /&gt;
&lt;br /&gt;
=== Kopplungen von Knoten ===&lt;br /&gt;
Kopplungen sollte man auf jeden Fall einer Gruppe zuordnen. Ggf. unterscheidet man noch nach den Richtungen.&lt;br /&gt;
&lt;br /&gt;
Bei der Verwendung von Kopplungen besteht immer wieder die Frage, wer auf wen gekoppelt wird oder ob das evtl. auch vollkommen bedeutungslos ist. Oft sind die damit verbundenen Fehlermeldung (üblicherweise erst beim ASE - Lauf) schwer zu interpretieren.&lt;br /&gt;
Die Regel lautet &#039;&#039;&#039;hin zum Auflager&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Bei der Kopplung von Knoten ist der Kopplungstyp hinter typ als LITERAL einzugeben. Das LITERAL darf hier aber nicht in Hochkomma gesetzt werden!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sptp&#039;&#039;&#039;    typ kf  grp 2   ref 300+#nr  $ Kopplung auf den Lagerknoten&lt;br /&gt;
&lt;br /&gt;
Außerdem kann man hier eine Gruppennnummer eingeben, was im Satz spt nicht möglich ist.&lt;br /&gt;
=== Kopplungen von Strukturflächen ===&lt;br /&gt;
Beispieldatei: C:\Glossar\S\Sofimshc&lt;br /&gt;
Beim Kopplung von Strukturflächen gibt es mehrere Varianten.&lt;br /&gt;
&lt;br /&gt;
Etwas knifflig wird es dann, wenn man zwischen den beiden Strukturflächen nicht nur flächige Kopplungen, sondern zusätzlich auch punktuelle Kopplungen generieren möchte.&lt;br /&gt;
&lt;br /&gt;
1. Zusammenwirken von SOFiMSHC und SOFiMSHA&lt;br /&gt;
&lt;br /&gt;
Hier gibt es ein schönes Beispiel im Beispielordner: C:\Program Files\SOFiSTiK\2025\SOFiSTiK 2025…Sofimshc\Flächenmodelle&lt;br /&gt;
&lt;br /&gt;
Nach der Generierung der beiden Flächen im SOFiMSHC werden diese anschließend in SOFiMSHA mittels &lt;br /&gt;
&lt;br /&gt;
Fede gruppe 1 gruppe 2 cl … ca… gekoppelt.&lt;br /&gt;
&lt;br /&gt;
2. Nur mit SOFiMSHC&lt;br /&gt;
&lt;br /&gt;
Im SOFiMSHC gibt es den Satz sars, mit dem Parameter reft &amp;gt;sar ref nr. Das ist echt stark und man kann auch für die Kopplung eine Materialnummer auswählen.&lt;br /&gt;
Hier können aber Probleme auftreten, wenn die beiden Flächen topologisch nicht identisch sind. Der Parameter rctl=0 sollte diese Aufgabe lösen, funktioniert aber nicht wirklich. In einem solchen Fall geht es über SOFiMSHA.&lt;br /&gt;
&lt;br /&gt;
Wenn man nun noch zusätzlich einzelne Knoten koppeln möchte, so liegt es auf der Hand, einfach unter dem sar Befehl den Befehl sarb typ conc np nr zu verwenden. Diese Kopplungen werden aber mit dem sars – Befehl „zerschossen“.&lt;br /&gt;
&lt;br /&gt;
3. Trick&lt;br /&gt;
&lt;br /&gt;
Man kann das gesuchte Ergebnis dadurch erreichen, in dem man die Gesamtfläche in Teilflächen zerlegt und dabei die gekoppelten Knoten bei der sln Definition verwendet. Das ist zwar etwas mehr Programmieraufwand, funktioniert aber einwandfrei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Kopplung sar 1.jpg|System&lt;br /&gt;
Kopplung sar 2.jpg|sars&lt;br /&gt;
Kopplung sar 3.jpg|Teilflächen&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gelenkbedingungen an sln in Flächentragwerken ===&lt;br /&gt;
Gelegentlich brauch man Gelenkbedingungen entlang einer Strukturlinie zwischen zwei Flächen. Das typische Beispiel ist eine eche Raumfuge oder auch &amp;quot;Nut und Feder&amp;quot;.&lt;br /&gt;
Die nicht zu übertragenden Schnittgrößen werden im Satz SARB hinter FIX als Literal eingegeben.&lt;br /&gt;
&lt;br /&gt;
sar     nr 22    grp 10 mnr 1 mbw 11 qref &#039;oben&#039; cb -   ct -  nx 0    ny 0    nz -1    nra 7 t 0.7     bez &#039;#bez&#039; mctl &#039;regm&#039;  kr &#039;posx&#039;&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2012,2013,102&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2102               &#039;&#039;&#039;fix &#039;ppmm&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die sln nr 2102 überträger keine der sechs Schnittgrößen.&lt;br /&gt;
&lt;br /&gt;
Auch bei der Generierung von sln kann man solche Eigenschaften definieren, muss aber hierbei zwischen interen Knoten und den beiden Außenknoten unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Meiner Erfahrung nach, funktioniert das mit den Raumfugen nur dann, wenn die SAR, welche &amp;quot;dazukommt&amp;quot; die Angaben mit dem &#039;&#039;&#039;&#039;&#039;fix&#039;&#039;&#039;&#039;&#039; bekommt.&lt;br /&gt;
&lt;br /&gt;
=== Randelemente ===&lt;br /&gt;
Grundsätzlich ist jede Strukturline, welche in einer Gruppe &amp;gt;0 generiert wird, ein Randelement. Diese Randelemente kann man mit Maxima auswerten.&lt;br /&gt;
Da man einer sln auch eine Bezeichnung mitgeben kann, kann man das recht übersichtlich ausgeben.&lt;br /&gt;
&lt;br /&gt;
s. steu lsup&lt;br /&gt;
&lt;br /&gt;
=== System in mm ===&lt;br /&gt;
&lt;br /&gt;
Die Eingabe des Systems in Millimeter zu erledigen ist kein Problem. &lt;br /&gt;
&lt;br /&gt;
norm &#039;DIN&#039; &#039;en199x-200x&#039;  unit 6&lt;br /&gt;
&lt;br /&gt;
Will man nun auch noch die Ausgabe in der Systemgenerierung mm, so muß man das über die UNIT im SOFiMSHC einstellen.&lt;br /&gt;
&lt;br /&gt;
unit type 1001 &amp;quot;mm&amp;quot; dig 1    $ mm&lt;br /&gt;
&lt;br /&gt;
Die Tabelle der Konotenkoordinaten erschein jetzt in mm mit einer Nachkommastelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statisches System]]&lt;br /&gt;
[[Kategorie:SOFiMSHC]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13961</id>
		<title>C SOFiMSHC</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13961"/>
		<updated>2026-07-08T07:17:26Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Kopplungen von Strukturflächen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorbemerkungen ==&lt;br /&gt;
Das Modul SOFiMSHC dient der Generierung des statischen Models. Daneben werden Achsen erzeugt, welche für die Vorspannung bzw. die Verkehrslasten benötigt werden.&lt;br /&gt;
Hier trage ich meine Tipps und Kniffe für dieses Modul zusammen. Irgendwann bring ich da mal Ordnung rein. 🤣&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
=== regelmäßiges Netz ===&lt;br /&gt;
Man braucht das nicht wirklich, aber manchmal eben doch: eine ganz regelmäßige Vernetzung mit einer vorgegebenen Anzahl von Elementen an den Kanten. Das geht:&lt;br /&gt;
Grundsatz 1: Jede Kante wird in mindestens zwei Abschnitte unterteilt!&lt;br /&gt;
Grundsatz 2: Jede Linie wird in eine geradzahlige Anzahl von Abschnitten unterteilt (sln ... sdiv &#039;&#039;&#039;-geradzahlig&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Weiterhin kann man im sln - Satz bei styp das &amp;quot;Y&amp;quot; eingeben. Damit wird eine Linie dann doch nicht unterteilt; auch &amp;quot;BY&amp;quot; liefert das erhoffte Ergebnis: ein Stab zwischen zwei Knoten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im SOFiPLUS geht das auch recht gut:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Vernetzung anzahl der elemente.jpg|Anzahl der Elemente auswählen]]&lt;br /&gt;
&lt;br /&gt;
Für Teddyaner geht das mit der Geradzahligkeit z.Bsp. so:&lt;br /&gt;
&lt;br /&gt;
let#ny  #y/#hmin&lt;br /&gt;
&lt;br /&gt;
if div(#ny/2)&amp;gt;0&lt;br /&gt;
&lt;br /&gt;
    let#nya 2*(div((#ny)/2))+2&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    let#nya 2*(div((#ny)/2))&lt;br /&gt;
&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schnittpunkt zwei Achsen ===&lt;br /&gt;
Gelentlich braucht man den Schnittpunkt von zwei Achsen. Das funktioniert nur über Strukturlinien. Man definiert die beiden Strukturlinien über jeweils eine Achse; und der Schnittpunkt der beiden Strukturlinien ist der gesuchte Knoten.&lt;br /&gt;
&lt;br /&gt;
=== störende Knoten löschen ===&lt;br /&gt;
Im SOFiMSHC besteht keine Möglichkeit, Knoten zu löschen. Also gibt man diesen störenden Knoten eine &amp;quot;weit abliegende Koordinate&amp;quot; und legt mit steu deln 1 fest, das unbenutzte Elemente zu löschen sind.&lt;br /&gt;
=== Ausrichtung der Lager - Gruppennummer der Kopplungen ===&lt;br /&gt;
&lt;br /&gt;
Bei gekrümmten Überbauten ist die achsparallele Ausrichtung der Lager nicht mehr trivial.&lt;br /&gt;
&lt;br /&gt;
Es bietet sich der Befehl COOR an.&lt;br /&gt;
&lt;br /&gt;
coor typ AXIS id AXIS.N s 22.1160 &lt;br /&gt;
&lt;br /&gt;
Das funktioniert auch ganz gut, nur leider übernehmen die so generierten Knoten nicht das neue Koordinatensystem. Die lokalen Achsen der neuen Knoten übernehmen das globale KSS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man kann sich auch auf die Achse beziehen:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;ax&#039;        nref &#039;a1&#039;       sx #ue  sy #b  sz #z_lager     fix F-&amp;gt;200&lt;br /&gt;
&lt;br /&gt;
Diese Knoten übernehmen das gedrehte KSS, machen allerdings Schwierigkeiten bei den Lastfällen &amp;quot;Stützensenkung&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Am besten funktioniert ein Bezug auf den Knoten selbst:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;pt&#039;        nref 200       x 0     y +#b   z #z_lager     fix F-&amp;gt;200&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=10&lt;br /&gt;
                        4       cx      #cx10_2&lt;br /&gt;
                        5       cy      #cy10_2&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=110&lt;br /&gt;
                        6       cz      #cz&lt;br /&gt;
&lt;br /&gt;
Die neuen Knoten haben das lokale Koordinatensystem des referenzierten Knotens und Stützensenkungen lassen sich auch berechnen. Es ist sinnvoll, die Z-Komponente in eine separate Gruppe zu stecken. Somit kann man im WINGRAF recht gut das generierte Lagersystem darstellen.&lt;br /&gt;
Alle Kopplungen von Systemen, welche mit CSM weiterberechnet werden, sollten einer Gruppe zugewiesen werden (s. SPTP...GRP).&lt;br /&gt;
&lt;br /&gt;
=== Ausrichtung des KSS von Flächentragwerken ===&lt;br /&gt;
&lt;br /&gt;
Wenn man die Koordinatensysteme der QUAD-Elemente ausrichten muss (orthotrope Fahrbahnplatten), so bieten sich zwei Möglichkeiten an:&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Kreis&lt;br /&gt;
&lt;br /&gt;
Hier erfolgt die Ausreichtung auf den Kreismittelpunkt;&lt;br /&gt;
&lt;br /&gt;
sar nr 2        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;pt&#039; drx 4000 drot 90     &lt;br /&gt;
&lt;br /&gt;
Nachteilig an dieser Lösung ist, dass das Koordinatensystem im Animator riesig groß dargestellt wird!&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Klothoide&lt;br /&gt;
&lt;br /&gt;
Hier kann man die Koordinatensysteme der Quad-Elemente auf eine Strukturlinie ausrichten;&lt;br /&gt;
&lt;br /&gt;
sar nr 1        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;ln&#039; drx 105 drot 90&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrollen !!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Natürlich muss man den Winkel und die sich ergebenden Richtungen grafisch kontrollieren. Bei den orthotropen Platten ist streng nach x und y zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
=== Lastachsen aus Sekundärachsen erzeugen ===&lt;br /&gt;
Stand 10/2019! das soll zukünftig besser gehen&lt;br /&gt;
&lt;br /&gt;
Gelegentlich entwickelt man die Sekundärachsen nicht einfach durch eine konstante seitlich Versetztung der Primärachse. Dann hat diese Sekundärachse nicht nur keine eigene Stationierung, sondern sie taugt auch nicht als Lastachse!&lt;br /&gt;
&lt;br /&gt;
Die Lösung besteht darin, eine neue Achse aus der Geometrie dieser Nebenachse zu erzeugen. Diese beiden Achsen sind geometrisch deckungsgleich und die neue Achse ist eine Lastachse.&lt;br /&gt;
 &lt;br /&gt;
==== Definition der Sekundärachse AXIS.n ====&lt;br /&gt;
Der nachstehende Text zeigt, wie man an unterschiedlichen Stationen einen variablen Abstand zwischen der Sekundär- und der Primärachse definieren kann. Über den Typ &amp;quot;SPLI&amp;quot; ergibt sich die gesuchte Form.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;quot;GAXS&amp;quot; wird dann die Sekundärachse &amp;quot;AXIS.n&amp;quot; generiert.&lt;br /&gt;
&lt;br /&gt;
!*!Label nördl. Sekundärachse&lt;br /&gt;
$ Norden: der Abstand wird an vier Stationen über eine Variable gaxv vorgegeben typ=spli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s0 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s1 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s2 v -(1.625+0.335)       typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s3 v -(1.625+1.1)         typ spli&lt;br /&gt;
&lt;br /&gt;
gaxs    id &#039;AXIS&#039; ids &#039;n&#039; spt 200 y yn  bez &#039;nördl. Achse&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da &amp;quot;AXIS.N&amp;quot; im SOFiLOAD nix taugt, wird hier eine neue Achse &amp;quot;NORD&amp;quot; erzeugt. Durch das &amp;quot;ref &#039;AXIS.n&#039;&amp;quot; sind die beiden Achsen (fast) identisch. Mit der Stationierung muss man rumprobieren.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==== neue Lastachse NORD ====&lt;br /&gt;
&lt;br /&gt;
!*!Label Lastachsen&lt;br /&gt;
&lt;br /&gt;
let#typ &#039;lane&#039;&lt;br /&gt;
&lt;br /&gt;
gax  id &#039;NORD&#039; typ #typ bez &#039;NORD&#039;  ref &#039;AXIS.n&#039; typc spli&lt;br /&gt;
&lt;br /&gt;
let#l_n 77.982          $ Länge der AXIS.n aus dem Result Viewer&lt;br /&gt;
&lt;br /&gt;
                        $ zur Kontrolle dienen die Koordinaten des Knotens 4200&lt;br /&gt;
&lt;br /&gt;
                        $ diese NURB&#039;s werden ohne Stationierung ausgegeben...sollte aber bei etwa 77.982 enden&lt;br /&gt;
&lt;br /&gt;
loop#i div(#l_n/1)+2    $ probieren! $ im SOFiLOAD wird die &amp;quot;Gesamtlänge&amp;quot; und die Stationierung ausgegeben&lt;br /&gt;
&lt;br /&gt;
        gaxc  x 0+#i    y 0     z 0&lt;br /&gt;
&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
=== SAR NR RROP ===&lt;br /&gt;
Gelegentlich ergibt sich die Forderung, eine Strukturfläche in einem bestimmten örtlich begrenzten Bereich zu verändern:&lt;br /&gt;
&lt;br /&gt;
    Dicke&lt;br /&gt;
&lt;br /&gt;
    Gruppennummer&lt;br /&gt;
&lt;br /&gt;
    Bettung&lt;br /&gt;
&lt;br /&gt;
    Material...&lt;br /&gt;
&lt;br /&gt;
Dazu gibt es den Befehl &#039;&#039;&#039;sar nr prop&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Eine Strukturfläche (Nr. 115) ist bereits (ohne Bettung) definiert. Nun soll noch der Bereich von 1m mit cb gebettet werden.&lt;br /&gt;
&lt;br /&gt;
sar nr 115 grp 2 mnr 4 nra 7 qref mitt cb 0 ct 0 mctl 1 t #tm bez &#039;2 - W5&#039;&lt;br /&gt;
&lt;br /&gt;
sarb typ aus nl 459,414,460,461&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sar  nr prop cb #cbsandu bez &amp;quot;nur 1m Bettung&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz      x2 #x10 #y2 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz-1    x2 #x10 #y3 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz-1    x2 #x10 #y3 #zfusz&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz      x2 #x10 #y2 #zfusz&lt;br /&gt;
&lt;br /&gt;
=== Kopplungen von Knoten ===&lt;br /&gt;
Kopplungen sollte man auf jeden Fall einer Gruppe zuordnen. Ggf. unterscheidet man noch nach den Richtungen.&lt;br /&gt;
&lt;br /&gt;
Bei der Verwendung von Kopplungen besteht immer wieder die Frage, wer auf wen gekoppelt wird oder ob das evtl. auch vollkommen bedeutungslos ist. Oft sind die damit verbundenen Fehlermeldung (üblicherweise erst beim ASE - Lauf) schwer zu interpretieren.&lt;br /&gt;
Die Regel lautet &#039;&#039;&#039;hin zum Auflager&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Bei der Kopplung von Knoten ist der Kopplungstyp hinter typ als LITERAL einzugeben. Das LITERAL darf hier aber nicht in Hochkomma gesetzt werden!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sptp&#039;&#039;&#039;    typ kf  grp 2   ref 300+#nr  $ Kopplung auf den Lagerknoten&lt;br /&gt;
&lt;br /&gt;
Außerdem kann man hier eine Gruppennnummer eingeben, was im Satz spt nicht möglich ist.&lt;br /&gt;
=== Kopplungen von Strukturflächen ===&lt;br /&gt;
Beispieldatei: C:\Glossar\S\Sofimshc&lt;br /&gt;
Beim Kopplung von Strukturflächen gibt es mehrere Varianten.&lt;br /&gt;
&lt;br /&gt;
Etwas knifflig wird es dann, wenn man zwischen den beiden Strukturflächen nicht nur flächige Kopplungen, sondern zusätzlich auch punktuelle Kopplungen generieren möchte.&lt;br /&gt;
&lt;br /&gt;
1. Zusammenwirken von SOFiMSHC und SOFiMSHA&lt;br /&gt;
&lt;br /&gt;
Hier gibt es ein schönes Beispiel im Beispielordner: C:\Program Files\SOFiSTiK\2025\SOFiSTiK 2025…Sofimshc\Flächenmodelle&lt;br /&gt;
&lt;br /&gt;
Nach der Generierung der beiden Flächen im SOFiMSHC werden diese anschließend in SOFiMSHA mittels &lt;br /&gt;
&lt;br /&gt;
Fede gruppe 1 gruppe 2 cl … ca… gekoppelt.&lt;br /&gt;
&lt;br /&gt;
2. Nur mit SOFiMSHC&lt;br /&gt;
&lt;br /&gt;
Im SOFiMSHC gibt es den Satz sars, mit dem Parameter reft &amp;gt;sar ref nr. Das ist echt stark und man kann auch für die Kopplung eine Materialnummer auswählen.&lt;br /&gt;
Hier können aber Probleme auftreten, wenn die beiden Flächen topologisch nicht identisch sind. Der Parameter rctl=0 sollte diese Aufgabe lösen, funktioniert aber nicht wirklich. In einem solchen Fall geht es über SSOFiMSHA.&lt;br /&gt;
&lt;br /&gt;
Wenn man nun noch zusätzlich einzelne Knoten koppeln möchte, so liegt es auf der Hand, einfach unter dem sar Befehl den Befehl sarb typ conc np nr zu verwenden. Diese Kopplungen werden aber mit dem sars – Befehl „zerschossen“.&lt;br /&gt;
&lt;br /&gt;
3. Trick&lt;br /&gt;
&lt;br /&gt;
Man kann das gesuchte Ergebnis dadurch erreichen, in dem man die Gesamtfläche in Teilflächen zerlegt und dabei die gekoppelten Knoten bei der sln Definition verwendet. Das ist zwar etwas mehr Programmieraufwand, funktioniert aber einwandfrei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Kopplung sar 1.jpg|System&lt;br /&gt;
Kopplung sar 2.jpg|sars&lt;br /&gt;
Kopplung sar 3.jpg|Teilflächen&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gelenkbedingungen an sln in Flächentragwerken ===&lt;br /&gt;
Gelegentlich brauch man Gelenkbedingungen entlang einer Strukturlinie zwischen zwei Flächen. Das typische Beispiel ist eine eche Raumfuge oder auch &amp;quot;Nut und Feder&amp;quot;.&lt;br /&gt;
Die nicht zu übertragenden Schnittgrößen werden im Satz SARB hinter FIX als Literal eingegeben.&lt;br /&gt;
&lt;br /&gt;
sar     nr 22    grp 10 mnr 1 mbw 11 qref &#039;oben&#039; cb -   ct -  nx 0    ny 0    nz -1    nra 7 t 0.7     bez &#039;#bez&#039; mctl &#039;regm&#039;  kr &#039;posx&#039;&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2012,2013,102&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2102               &#039;&#039;&#039;fix &#039;ppmm&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die sln nr 2102 überträger keine der sechs Schnittgrößen.&lt;br /&gt;
&lt;br /&gt;
Auch bei der Generierung von sln kann man solche Eigenschaften definieren, muss aber hierbei zwischen interen Knoten und den beiden Außenknoten unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Meiner Erfahrung nach, funktioniert das mit den Raumfugen nur dann, wenn die SAR, welche &amp;quot;dazukommt&amp;quot; die Angaben mit dem &#039;&#039;&#039;&#039;&#039;fix&#039;&#039;&#039;&#039;&#039; bekommt.&lt;br /&gt;
&lt;br /&gt;
=== Randelemente ===&lt;br /&gt;
Grundsätzlich ist jede Strukturline, welche in einer Gruppe &amp;gt;0 generiert wird, ein Randelement. Diese Randelemente kann man mit Maxima auswerten.&lt;br /&gt;
Da man einer sln auch eine Bezeichnung mitgeben kann, kann man das recht übersichtlich ausgeben.&lt;br /&gt;
&lt;br /&gt;
s. steu lsup&lt;br /&gt;
&lt;br /&gt;
=== System in mm ===&lt;br /&gt;
&lt;br /&gt;
Die Eingabe des Systems in Millimeter zu erledigen ist kein Problem. &lt;br /&gt;
&lt;br /&gt;
norm &#039;DIN&#039; &#039;en199x-200x&#039;  unit 6&lt;br /&gt;
&lt;br /&gt;
Will man nun auch noch die Ausgabe in der Systemgenerierung mm, so muß man das über die UNIT im SOFiMSHC einstellen.&lt;br /&gt;
&lt;br /&gt;
unit type 1001 &amp;quot;mm&amp;quot; dig 1    $ mm&lt;br /&gt;
&lt;br /&gt;
Die Tabelle der Konotenkoordinaten erschein jetzt in mm mit einer Nachkommastelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statisches System]]&lt;br /&gt;
[[Kategorie:SOFiMSHC]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13960</id>
		<title>C SOFiMSHC</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13960"/>
		<updated>2026-07-03T12:07:45Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorbemerkungen ==&lt;br /&gt;
Das Modul SOFiMSHC dient der Generierung des statischen Models. Daneben werden Achsen erzeugt, welche für die Vorspannung bzw. die Verkehrslasten benötigt werden.&lt;br /&gt;
Hier trage ich meine Tipps und Kniffe für dieses Modul zusammen. Irgendwann bring ich da mal Ordnung rein. 🤣&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
=== regelmäßiges Netz ===&lt;br /&gt;
Man braucht das nicht wirklich, aber manchmal eben doch: eine ganz regelmäßige Vernetzung mit einer vorgegebenen Anzahl von Elementen an den Kanten. Das geht:&lt;br /&gt;
Grundsatz 1: Jede Kante wird in mindestens zwei Abschnitte unterteilt!&lt;br /&gt;
Grundsatz 2: Jede Linie wird in eine geradzahlige Anzahl von Abschnitten unterteilt (sln ... sdiv &#039;&#039;&#039;-geradzahlig&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Weiterhin kann man im sln - Satz bei styp das &amp;quot;Y&amp;quot; eingeben. Damit wird eine Linie dann doch nicht unterteilt; auch &amp;quot;BY&amp;quot; liefert das erhoffte Ergebnis: ein Stab zwischen zwei Knoten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im SOFiPLUS geht das auch recht gut:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Vernetzung anzahl der elemente.jpg|Anzahl der Elemente auswählen]]&lt;br /&gt;
&lt;br /&gt;
Für Teddyaner geht das mit der Geradzahligkeit z.Bsp. so:&lt;br /&gt;
&lt;br /&gt;
let#ny  #y/#hmin&lt;br /&gt;
&lt;br /&gt;
if div(#ny/2)&amp;gt;0&lt;br /&gt;
&lt;br /&gt;
    let#nya 2*(div((#ny)/2))+2&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
&lt;br /&gt;
    let#nya 2*(div((#ny)/2))&lt;br /&gt;
&lt;br /&gt;
endif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Schnittpunkt zwei Achsen ===&lt;br /&gt;
Gelentlich braucht man den Schnittpunkt von zwei Achsen. Das funktioniert nur über Strukturlinien. Man definiert die beiden Strukturlinien über jeweils eine Achse; und der Schnittpunkt der beiden Strukturlinien ist der gesuchte Knoten.&lt;br /&gt;
&lt;br /&gt;
=== störende Knoten löschen ===&lt;br /&gt;
Im SOFiMSHC besteht keine Möglichkeit, Knoten zu löschen. Also gibt man diesen störenden Knoten eine &amp;quot;weit abliegende Koordinate&amp;quot; und legt mit steu deln 1 fest, das unbenutzte Elemente zu löschen sind.&lt;br /&gt;
=== Ausrichtung der Lager - Gruppennummer der Kopplungen ===&lt;br /&gt;
&lt;br /&gt;
Bei gekrümmten Überbauten ist die achsparallele Ausrichtung der Lager nicht mehr trivial.&lt;br /&gt;
&lt;br /&gt;
Es bietet sich der Befehl COOR an.&lt;br /&gt;
&lt;br /&gt;
coor typ AXIS id AXIS.N s 22.1160 &lt;br /&gt;
&lt;br /&gt;
Das funktioniert auch ganz gut, nur leider übernehmen die so generierten Knoten nicht das neue Koordinatensystem. Die lokalen Achsen der neuen Knoten übernehmen das globale KSS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man kann sich auch auf die Achse beziehen:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;ax&#039;        nref &#039;a1&#039;       sx #ue  sy #b  sz #z_lager     fix F-&amp;gt;200&lt;br /&gt;
&lt;br /&gt;
Diese Knoten übernehmen das gedrehte KSS, machen allerdings Schwierigkeiten bei den Lastfällen &amp;quot;Stützensenkung&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Am besten funktioniert ein Bezug auf den Knoten selbst:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;pt&#039;        nref 200       x 0     y +#b   z #z_lager     fix F-&amp;gt;200&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=10&lt;br /&gt;
                        4       cx      #cx10_2&lt;br /&gt;
                        5       cy      #cy10_2&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=110&lt;br /&gt;
                        6       cz      #cz&lt;br /&gt;
&lt;br /&gt;
Die neuen Knoten haben das lokale Koordinatensystem des referenzierten Knotens und Stützensenkungen lassen sich auch berechnen. Es ist sinnvoll, die Z-Komponente in eine separate Gruppe zu stecken. Somit kann man im WINGRAF recht gut das generierte Lagersystem darstellen.&lt;br /&gt;
Alle Kopplungen von Systemen, welche mit CSM weiterberechnet werden, sollten einer Gruppe zugewiesen werden (s. SPTP...GRP).&lt;br /&gt;
&lt;br /&gt;
=== Ausrichtung des KSS von Flächentragwerken ===&lt;br /&gt;
&lt;br /&gt;
Wenn man die Koordinatensysteme der QUAD-Elemente ausrichten muss (orthotrope Fahrbahnplatten), so bieten sich zwei Möglichkeiten an:&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Kreis&lt;br /&gt;
&lt;br /&gt;
Hier erfolgt die Ausreichtung auf den Kreismittelpunkt;&lt;br /&gt;
&lt;br /&gt;
sar nr 2        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;pt&#039; drx 4000 drot 90     &lt;br /&gt;
&lt;br /&gt;
Nachteilig an dieser Lösung ist, dass das Koordinatensystem im Animator riesig groß dargestellt wird!&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Klothoide&lt;br /&gt;
&lt;br /&gt;
Hier kann man die Koordinatensysteme der Quad-Elemente auf eine Strukturlinie ausrichten;&lt;br /&gt;
&lt;br /&gt;
sar nr 1        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;ln&#039; drx 105 drot 90&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrollen !!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Natürlich muss man den Winkel und die sich ergebenden Richtungen grafisch kontrollieren. Bei den orthotropen Platten ist streng nach x und y zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
=== Lastachsen aus Sekundärachsen erzeugen ===&lt;br /&gt;
Stand 10/2019! das soll zukünftig besser gehen&lt;br /&gt;
&lt;br /&gt;
Gelegentlich entwickelt man die Sekundärachsen nicht einfach durch eine konstante seitlich Versetztung der Primärachse. Dann hat diese Sekundärachse nicht nur keine eigene Stationierung, sondern sie taugt auch nicht als Lastachse!&lt;br /&gt;
&lt;br /&gt;
Die Lösung besteht darin, eine neue Achse aus der Geometrie dieser Nebenachse zu erzeugen. Diese beiden Achsen sind geometrisch deckungsgleich und die neue Achse ist eine Lastachse.&lt;br /&gt;
 &lt;br /&gt;
==== Definition der Sekundärachse AXIS.n ====&lt;br /&gt;
Der nachstehende Text zeigt, wie man an unterschiedlichen Stationen einen variablen Abstand zwischen der Sekundär- und der Primärachse definieren kann. Über den Typ &amp;quot;SPLI&amp;quot; ergibt sich die gesuchte Form.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;quot;GAXS&amp;quot; wird dann die Sekundärachse &amp;quot;AXIS.n&amp;quot; generiert.&lt;br /&gt;
&lt;br /&gt;
!*!Label nördl. Sekundärachse&lt;br /&gt;
$ Norden: der Abstand wird an vier Stationen über eine Variable gaxv vorgegeben typ=spli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s0 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s1 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s2 v -(1.625+0.335)       typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s3 v -(1.625+1.1)         typ spli&lt;br /&gt;
&lt;br /&gt;
gaxs    id &#039;AXIS&#039; ids &#039;n&#039; spt 200 y yn  bez &#039;nördl. Achse&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da &amp;quot;AXIS.N&amp;quot; im SOFiLOAD nix taugt, wird hier eine neue Achse &amp;quot;NORD&amp;quot; erzeugt. Durch das &amp;quot;ref &#039;AXIS.n&#039;&amp;quot; sind die beiden Achsen (fast) identisch. Mit der Stationierung muss man rumprobieren.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==== neue Lastachse NORD ====&lt;br /&gt;
&lt;br /&gt;
!*!Label Lastachsen&lt;br /&gt;
&lt;br /&gt;
let#typ &#039;lane&#039;&lt;br /&gt;
&lt;br /&gt;
gax  id &#039;NORD&#039; typ #typ bez &#039;NORD&#039;  ref &#039;AXIS.n&#039; typc spli&lt;br /&gt;
&lt;br /&gt;
let#l_n 77.982          $ Länge der AXIS.n aus dem Result Viewer&lt;br /&gt;
&lt;br /&gt;
                        $ zur Kontrolle dienen die Koordinaten des Knotens 4200&lt;br /&gt;
&lt;br /&gt;
                        $ diese NURB&#039;s werden ohne Stationierung ausgegeben...sollte aber bei etwa 77.982 enden&lt;br /&gt;
&lt;br /&gt;
loop#i div(#l_n/1)+2    $ probieren! $ im SOFiLOAD wird die &amp;quot;Gesamtlänge&amp;quot; und die Stationierung ausgegeben&lt;br /&gt;
&lt;br /&gt;
        gaxc  x 0+#i    y 0     z 0&lt;br /&gt;
&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
=== SAR NR RROP ===&lt;br /&gt;
Gelegentlich ergibt sich die Forderung, eine Strukturfläche in einem bestimmten örtlich begrenzten Bereich zu verändern:&lt;br /&gt;
&lt;br /&gt;
    Dicke&lt;br /&gt;
&lt;br /&gt;
    Gruppennummer&lt;br /&gt;
&lt;br /&gt;
    Bettung&lt;br /&gt;
&lt;br /&gt;
    Material...&lt;br /&gt;
&lt;br /&gt;
Dazu gibt es den Befehl &#039;&#039;&#039;sar nr prop&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Eine Strukturfläche (Nr. 115) ist bereits (ohne Bettung) definiert. Nun soll noch der Bereich von 1m mit cb gebettet werden.&lt;br /&gt;
&lt;br /&gt;
sar nr 115 grp 2 mnr 4 nra 7 qref mitt cb 0 ct 0 mctl 1 t #tm bez &#039;2 - W5&#039;&lt;br /&gt;
&lt;br /&gt;
sarb typ aus nl 459,414,460,461&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sar  nr prop cb #cbsandu bez &amp;quot;nur 1m Bettung&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz      x2 #x10 #y2 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz-1    x2 #x10 #y3 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz-1    x2 #x10 #y3 #zfusz&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz      x2 #x10 #y2 #zfusz&lt;br /&gt;
&lt;br /&gt;
=== Kopplungen von Knoten ===&lt;br /&gt;
Kopplungen sollte man auf jeden Fall einer Gruppe zuordnen. Ggf. unterscheidet man noch nach den Richtungen.&lt;br /&gt;
&lt;br /&gt;
Bei der Verwendung von Kopplungen besteht immer wieder die Frage, wer auf wen gekoppelt wird oder ob das evtl. auch vollkommen bedeutungslos ist. Oft sind die damit verbundenen Fehlermeldung (üblicherweise erst beim ASE - Lauf) schwer zu interpretieren.&lt;br /&gt;
Die Regel lautet &#039;&#039;&#039;hin zum Auflager&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Bei der Kopplung von Knoten ist der Kopplungstyp hinter typ als LITERAL einzugeben. Das LITERAL darf hier aber nicht in Hochkomma gesetzt werden!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sptp&#039;&#039;&#039;    typ kf  grp 2   ref 300+#nr  $ Kopplung auf den Lagerknoten&lt;br /&gt;
&lt;br /&gt;
Außerdem kann man hier eine Gruppennnummer eingeben, was im Satz spt nicht möglich ist.&lt;br /&gt;
=== Kopplungen von Strukturflächen ===&lt;br /&gt;
Beispieldatei: C:\Glossar\S\Sofimshc&lt;br /&gt;
Beim Kopplung von Strukturflächen gibt es mehrere Varianten.&lt;br /&gt;
&lt;br /&gt;
Etwas knifflig wird es dann, wenn man zwischen den beiden Strukturflächen nicht nur flächige Kopplungen, sondern zusätzlich auch punktuelle Kopplungen generieren möchte.&lt;br /&gt;
&lt;br /&gt;
1. Zusammenwirken von SOFiMSHC und SOFiMSHA&lt;br /&gt;
&lt;br /&gt;
Hier gibt es ein schönes Beispiel im Beispielordner: C:\Program Files\SOFiSTiK\2025\SOFiSTiK 2025…Sofimshc\Flächenmodelle&lt;br /&gt;
&lt;br /&gt;
Nach der Generierung der beiden Flächen im SOFiMSHC werden diese anschließend in SOFiMSHA mittels &lt;br /&gt;
&lt;br /&gt;
Fede gruppe 1 gruppe 2 cl … ca… gekoppelt.&lt;br /&gt;
&lt;br /&gt;
2. Nur mit SOFiMSHC&lt;br /&gt;
&lt;br /&gt;
Im SOFiMSHC gibt es den Satz sars, mit dem Parameter reft &amp;gt;sar ref nr. Das ist echt stark und man kann auch für die Kopplung eine Materialnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Wenn man nun noch zusätzlich einzelne Knoten koppeln möchte, so liegt es auf der Hand, einfach unter dem sar Befehl den Befehl sarb typ conc np nr zu verwenden. Diese Kopplungen werden aber mit dem sars – Befehl „zerschossen“.&lt;br /&gt;
&lt;br /&gt;
3. Trick&lt;br /&gt;
&lt;br /&gt;
Man kann das gesuchte Ergebnis dadurch erreichen, in dem man die Gesamtfläche in Teilflächen zerlegt und dabei die gekoppelten Knoten bei der sln Definition verwendet. Das ist zwar etwas mehr Programmieraufwand, funktioniert aber einwandfrei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Kopplung sar 1.jpg|System&lt;br /&gt;
Kopplung sar 2.jpg|sars&lt;br /&gt;
Kopplung sar 3.jpg|Teilflächen&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gelenkbedingungen an sln in Flächentragwerken ===&lt;br /&gt;
Gelegentlich brauch man Gelenkbedingungen entlang einer Strukturlinie zwischen zwei Flächen. Das typische Beispiel ist eine eche Raumfuge oder auch &amp;quot;Nut und Feder&amp;quot;.&lt;br /&gt;
Die nicht zu übertragenden Schnittgrößen werden im Satz SARB hinter FIX als Literal eingegeben.&lt;br /&gt;
&lt;br /&gt;
sar     nr 22    grp 10 mnr 1 mbw 11 qref &#039;oben&#039; cb -   ct -  nx 0    ny 0    nz -1    nra 7 t 0.7     bez &#039;#bez&#039; mctl &#039;regm&#039;  kr &#039;posx&#039;&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2012,2013,102&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2102               &#039;&#039;&#039;fix &#039;ppmm&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die sln nr 2102 überträger keine der sechs Schnittgrößen.&lt;br /&gt;
&lt;br /&gt;
Auch bei der Generierung von sln kann man solche Eigenschaften definieren, muss aber hierbei zwischen interen Knoten und den beiden Außenknoten unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Meiner Erfahrung nach, funktioniert das mit den Raumfugen nur dann, wenn die SAR, welche &amp;quot;dazukommt&amp;quot; die Angaben mit dem &#039;&#039;&#039;&#039;&#039;fix&#039;&#039;&#039;&#039;&#039; bekommt.&lt;br /&gt;
&lt;br /&gt;
=== Randelemente ===&lt;br /&gt;
Grundsätzlich ist jede Strukturline, welche in einer Gruppe &amp;gt;0 generiert wird, ein Randelement. Diese Randelemente kann man mit Maxima auswerten.&lt;br /&gt;
Da man einer sln auch eine Bezeichnung mitgeben kann, kann man das recht übersichtlich ausgeben.&lt;br /&gt;
&lt;br /&gt;
s. steu lsup&lt;br /&gt;
&lt;br /&gt;
=== System in mm ===&lt;br /&gt;
&lt;br /&gt;
Die Eingabe des Systems in Millimeter zu erledigen ist kein Problem. &lt;br /&gt;
&lt;br /&gt;
norm &#039;DIN&#039; &#039;en199x-200x&#039;  unit 6&lt;br /&gt;
&lt;br /&gt;
Will man nun auch noch die Ausgabe in der Systemgenerierung mm, so muß man das über die UNIT im SOFiMSHC einstellen.&lt;br /&gt;
&lt;br /&gt;
unit type 1001 &amp;quot;mm&amp;quot; dig 1    $ mm&lt;br /&gt;
&lt;br /&gt;
Die Tabelle der Konotenkoordinaten erschein jetzt in mm mit einer Nachkommastelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statisches System]]&lt;br /&gt;
[[Kategorie:SOFiMSHC]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=G_Grabenverbauger%C3%A4te&amp;diff=13959</id>
		<title>G Grabenverbaugeräte</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=G_Grabenverbauger%C3%A4te&amp;diff=13959"/>
		<updated>2026-06-18T13:01:34Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeines ==&lt;br /&gt;
Grabenverbaugeräte dienen der Herstellung von Gräben. Es handelt sich um temporäre Verbaue, welche im einfachsten Fall mittels eines Baggers in den Boden getrieben werden. Youtube ist voll davon.&lt;br /&gt;
Für diese Verbaue gilt die DIN EN 13331-1 und 13331-2 (November 2002). Der normative Anhang A der DIN EN 13331-1 enthält Angaben zu den beiden Teilsicherheitsbeiwerten gamma_F = 1,5 und gamma_M = 1,1.&lt;br /&gt;
&lt;br /&gt;
Grabenverbaugeräte haben häufig eine &amp;quot;Euro Test Zertifikat&amp;quot; von der DGUV Test. Dabei geht es um eine geprüfte Statik, die Verwendungsanweisung, das Montageverfahren, die Herstellung der Geräte und um die schweißtechnischen Nachweise. Das Thema Unfallverhütung steht hier ganz oben.&lt;br /&gt;
&lt;br /&gt;
In verschieden Infomaterialien der Herstellerfirmen finden sich Angaben zu den Erddrücken in unterschiedlichen Tiefen. Ich habe eine Grafik gefunden, in welcher für die Tiefe von 7m ein Bemessungserddruck von 39,7 kN/m² angegeben wird. Das ist deutlich zu klein. &lt;br /&gt;
Den Erddruck berechnet man nach der DIN 4085 &amp;quot;Baugrund – Berechnung des Erddrucks (2011)&amp;quot;. Diese Norm kennt neben dem aktiven Erddruck und dem Erdruhedruck auch noch den erhöhten aktiven Erddruck. Der EC 7 (2011) benennt im Abschnitt 2.2 unterschiedliche Bemessungssituationen: BS-T: vorübergenende Situation; Baumaßnahmen für vorübergehende Zwecke; Baugrubenkonstruktionen. In der Tabelle A 2.1 finden sich dann die Teilsicherheitsbeiwerte für die ständigen und veränderlichen Einwirkungen.&lt;br /&gt;
&lt;br /&gt;
Außerdem ist die DIN 4124 &amp;quot;Baugruben und Gräben - Böschungen, Verbau, Arbeitsraumbreiten&amp;quot; zu beachten.&lt;br /&gt;
&lt;br /&gt;
Die 13331-1 benennt im Abschn. 7.1.1 und 7.2 einen &amp;quot;charakteristischen Mindestsystemwiderstand&amp;quot; von 30 kN/m². Im Bild 11 finden sich dann auch tatsächlich gleichmäßig verteilte äußere Lasten. Diesen Erddruck kann es derart nicht geben.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundbau]]&lt;br /&gt;
[[Kategorie:EC 7 - DIN 1054]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13958</id>
		<title>P Grabenverbaugeräte 2025</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13958"/>
		<updated>2026-05-20T06:49:33Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Schlagwörter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Projektbeschreibung ==&lt;br /&gt;
In diesem Projekt geht es um unterschiedliche [[G Grabenverbaugeräte|Grabenverbaugeräte]] bzw. deren einzelne Baugruppen. Neben den Verbauplatten gibt es da noch die Streben und die Spindeln.&lt;br /&gt;
=== Projektnummer ===&lt;br /&gt;
14-2025&lt;br /&gt;
&lt;br /&gt;
=== Schlagwörter ===&lt;br /&gt;
Verbau, Grabenverbaugerät, Spindeln, Streben, Erddruck, TBG, Wabenstruktur, Hohlprofile&lt;br /&gt;
&lt;br /&gt;
== Grafiken ==&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Erddruck_klein_2025.jpg|Erddruck nach TBG&lt;br /&gt;
Verbauplatte_1_2025.jpg|Verbauplatte 1&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- Kategorien --&amp;gt;&lt;br /&gt;
[[Kategorie:2025]]&lt;br /&gt;
[[Kategorie:DIN 18800]]&lt;br /&gt;
[[Kategorie:Sonstige Konstruktionen]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13957</id>
		<title>P Grabenverbaugeräte 2025</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13957"/>
		<updated>2026-05-20T06:41:18Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Grafiken */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Projektbeschreibung ==&lt;br /&gt;
In diesem Projekt geht es um unterschiedliche [[G Grabenverbaugeräte|Grabenverbaugeräte]] bzw. deren einzelne Baugruppen. Neben den Verbauplatten gibt es da noch die Streben und die Spindeln.&lt;br /&gt;
=== Projektnummer ===&lt;br /&gt;
14-2025&lt;br /&gt;
&lt;br /&gt;
=== Schlagwörter ===&lt;br /&gt;
Verbau, Grabenverbaugerät, Spindeln, Streben, Erddruck, TBG, Wabenstruktur&lt;br /&gt;
&lt;br /&gt;
== Grafiken ==&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Erddruck_klein_2025.jpg|Erddruck nach TBG&lt;br /&gt;
Verbauplatte_1_2025.jpg|Verbauplatte 1&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- Kategorien --&amp;gt;&lt;br /&gt;
[[Kategorie:2025]]&lt;br /&gt;
[[Kategorie:DIN 18800]]&lt;br /&gt;
[[Kategorie:Sonstige Konstruktionen]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13956</id>
		<title>P Grabenverbaugeräte 2025</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13956"/>
		<updated>2026-05-20T06:40:35Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Schlagwörter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Projektbeschreibung ==&lt;br /&gt;
In diesem Projekt geht es um unterschiedliche [[G Grabenverbaugeräte|Grabenverbaugeräte]] bzw. deren einzelne Baugruppen. Neben den Verbauplatten gibt es da noch die Streben und die Spindeln.&lt;br /&gt;
=== Projektnummer ===&lt;br /&gt;
14-2025&lt;br /&gt;
&lt;br /&gt;
=== Schlagwörter ===&lt;br /&gt;
Verbau, Grabenverbaugerät, Spindeln, Streben, Erddruck, TBG, Wabenstruktur&lt;br /&gt;
&lt;br /&gt;
== Grafiken ==&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Erddruck_klein_2025.jpg|Erddruck nach TBG&lt;br /&gt;
Verbauplatte_1_2025.jpg|Verbauplatte 1&lt;br /&gt;
Verbauplatte_2_2025.jpg|Verbauplatte 2&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- Kategorien --&amp;gt;&lt;br /&gt;
[[Kategorie:2025]]&lt;br /&gt;
[[Kategorie:DIN 18800]]&lt;br /&gt;
[[Kategorie:Sonstige Konstruktionen]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13955</id>
		<title>P Grabenverbaugeräte 2025</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13955"/>
		<updated>2026-05-20T06:39:56Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Grafiken */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Projektbeschreibung ==&lt;br /&gt;
In diesem Projekt geht es um unterschiedliche [[G Grabenverbaugeräte|Grabenverbaugeräte]] bzw. deren einzelne Baugruppen. Neben den Verbauplatten gibt es da noch die Streben und die Spindeln.&lt;br /&gt;
=== Projektnummer ===&lt;br /&gt;
14-2025&lt;br /&gt;
&lt;br /&gt;
=== Schlagwörter ===&lt;br /&gt;
Verbau, Grabenverbaugerät, Spindeln, Streben, Erddruck&lt;br /&gt;
== Grafiken ==&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Erddruck_klein_2025.jpg|Erddruck nach TBG&lt;br /&gt;
Verbauplatte_1_2025.jpg|Verbauplatte 1&lt;br /&gt;
Verbauplatte_2_2025.jpg|Verbauplatte 2&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- Kategorien --&amp;gt;&lt;br /&gt;
[[Kategorie:2025]]&lt;br /&gt;
[[Kategorie:DIN 18800]]&lt;br /&gt;
[[Kategorie:Sonstige Konstruktionen]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=Datei:Verbauplatte_2_2025.jpg&amp;diff=13954</id>
		<title>Datei:Verbauplatte 2 2025.jpg</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=Datei:Verbauplatte_2_2025.jpg&amp;diff=13954"/>
		<updated>2026-05-20T06:38:17Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=Datei:Verbauplatte_1_2025.jpg&amp;diff=13953</id>
		<title>Datei:Verbauplatte 1 2025.jpg</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=Datei:Verbauplatte_1_2025.jpg&amp;diff=13953"/>
		<updated>2026-05-20T06:37:57Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=Datei:Erddruck_klein_2025.jpg&amp;diff=13952</id>
		<title>Datei:Erddruck klein 2025.jpg</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=Datei:Erddruck_klein_2025.jpg&amp;diff=13952"/>
		<updated>2026-05-20T06:37:39Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13951</id>
		<title>P Grabenverbaugeräte 2025</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13951"/>
		<updated>2026-05-20T06:25:32Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Projektbeschreibung ==&lt;br /&gt;
In diesem Projekt geht es um unterschiedliche [[G Grabenverbaugeräte|Grabenverbaugeräte]] bzw. deren einzelne Baugruppen. Neben den Verbauplatten gibt es da noch die Streben und die Spindeln.&lt;br /&gt;
=== Projektnummer ===&lt;br /&gt;
14-2025&lt;br /&gt;
&lt;br /&gt;
=== Schlagwörter ===&lt;br /&gt;
Verbau, Grabenverbaugerät, Spindeln, Streben, Erddruck&lt;br /&gt;
== Grafiken ==&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Mb1.jpg|System&lt;br /&gt;
Mb2.jpg|Spannglieder&lt;br /&gt;
Mb3.jpg|Pfeiler&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- Kategorien --&amp;gt;&lt;br /&gt;
[[Kategorie:2025]]&lt;br /&gt;
[[Kategorie:DIN 18800]]&lt;br /&gt;
[[Kategorie:Sonstige Konstruktionen]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13950</id>
		<title>P Grabenverbaugeräte 2025</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13950"/>
		<updated>2026-05-20T06:23:01Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Projektbeschreibung ==&lt;br /&gt;
In diesem Projekt geht es um unterschiedliche Grabenverbaugeräte bzw. deren einzelne Baugruppen. Neben den Verbauplatten gibt es da noch die Streben und die Spindeln.&lt;br /&gt;
=== Projektnummer ===&lt;br /&gt;
14-2025&lt;br /&gt;
&lt;br /&gt;
=== Schlagwörter ===&lt;br /&gt;
Verbau, Grabenverbaugerät, Spindeln, Streben, Erddruck&lt;br /&gt;
== Grafiken ==&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Mb1.jpg|System&lt;br /&gt;
Mb2.jpg|Spannglieder&lt;br /&gt;
Mb3.jpg|Pfeiler&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- Kategorien --&amp;gt;&lt;br /&gt;
[[Kategorie:2025]]&lt;br /&gt;
[[Kategorie:DIN 18800]]&lt;br /&gt;
[[Kategorie:Sonstige Konstruktionen]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13949</id>
		<title>P Grabenverbaugeräte 2025</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13949"/>
		<updated>2026-05-20T06:22:32Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Projektbeschreibung ==&lt;br /&gt;
In diesem Projekt geht es um unterschiedliche Grabenverbaugeräte bzw. deren einzelne Baugruppen. Neben den Verbauplatten gibt es da noch die Streben und die Spindeln.&lt;br /&gt;
=== Projektnummer ===&lt;br /&gt;
14-2025&lt;br /&gt;
&lt;br /&gt;
=== Schlagwörter ===&lt;br /&gt;
Verbau, Grabenverbaugerät, Spindeln, Streben, Erddruck&lt;br /&gt;
== Grafiken ==&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Mb1.jpg|System&lt;br /&gt;
Mb2.jpg|Spannglieder&lt;br /&gt;
Mb3.jpg|Pfeiler&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&amp;lt;!-- Kategorien --&amp;gt;&lt;br /&gt;
[[Kategorie:2025]]&lt;br /&gt;
[[Kategorie:DIN 18800]]&lt;br /&gt;
[[Kategorie:Sonstige Konstruktion]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13948</id>
		<title>P Grabenverbaugeräte 2025</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13948"/>
		<updated>2026-05-20T06:17:02Z</updated>

		<summary type="html">&lt;p&gt;Lutz: Schützte „P Grabenverbaugeräte 2025“ ([Bearbeiten=Nur Administratoren erlauben] (unbeschränkt) [Verschieben=Nur Administratoren erlauben] (unbeschränkt))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13947</id>
		<title>P Grabenverbaugeräte 2025</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=P_Grabenverbauger%C3%A4te_2025&amp;diff=13947"/>
		<updated>2026-05-20T06:16:22Z</updated>

		<summary type="html">&lt;p&gt;Lutz: Die Seite wurde neu angelegt: „...“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;...&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=G_Grabenverbauger%C3%A4te&amp;diff=13946</id>
		<title>G Grabenverbaugeräte</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=G_Grabenverbauger%C3%A4te&amp;diff=13946"/>
		<updated>2026-05-20T06:15:05Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeines ==&lt;br /&gt;
Grabenverbaugeräte dienen der Herstellung von Gräben. Es handelt sich um temporäre Verbaue, welche im einfachsten Fall mittels eines Baggers in den Boden getrieben werden. Youtube ist voll davon.&lt;br /&gt;
Für diese Verbaue gilt die DIN EN 13331-1 und 13331-2 (November 2002). Der normative Anhang A der DIN EN 13331-1 enthält Angaben zu den beiden Teilsicherheitsbeiwerten gamma_F = 1,5 und gamma_M = 1,1.&lt;br /&gt;
&lt;br /&gt;
Grabenverbaugeräte haben häufig eine &amp;quot;Euro Test Zertifikat&amp;quot; von der DGUV Test. Dabei geht es um eine geprüfte Statik, die Verwendungsanweisung, das Montageverfahren, die Herstellung der Geräte und um die schweißtechnischen Nachweise. Das Thema Unfallverhütung steht hier ganz oben.&lt;br /&gt;
&lt;br /&gt;
In verschieden Infomaterialien der Herstellerfirmen finden sich Angaben zu den Erddrücken in unterschiedlichen Tiefen. Ich habe eine Grafik gefunden, in welcher für die Tiefe von 7m ein Bemessungserddruck von 39,7 kN/m² angegeben wird. Das ist deutlich zu klein. &lt;br /&gt;
Den Erddruck berechnet man nach der DIN 4085 &amp;quot;Baugrund – Berechnung des Erddrucks (2011)&amp;quot;. Diese Norm kennt neben dem aktiven Erddruck und dem Erdruhedruck auch noch den erhöhten aktiven Erddruck. Der EC 7 (2011) benennt im Abschnitt 2.2 unterschiedliche Bemessungssituationen: BS-T: vorübergenende Situation; Baumaßnahmen für vorübergehende Zwecke; Baugrubenkonstruktionen. In der Tabelle A 2.1 finden sich dann die Teilsicherheitsbeiwerte für die ständigen und veränderlichen Einwirkungen.&lt;br /&gt;
&lt;br /&gt;
Außerdem ist die DIN 4124 &amp;quot;Baugruben und Gräben - Böschungen, Verbau, Arbeitsraumbreiten&amp;quot; zu beachten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Grundbau]]&lt;br /&gt;
[[Kategorie:EC 7 - DIN 1054]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13945</id>
		<title>C SOFiMSHC</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13945"/>
		<updated>2026-05-12T06:53:11Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Gelenkbedingungen an sln in Flächentragwerken */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorbemerkungen ==&lt;br /&gt;
Das Modul SOFiMSHC dient der Generierung des statischen Models. Daneben werden Achsen erzeugt, welche für die Vorspannung bzw. die Verkehrslasten benötigt werden.&lt;br /&gt;
Hier trage ich meine Tipps und Kniffe für dieses Modul zusammen. Irgendwann bring ich da mal Ordnung rein. 🤣&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
=== regelmäßiges Netz ===&lt;br /&gt;
Man braucht das nicht wirklich, aber manchmal eben doch: eine ganz regelmäßige Vernetzung mit einer vorgegebenen Anzahl von Elementen an den Kanten. Das geht:&lt;br /&gt;
Grundsatz 1: Jede Kante wird in mindestens zwei Abschnitte unterteilt!&lt;br /&gt;
Grundsatz 2: Jede Linie wird in eine geradzahlige Anzahl von Abschnitten unterteilt (sln ... sdiv &#039;&#039;&#039;-geradzahlig&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Weiterhin kann man im sln - Satz bei styp das &amp;quot;Y&amp;quot; eingeben. Damit wird eine Linie dann doch nicht unterteilt; auch &amp;quot;BY&amp;quot; liefert das erhoffte Ergebnis: ein Stab zwischen zwei Knoten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im SOFiPLUS geht das auch recht gut:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Vernetzung anzahl der elemente.jpg|Anzahl der Elemente auswählen]]&lt;br /&gt;
&lt;br /&gt;
=== Schnittpunkt zwei Achsen ===&lt;br /&gt;
Gelentlich braucht man den Schnittpunkt von zwei Achsen. Das funktioniert nur über Strukturlinien. Man definiert die beiden Strukturlinien über jeweils eine Achse; und der Schnittpunkt der beiden Strukturlinien ist der gesuchte Knoten.&lt;br /&gt;
&lt;br /&gt;
=== störende Knoten löschen ===&lt;br /&gt;
Im SOFiMSHC besteht keine Möglichkeit, Knoten zu löschen. Also gibt man diesen störenden Knoten eine &amp;quot;weit abliegende Koordinate&amp;quot; und legt mit steu deln 1 fest, das unbenutzte Elemente zu löschen sind.&lt;br /&gt;
=== Ausrichtung der Lager - Gruppennummer der Kopplungen ===&lt;br /&gt;
&lt;br /&gt;
Bei gekrümmten Überbauten ist die achsparallele Ausrichtung der Lager nicht mehr trivial.&lt;br /&gt;
&lt;br /&gt;
Es bietet sich der Befehl COOR an.&lt;br /&gt;
&lt;br /&gt;
coor typ AXIS id AXIS.N s 22.1160 &lt;br /&gt;
&lt;br /&gt;
Das funktioniert auch ganz gut, nur leider übernehmen die so generierten Knoten nicht das neue Koordinatensystem. Die lokalen Achsen der neuen Knoten übernehmen das globale KSS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man kann sich auch auf die Achse beziehen:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;ax&#039;        nref &#039;a1&#039;       sx #ue  sy #b  sz #z_lager     fix F-&amp;gt;200&lt;br /&gt;
&lt;br /&gt;
Diese Knoten übernehmen das gedrehte KSS, machen allerdings Schwierigkeiten bei den Lastfällen &amp;quot;Stützensenkung&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Am besten funktioniert ein Bezug auf den Knoten selbst:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;pt&#039;        nref 200       x 0     y +#b   z #z_lager     fix F-&amp;gt;200&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=10&lt;br /&gt;
                        4       cx      #cx10_2&lt;br /&gt;
                        5       cy      #cy10_2&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=110&lt;br /&gt;
                        6       cz      #cz&lt;br /&gt;
&lt;br /&gt;
Die neuen Knoten haben das lokale Koordinatensystem des referenzierten Knotens und Stützensenkungen lassen sich auch berechnen. Es ist sinnvoll, die Z-Komponente in eine separate Gruppe zu stecken. Somit kann man im WINGRAF recht gut das generierte Lagersystem darstellen.&lt;br /&gt;
Alle Kopplungen von Systemen, welche mit CSM weiterberechnet werden, sollten einer Gruppe zugewiesen werden (s. SPTP...GRP).&lt;br /&gt;
&lt;br /&gt;
=== Ausrichtung des KSS von Flächentragwerken ===&lt;br /&gt;
&lt;br /&gt;
Wenn man die Koordinatensysteme der QUAD-Elemente ausrichten muss (orthotrope Fahrbahnplatten), so bieten sich zwei Möglichkeiten an:&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Kreis&lt;br /&gt;
&lt;br /&gt;
Hier erfolgt die Ausreichtung auf den Kreismittelpunkt;&lt;br /&gt;
&lt;br /&gt;
sar nr 2        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;pt&#039; drx 4000 drot 90     &lt;br /&gt;
&lt;br /&gt;
Nachteilig an dieser Lösung ist, dass das Koordinatensystem im Animator riesig groß dargestellt wird!&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Klothoide&lt;br /&gt;
&lt;br /&gt;
Hier kann man die Koordinatensysteme der Quad-Elemente auf eine Strukturlinie ausrichten;&lt;br /&gt;
&lt;br /&gt;
sar nr 1        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;ln&#039; drx 105 drot 90&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrollen !!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Natürlich muss man den Winkel und die sich ergebenden Richtungen grafisch kontrollieren. Bei den orthotropen Platten ist streng nach x und y zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
=== Lastachsen aus Sekundärachsen erzeugen ===&lt;br /&gt;
Stand 10/2019! das soll zukünftig besser gehen&lt;br /&gt;
&lt;br /&gt;
Gelegentlich entwickelt man die Sekundärachsen nicht einfach durch eine konstante seitlich Versetztung der Primärachse. Dann hat diese Sekundärachse nicht nur keine eigene Stationierung, sondern sie taugt auch nicht als Lastachse!&lt;br /&gt;
&lt;br /&gt;
Die Lösung besteht darin, eine neue Achse aus der Geometrie dieser Nebenachse zu erzeugen. Diese beiden Achsen sind geometrisch deckungsgleich und die neue Achse ist eine Lastachse.&lt;br /&gt;
 &lt;br /&gt;
==== Definition der Sekundärachse AXIS.n ====&lt;br /&gt;
Der nachstehende Text zeigt, wie man an unterschiedlichen Stationen einen variablen Abstand zwischen der Sekundär- und der Primärachse definieren kann. Über den Typ &amp;quot;SPLI&amp;quot; ergibt sich die gesuchte Form.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;quot;GAXS&amp;quot; wird dann die Sekundärachse &amp;quot;AXIS.n&amp;quot; generiert.&lt;br /&gt;
&lt;br /&gt;
!*!Label nördl. Sekundärachse&lt;br /&gt;
$ Norden: der Abstand wird an vier Stationen über eine Variable gaxv vorgegeben typ=spli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s0 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s1 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s2 v -(1.625+0.335)       typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s3 v -(1.625+1.1)         typ spli&lt;br /&gt;
&lt;br /&gt;
gaxs    id &#039;AXIS&#039; ids &#039;n&#039; spt 200 y yn  bez &#039;nördl. Achse&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da &amp;quot;AXIS.N&amp;quot; im SOFiLOAD nix taugt, wird hier eine neue Achse &amp;quot;NORD&amp;quot; erzeugt. Durch das &amp;quot;ref &#039;AXIS.n&#039;&amp;quot; sind die beiden Achsen (fast) identisch. Mit der Stationierung muss man rumprobieren.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==== neue Lastachse NORD ====&lt;br /&gt;
&lt;br /&gt;
!*!Label Lastachsen&lt;br /&gt;
&lt;br /&gt;
let#typ &#039;lane&#039;&lt;br /&gt;
&lt;br /&gt;
gax  id &#039;NORD&#039; typ #typ bez &#039;NORD&#039;  ref &#039;AXIS.n&#039; typc spli&lt;br /&gt;
&lt;br /&gt;
let#l_n 77.982          $ Länge der AXIS.n aus dem Result Viewer&lt;br /&gt;
&lt;br /&gt;
                        $ zur Kontrolle dienen die Koordinaten des Knotens 4200&lt;br /&gt;
&lt;br /&gt;
                        $ diese NURB&#039;s werden ohne Stationierung ausgegeben...sollte aber bei etwa 77.982 enden&lt;br /&gt;
&lt;br /&gt;
loop#i div(#l_n/1)+2    $ probieren! $ im SOFiLOAD wird die &amp;quot;Gesamtlänge&amp;quot; und die Stationierung ausgegeben&lt;br /&gt;
&lt;br /&gt;
        gaxc  x 0+#i    y 0     z 0&lt;br /&gt;
&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
=== SAR NR RROP ===&lt;br /&gt;
Gelegentlich ergibt sich die Forderung, eine Strukturfläche in einem bestimmten örtlich begrenzten Bereich zu verändern:&lt;br /&gt;
&lt;br /&gt;
    Dicke&lt;br /&gt;
&lt;br /&gt;
    Gruppennummer&lt;br /&gt;
&lt;br /&gt;
    Bettung&lt;br /&gt;
&lt;br /&gt;
    Material...&lt;br /&gt;
&lt;br /&gt;
Dazu gibt es den Befehl &#039;&#039;&#039;sar nr prop&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Eine Strukturfläche (Nr. 115) ist bereits (ohne Bettung) definiert. Nun soll noch der Bereich von 1m mit cb gebettet werden.&lt;br /&gt;
&lt;br /&gt;
sar nr 115 grp 2 mnr 4 nra 7 qref mitt cb 0 ct 0 mctl 1 t #tm bez &#039;2 - W5&#039;&lt;br /&gt;
&lt;br /&gt;
sarb typ aus nl 459,414,460,461&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sar  nr prop cb #cbsandu bez &amp;quot;nur 1m Bettung&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz      x2 #x10 #y2 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz-1    x2 #x10 #y3 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz-1    x2 #x10 #y3 #zfusz&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz      x2 #x10 #y2 #zfusz&lt;br /&gt;
&lt;br /&gt;
=== Kopplungen von Knoten ===&lt;br /&gt;
Kopplungen sollte man auf jeden Fall einer Gruppe zuordnen. Ggf. unterscheidet man noch nach den Richtungen.&lt;br /&gt;
&lt;br /&gt;
Bei der Verwendung von Kopplungen besteht immer wieder die Frage, wer auf wen gekoppelt wird oder ob das evtl. auch vollkommen bedeutungslos ist. Oft sind die damit verbundenen Fehlermeldung (üblicherweise erst beim ASE - Lauf) schwer zu interpretieren.&lt;br /&gt;
Die Regel lautet &#039;&#039;&#039;hin zum Auflager&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Bei der Kopplung von Knoten ist der Kopplungstyp hinter typ als LITERAL einzugeben. Das LITERAL darf hier aber nicht in Hochkomma gesetzt werden!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sptp&#039;&#039;&#039;    typ kf  grp 2   ref 300+#nr  $ Kopplung auf den Lagerknoten&lt;br /&gt;
&lt;br /&gt;
Außerdem kann man hier eine Gruppennnummer eingeben, was im Satz spt nicht möglich ist.&lt;br /&gt;
=== Kopplungen von Strukturflächen ===&lt;br /&gt;
Beispieldatei: C:\Glossar\S\Sofimshc&lt;br /&gt;
Beim Kopplung von Strukturflächen gibt es mehrere Varianten.&lt;br /&gt;
&lt;br /&gt;
Etwas knifflig wird es dann, wenn man zwischen den beiden Strukturflächen nicht nur flächige Kopplungen, sondern zusätzlich auch punktuelle Kopplungen generieren möchte.&lt;br /&gt;
&lt;br /&gt;
1. Zusammenwirken von SOFiMSHC und SOFiMSHA&lt;br /&gt;
&lt;br /&gt;
Hier gibt es ein schönes Beispiel im Beispielordner: C:\Program Files\SOFiSTiK\2025\SOFiSTiK 2025…Sofimshc\Flächenmodelle&lt;br /&gt;
&lt;br /&gt;
Nach der Generierung der beiden Flächen im SOFiMSHC werden diese anschließend in SOFiMSHA mittels &lt;br /&gt;
&lt;br /&gt;
Fede gruppe 1 gruppe 2 cl … ca… gekoppelt.&lt;br /&gt;
&lt;br /&gt;
2. Nur mit SOFiMSHC&lt;br /&gt;
&lt;br /&gt;
Im SOFiMSHC gibt es den Satz sars, mit dem Parameter reft &amp;gt;sar ref nr. Das ist echt stark und man kann auch für die Kopplung eine Materialnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Wenn man nun noch zusätzlich einzelne Knoten koppeln möchte, so liegt es auf der Hand, einfach unter dem sar Befehl den Befehl sarb typ conc np nr zu verwenden. Diese Kopplungen werden aber mit dem sars – Befehl „zerschossen“.&lt;br /&gt;
&lt;br /&gt;
3. Trick&lt;br /&gt;
&lt;br /&gt;
Man kann das gesuchte Ergebnis dadurch erreichen, in dem man die Gesamtfläche in Teilflächen zerlegt und dabei die gekoppelten Knoten bei der sln Definition verwendet. Das ist zwar etwas mehr Programmieraufwand, funktioniert aber einwandfrei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Kopplung sar 1.jpg|System&lt;br /&gt;
Kopplung sar 2.jpg|sars&lt;br /&gt;
Kopplung sar 3.jpg|Teilflächen&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gelenkbedingungen an sln in Flächentragwerken ===&lt;br /&gt;
Gelegentlich brauch man Gelenkbedingungen entlang einer Strukturlinie zwischen zwei Flächen. Das typische Beispiel ist eine eche Raumfuge oder auch &amp;quot;Nut und Feder&amp;quot;.&lt;br /&gt;
Die nicht zu übertragenden Schnittgrößen werden im Satz SARB hinter FIX als Literal eingegeben.&lt;br /&gt;
&lt;br /&gt;
sar     nr 22    grp 10 mnr 1 mbw 11 qref &#039;oben&#039; cb -   ct -  nx 0    ny 0    nz -1    nra 7 t 0.7     bez &#039;#bez&#039; mctl &#039;regm&#039;  kr &#039;posx&#039;&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2012,2013,102&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2102               &#039;&#039;&#039;fix &#039;ppmm&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die sln nr 2102 überträger keine der sechs Schnittgrößen.&lt;br /&gt;
&lt;br /&gt;
Auch bei der Generierung von sln kann man solche Eigenschaften definieren, muss aber hierbei zwischen interen Knoten und den beiden Außenknoten unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Meiner Erfahrung nach, funktioniert das mit den Raumfugen nur dann, wenn die SAR, welche &amp;quot;dazukommt&amp;quot; die Angaben mit dem &#039;&#039;&#039;&#039;&#039;fix&#039;&#039;&#039;&#039;&#039; bekommt.&lt;br /&gt;
&lt;br /&gt;
=== Randelemente ===&lt;br /&gt;
Grundsätzlich ist jede Strukturline, welche in einer Gruppe &amp;gt;0 generiert wird, ein Randelement. Diese Randelemente kann man mit Maxima auswerten.&lt;br /&gt;
Da man einer sln auch eine Bezeichnung mitgeben kann, kann man das recht übersichtlich ausgeben.&lt;br /&gt;
&lt;br /&gt;
s. steu lsup&lt;br /&gt;
&lt;br /&gt;
=== System in mm ===&lt;br /&gt;
&lt;br /&gt;
Die Eingabe des Systems in Millimeter zu erledigen ist kein Problem. &lt;br /&gt;
&lt;br /&gt;
norm &#039;DIN&#039; &#039;en199x-200x&#039;  unit 6&lt;br /&gt;
&lt;br /&gt;
Will man nun auch noch die Ausgabe in der Systemgenerierung mm, so muß man das über die UNIT im SOFiMSHC einstellen.&lt;br /&gt;
&lt;br /&gt;
unit type 1001 &amp;quot;mm&amp;quot; dig 1    $ mm&lt;br /&gt;
&lt;br /&gt;
Die Tabelle der Konotenkoordinaten erschein jetzt in mm mit einer Nachkommastelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statisches System]]&lt;br /&gt;
[[Kategorie:SOFiMSHC]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13944</id>
		<title>C SOFiMSHC</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_SOFiMSHC&amp;diff=13944"/>
		<updated>2026-05-04T16:43:11Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Gelenkbedingungen an sln in Flächentragwerken */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorbemerkungen ==&lt;br /&gt;
Das Modul SOFiMSHC dient der Generierung des statischen Models. Daneben werden Achsen erzeugt, welche für die Vorspannung bzw. die Verkehrslasten benötigt werden.&lt;br /&gt;
Hier trage ich meine Tipps und Kniffe für dieses Modul zusammen. Irgendwann bring ich da mal Ordnung rein. 🤣&lt;br /&gt;
&lt;br /&gt;
== Tipps und Tricks ==&lt;br /&gt;
=== regelmäßiges Netz ===&lt;br /&gt;
Man braucht das nicht wirklich, aber manchmal eben doch: eine ganz regelmäßige Vernetzung mit einer vorgegebenen Anzahl von Elementen an den Kanten. Das geht:&lt;br /&gt;
Grundsatz 1: Jede Kante wird in mindestens zwei Abschnitte unterteilt!&lt;br /&gt;
Grundsatz 2: Jede Linie wird in eine geradzahlige Anzahl von Abschnitten unterteilt (sln ... sdiv &#039;&#039;&#039;-geradzahlig&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
Weiterhin kann man im sln - Satz bei styp das &amp;quot;Y&amp;quot; eingeben. Damit wird eine Linie dann doch nicht unterteilt; auch &amp;quot;BY&amp;quot; liefert das erhoffte Ergebnis: ein Stab zwischen zwei Knoten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im SOFiPLUS geht das auch recht gut:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Vernetzung anzahl der elemente.jpg|Anzahl der Elemente auswählen]]&lt;br /&gt;
&lt;br /&gt;
=== Schnittpunkt zwei Achsen ===&lt;br /&gt;
Gelentlich braucht man den Schnittpunkt von zwei Achsen. Das funktioniert nur über Strukturlinien. Man definiert die beiden Strukturlinien über jeweils eine Achse; und der Schnittpunkt der beiden Strukturlinien ist der gesuchte Knoten.&lt;br /&gt;
&lt;br /&gt;
=== störende Knoten löschen ===&lt;br /&gt;
Im SOFiMSHC besteht keine Möglichkeit, Knoten zu löschen. Also gibt man diesen störenden Knoten eine &amp;quot;weit abliegende Koordinate&amp;quot; und legt mit steu deln 1 fest, das unbenutzte Elemente zu löschen sind.&lt;br /&gt;
=== Ausrichtung der Lager - Gruppennummer der Kopplungen ===&lt;br /&gt;
&lt;br /&gt;
Bei gekrümmten Überbauten ist die achsparallele Ausrichtung der Lager nicht mehr trivial.&lt;br /&gt;
&lt;br /&gt;
Es bietet sich der Befehl COOR an.&lt;br /&gt;
&lt;br /&gt;
coor typ AXIS id AXIS.N s 22.1160 &lt;br /&gt;
&lt;br /&gt;
Das funktioniert auch ganz gut, nur leider übernehmen die so generierten Knoten nicht das neue Koordinatensystem. Die lokalen Achsen der neuen Knoten übernehmen das globale KSS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Man kann sich auch auf die Achse beziehen:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;ax&#039;        nref &#039;a1&#039;       sx #ue  sy #b  sz #z_lager     fix F-&amp;gt;200&lt;br /&gt;
&lt;br /&gt;
Diese Knoten übernehmen das gedrehte KSS, machen allerdings Schwierigkeiten bei den Lastfällen &amp;quot;Stützensenkung&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Am besten funktioniert ein Bezug auf den Knoten selbst:&lt;br /&gt;
&lt;br /&gt;
spt nr 202      ref &#039;pt&#039;        nref 200       x 0     y +#b   z #z_lager     fix F-&amp;gt;200&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=10&lt;br /&gt;
                        4       cx      #cx10_2&lt;br /&gt;
                        5       cy      #cy10_2&lt;br /&gt;
                spts    nr      typ     cp      cq=#cq  grp=110&lt;br /&gt;
                        6       cz      #cz&lt;br /&gt;
&lt;br /&gt;
Die neuen Knoten haben das lokale Koordinatensystem des referenzierten Knotens und Stützensenkungen lassen sich auch berechnen. Es ist sinnvoll, die Z-Komponente in eine separate Gruppe zu stecken. Somit kann man im WINGRAF recht gut das generierte Lagersystem darstellen.&lt;br /&gt;
Alle Kopplungen von Systemen, welche mit CSM weiterberechnet werden, sollten einer Gruppe zugewiesen werden (s. SPTP...GRP).&lt;br /&gt;
&lt;br /&gt;
=== Ausrichtung des KSS von Flächentragwerken ===&lt;br /&gt;
&lt;br /&gt;
Wenn man die Koordinatensysteme der QUAD-Elemente ausrichten muss (orthotrope Fahrbahnplatten), so bieten sich zwei Möglichkeiten an:&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Kreis&lt;br /&gt;
&lt;br /&gt;
Hier erfolgt die Ausreichtung auf den Kreismittelpunkt;&lt;br /&gt;
&lt;br /&gt;
sar nr 2        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;pt&#039; drx 4000 drot 90     &lt;br /&gt;
&lt;br /&gt;
Nachteilig an dieser Lösung ist, dass das Koordinatensystem im Animator riesig groß dargestellt wird!&lt;br /&gt;
&lt;br /&gt;
Bauwerksachse=Klothoide&lt;br /&gt;
&lt;br /&gt;
Hier kann man die Koordinatensysteme der Quad-Elemente auf eine Strukturlinie ausrichten;&lt;br /&gt;
&lt;br /&gt;
sar nr 1        grp 100 mnr 3 mbw 14    nra 7   qref &#039;unte&#039;     mctl +1        bez #bez  kr &#039;ln&#039; drx 105 drot 90&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrollen !!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Natürlich muss man den Winkel und die sich ergebenden Richtungen grafisch kontrollieren. Bei den orthotropen Platten ist streng nach x und y zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
=== Lastachsen aus Sekundärachsen erzeugen ===&lt;br /&gt;
Stand 10/2019! das soll zukünftig besser gehen&lt;br /&gt;
&lt;br /&gt;
Gelegentlich entwickelt man die Sekundärachsen nicht einfach durch eine konstante seitlich Versetztung der Primärachse. Dann hat diese Sekundärachse nicht nur keine eigene Stationierung, sondern sie taugt auch nicht als Lastachse!&lt;br /&gt;
&lt;br /&gt;
Die Lösung besteht darin, eine neue Achse aus der Geometrie dieser Nebenachse zu erzeugen. Diese beiden Achsen sind geometrisch deckungsgleich und die neue Achse ist eine Lastachse.&lt;br /&gt;
 &lt;br /&gt;
==== Definition der Sekundärachse AXIS.n ====&lt;br /&gt;
Der nachstehende Text zeigt, wie man an unterschiedlichen Stationen einen variablen Abstand zwischen der Sekundär- und der Primärachse definieren kann. Über den Typ &amp;quot;SPLI&amp;quot; ergibt sich die gesuchte Form.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;quot;GAXS&amp;quot; wird dann die Sekundärachse &amp;quot;AXIS.n&amp;quot; generiert.&lt;br /&gt;
&lt;br /&gt;
!*!Label nördl. Sekundärachse&lt;br /&gt;
$ Norden: der Abstand wird an vier Stationen über eine Variable gaxv vorgegeben typ=spli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s0 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s1 v -(1.625-0.15)        typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s2 v -(1.625+0.335)       typ spli&lt;br /&gt;
&lt;br /&gt;
gaxv id &#039;AXIS&#039; name yn s #s3 v -(1.625+1.1)         typ spli&lt;br /&gt;
&lt;br /&gt;
gaxs    id &#039;AXIS&#039; ids &#039;n&#039; spt 200 y yn  bez &#039;nördl. Achse&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Da &amp;quot;AXIS.N&amp;quot; im SOFiLOAD nix taugt, wird hier eine neue Achse &amp;quot;NORD&amp;quot; erzeugt. Durch das &amp;quot;ref &#039;AXIS.n&#039;&amp;quot; sind die beiden Achsen (fast) identisch. Mit der Stationierung muss man rumprobieren.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
==== neue Lastachse NORD ====&lt;br /&gt;
&lt;br /&gt;
!*!Label Lastachsen&lt;br /&gt;
&lt;br /&gt;
let#typ &#039;lane&#039;&lt;br /&gt;
&lt;br /&gt;
gax  id &#039;NORD&#039; typ #typ bez &#039;NORD&#039;  ref &#039;AXIS.n&#039; typc spli&lt;br /&gt;
&lt;br /&gt;
let#l_n 77.982          $ Länge der AXIS.n aus dem Result Viewer&lt;br /&gt;
&lt;br /&gt;
                        $ zur Kontrolle dienen die Koordinaten des Knotens 4200&lt;br /&gt;
&lt;br /&gt;
                        $ diese NURB&#039;s werden ohne Stationierung ausgegeben...sollte aber bei etwa 77.982 enden&lt;br /&gt;
&lt;br /&gt;
loop#i div(#l_n/1)+2    $ probieren! $ im SOFiLOAD wird die &amp;quot;Gesamtlänge&amp;quot; und die Stationierung ausgegeben&lt;br /&gt;
&lt;br /&gt;
        gaxc  x 0+#i    y 0     z 0&lt;br /&gt;
&lt;br /&gt;
endloop&lt;br /&gt;
&lt;br /&gt;
=== SAR NR RROP ===&lt;br /&gt;
Gelegentlich ergibt sich die Forderung, eine Strukturfläche in einem bestimmten örtlich begrenzten Bereich zu verändern:&lt;br /&gt;
&lt;br /&gt;
    Dicke&lt;br /&gt;
&lt;br /&gt;
    Gruppennummer&lt;br /&gt;
&lt;br /&gt;
    Bettung&lt;br /&gt;
&lt;br /&gt;
    Material...&lt;br /&gt;
&lt;br /&gt;
Dazu gibt es den Befehl &#039;&#039;&#039;sar nr prop&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Beispiel:&lt;br /&gt;
&lt;br /&gt;
Eine Strukturfläche (Nr. 115) ist bereits (ohne Bettung) definiert. Nun soll noch der Bereich von 1m mit cb gebettet werden.&lt;br /&gt;
&lt;br /&gt;
sar nr 115 grp 2 mnr 4 nra 7 qref mitt cb 0 ct 0 mctl 1 t #tm bez &#039;2 - W5&#039;&lt;br /&gt;
&lt;br /&gt;
sarb typ aus nl 459,414,460,461&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sar  nr prop cb #cbsandu bez &amp;quot;nur 1m Bettung&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz      x2 #x10 #y2 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y2 #zfusz-1    x2 #x10 #y3 #zfusz-1&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz-1    x2 #x10 #y3 #zfusz&lt;br /&gt;
&lt;br /&gt;
sarb out&lt;br /&gt;
&lt;br /&gt;
slnb    x1 #x10  #y3 #zfusz      x2 #x10 #y2 #zfusz&lt;br /&gt;
&lt;br /&gt;
=== Kopplungen von Knoten ===&lt;br /&gt;
Kopplungen sollte man auf jeden Fall einer Gruppe zuordnen. Ggf. unterscheidet man noch nach den Richtungen.&lt;br /&gt;
&lt;br /&gt;
Bei der Verwendung von Kopplungen besteht immer wieder die Frage, wer auf wen gekoppelt wird oder ob das evtl. auch vollkommen bedeutungslos ist. Oft sind die damit verbundenen Fehlermeldung (üblicherweise erst beim ASE - Lauf) schwer zu interpretieren.&lt;br /&gt;
Die Regel lautet &#039;&#039;&#039;hin zum Auflager&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Bei der Kopplung von Knoten ist der Kopplungstyp hinter typ als LITERAL einzugeben. Das LITERAL darf hier aber nicht in Hochkomma gesetzt werden!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;sptp&#039;&#039;&#039;    typ kf  grp 2   ref 300+#nr  $ Kopplung auf den Lagerknoten&lt;br /&gt;
&lt;br /&gt;
Außerdem kann man hier eine Gruppennnummer eingeben, was im Satz spt nicht möglich ist.&lt;br /&gt;
=== Kopplungen von Strukturflächen ===&lt;br /&gt;
Beispieldatei: C:\Glossar\S\Sofimshc&lt;br /&gt;
Beim Kopplung von Strukturflächen gibt es mehrere Varianten.&lt;br /&gt;
&lt;br /&gt;
Etwas knifflig wird es dann, wenn man zwischen den beiden Strukturflächen nicht nur flächige Kopplungen, sondern zusätzlich auch punktuelle Kopplungen generieren möchte.&lt;br /&gt;
&lt;br /&gt;
1. Zusammenwirken von SOFiMSHC und SOFiMSHA&lt;br /&gt;
&lt;br /&gt;
Hier gibt es ein schönes Beispiel im Beispielordner: C:\Program Files\SOFiSTiK\2025\SOFiSTiK 2025…Sofimshc\Flächenmodelle&lt;br /&gt;
&lt;br /&gt;
Nach der Generierung der beiden Flächen im SOFiMSHC werden diese anschließend in SOFiMSHA mittels &lt;br /&gt;
&lt;br /&gt;
Fede gruppe 1 gruppe 2 cl … ca… gekoppelt.&lt;br /&gt;
&lt;br /&gt;
2. Nur mit SOFiMSHC&lt;br /&gt;
&lt;br /&gt;
Im SOFiMSHC gibt es den Satz sars, mit dem Parameter reft &amp;gt;sar ref nr. Das ist echt stark und man kann auch für die Kopplung eine Materialnummer auswählen.&lt;br /&gt;
&lt;br /&gt;
Wenn man nun noch zusätzlich einzelne Knoten koppeln möchte, so liegt es auf der Hand, einfach unter dem sar Befehl den Befehl sarb typ conc np nr zu verwenden. Diese Kopplungen werden aber mit dem sars – Befehl „zerschossen“.&lt;br /&gt;
&lt;br /&gt;
3. Trick&lt;br /&gt;
&lt;br /&gt;
Man kann das gesuchte Ergebnis dadurch erreichen, in dem man die Gesamtfläche in Teilflächen zerlegt und dabei die gekoppelten Knoten bei der sln Definition verwendet. Das ist zwar etwas mehr Programmieraufwand, funktioniert aber einwandfrei.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;260&amp;quot; heights=&amp;quot;195&amp;quot; perrow=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
Kopplung sar 1.jpg|System&lt;br /&gt;
Kopplung sar 2.jpg|sars&lt;br /&gt;
Kopplung sar 3.jpg|Teilflächen&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gelenkbedingungen an sln in Flächentragwerken ===&lt;br /&gt;
Gelegentlich brauch man Gelenkbedingungen entlang einer Strukturlinie zwischen zwei Flächen. Das typische Beispiel ist eine eche Raumfuge oder auch &amp;quot;Nut und Feder&amp;quot;.&lt;br /&gt;
Die nicht zu übertragenden Schnittgrößen werden im Satz SARB hinter FIX als Literal eingegeben.&lt;br /&gt;
&lt;br /&gt;
sar     nr 22    grp 10 mnr 1 mbw 11 qref &#039;oben&#039; cb -   ct -  nx 0    ny 0    nz -1    nra 7 t 0.7     bez &#039;#bez&#039; mctl &#039;regm&#039;  kr &#039;posx&#039;&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2012,2013,102&lt;br /&gt;
&lt;br /&gt;
sarb    typ aus nl   2102               &#039;&#039;&#039;fix &#039;ppmm&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Die sln nr 2102 überträger keine der sechs Schnittgrößen.&lt;br /&gt;
&lt;br /&gt;
Auch bei der Generierung von sln kann man solche Eigenschaften definieren, muss aber hierbei zwischen interen Knoten und den beiden Außenknoten unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Meiner Erfahrung nach, funktioniert das mit den Rumfugen nur dann, wenn die SAR, welche &amp;quot;dazukommt&amp;quot; die Angaben mit dem &#039;&#039;&#039;&#039;&#039;fix&#039;&#039;&#039;&#039;&#039; bekommt.&lt;br /&gt;
&lt;br /&gt;
=== Randelemente ===&lt;br /&gt;
Grundsätzlich ist jede Strukturline, welche in einer Gruppe &amp;gt;0 generiert wird, ein Randelement. Diese Randelemente kann man mit Maxima auswerten.&lt;br /&gt;
Da man einer sln auch eine Bezeichnung mitgeben kann, kann man das recht übersichtlich ausgeben.&lt;br /&gt;
&lt;br /&gt;
s. steu lsup&lt;br /&gt;
&lt;br /&gt;
=== System in mm ===&lt;br /&gt;
&lt;br /&gt;
Die Eingabe des Systems in Millimeter zu erledigen ist kein Problem. &lt;br /&gt;
&lt;br /&gt;
norm &#039;DIN&#039; &#039;en199x-200x&#039;  unit 6&lt;br /&gt;
&lt;br /&gt;
Will man nun auch noch die Ausgabe in der Systemgenerierung mm, so muß man das über die UNIT im SOFiMSHC einstellen.&lt;br /&gt;
&lt;br /&gt;
unit type 1001 &amp;quot;mm&amp;quot; dig 1    $ mm&lt;br /&gt;
&lt;br /&gt;
Die Tabelle der Konotenkoordinaten erschein jetzt in mm mit einer Nachkommastelle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Statisches System]]&lt;br /&gt;
[[Kategorie:SOFiMSHC]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=G_Stabilit%C3%A4tsberechnungen_von_st%C3%A4hlernen_Stabtragwerken&amp;diff=13943</id>
		<title>G Stabilitätsberechnungen von stählernen Stabtragwerken</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=G_Stabilit%C3%A4tsberechnungen_von_st%C3%A4hlernen_Stabtragwerken&amp;diff=13943"/>
		<updated>2026-04-24T05:31:05Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Modellbildung ==&lt;br /&gt;
Bei der Modellierung von stabilitätsgefährdeten Tragwerken muss der Schwerpunkt auf dem Thema &#039;&#039;&#039;Verformungsberechnung&#039;&#039;&#039; liegen. Dabei geht es zuallererst um möglichst wirklichkeitsnahe Abbildung der Auflagerungen. Natürlich ist die korrekte Erfassung der Schwerpunktlage, Lage evtl. Fesselungen sowie die korrekte Lasteinleitung wichtig. Weiterhin geht es um das Thema Torsion! In besonders einfachen Fällen genügt ein ebenes Modell. Mit unseren heutigen Möglichkeiten ist es aber immer besser, im Raum zu rechnen.&lt;br /&gt;
Grundsätzlich kann der Stabilitätsnachweis am Gesamttragwerk &amp;lt;ref&amp;gt;HB EC3 Kap. II Abschn. 5.2.2 (7) a &amp;lt;/ref&amp;gt; geführt werden. Dann sind auch keine weiteren Stabilitätsnachweise an einzelnen Bauteilen erforderlich.&lt;br /&gt;
&lt;br /&gt;
== Theorie II. bzw. III. Ordnung ==&lt;br /&gt;
&lt;br /&gt;
Unter [[L Theorie II. und III. Ordnung-die großen Missverständnisse|Theorie II. bzw. III. Ordnung]] versteht man, dass das Gleichgewicht zwischen den äußeren Lasten und den Schnittgrößen am verformeten System ermittelt werden.&lt;br /&gt;
&lt;br /&gt;
Die Begriffsbestimmung ist etwas unklar . Bei der Sofistik besteht die Verschärfung der Berechnung nach Theorie III. Ordnung gegenüber der II. Ordnung darin, dass bei Theorie III. Ordnung auch noch &amp;quot;geometrische Systemänderungen - Starrkörperverschiebung&amp;quot; (sehr große Dehnungen, Durchschlagen, etc.) berücksichtigt werden. &amp;lt;ref&amp;gt;Handbuch ASE Abschn. 2.3.1&amp;lt;/ref&amp;gt; Außerdem bleiben die Lasten richtungstreu.&lt;br /&gt;
&lt;br /&gt;
Die Wölbkrafttorsion sowie die Schubverformungen werden (bei dünnwandigen Querschnitten des Stahlbaus) immer berücksichtigt. Allerdings kann die Wölbkrafttorsion (STEU WARP 1) nur für gerade Stäbe berechnet werden. Außerdem müssen alle Stäbe des System einen Wölbwiderstand (keine QB-Querschnitte) haben.&lt;br /&gt;
&lt;br /&gt;
== Berechnungsgang ==&lt;br /&gt;
Klassischerweise sind mehrere Primärzustände zu untersuchen. Eine Beschränkung auf die Normalkraft ist nur in Ausnahmefällen ausreichend.&lt;br /&gt;
Entweder man untersucht M&amp;lt;sub&amp;gt;y,max&amp;lt;/sub&amp;gt;, M&amp;lt;sub&amp;gt;z,max&amp;lt;/sub&amp;gt;, M&amp;lt;sub&amp;gt;T,max&amp;lt;/sub&amp;gt; und N&amp;lt;sub&amp;gt;min&amp;lt;/sub&amp;gt; oder man schaut gleich nach den extremalen Verformungen y&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;, z&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt; und ϑ&amp;lt;sub&amp;gt;max&amp;lt;/sub&amp;gt;. Die zu diesen Extremwerten gehörigen Schnittkraftkombinationen sind anschließend in &#039;&#039;&#039;einem&#039;&#039;&#039; neuen Lastfall zu speichern. Diese neuen Lastfälle (in denen natürlich auch keine nennenswerten Spannungsüberschreitungen auftreten dürfen) bilden die Ausgangssituation für die Stabilitätsberechnung. Bei Bahnbrücken nicht vergessen! dynamischer Beiwert und Klassifizierungsfaktor.&lt;br /&gt;
&lt;br /&gt;
Die &#039;&#039;&#039;Steifigkeiten&#039;&#039;&#039; aller Elemente sind nicht mehr mit 1/&#039;&#039;&#039;1,1&#039;&#039;&#039; &amp;lt;ref&amp;gt; DIN 18800-1 (Nov. 2008) (721)&amp;lt;/ref&amp;gt; abzunindern...die alte Stahlbaunorm machte noch eine solche Vorgabe.&lt;br /&gt;
&lt;br /&gt;
Bei der Lastgenerierung ist darauf zu achten, daß die Lasten einen Abstand zum Schwerpunkt des Querschnitts haben. Im SOFiLOAD (Befehl line) gibt es dazu Möglichkeiten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Eigenwertermittlung ===&lt;br /&gt;
Ausgehend von einem der Primärlastfälle werden nun für selbigen die ersten Eigenwerte (diese sind spannungsabhängig!) und die Lastfaktoren berechnet.&lt;br /&gt;
Der Eigenwert zeigt die Qualität der Versagensform, der Lastfaktor gibt an, um wieviel die extreme Schnittgröße noch gesteigert werden könnte.&lt;br /&gt;
Bei komplexen statischen System werden oft sehr dubiose Eigenformen ermittelt. Es gilt also die Eigenform auszuwählen, welche der gesuchten Versagensform entspricht. Evtl. muss das Berechnungsverfahren variiert werden. Über den Satz MASS kann man auch die einzelnen Richtungen der Massen &amp;quot;aus- bzw. einschalten&amp;quot;.&lt;br /&gt;
Ob der erste Eigenwert oder einer der höheren Eigenwerte weiter verwendet wird, muss am konkreten Beispiel entschieden werden.&lt;br /&gt;
Wesentlich ist neben dem Charakter der Eigenform vor allem noch die Aussage, ob die Verschiebung in lokal y oder lokal z überwiegt. Dass entscheidet darüber, ob bei der Ermittlung der Vorverformung IY oder IZ (s. Glg. 5.9 der DIN EN 1993-1-1 Abschn. 5.3) zu verwenden ist.Dazu muss die größte Krümmung der Eigenform kontrolliert werden werden.&lt;br /&gt;
&lt;br /&gt;
=== Vorverformung ===&lt;br /&gt;
Die anzusetzende Vorverformung stellt die eigentliche Aufgabe der Stabilitätsberechnung dar. &lt;br /&gt;
Es kann mit belastungsunabhängigen oder mit belastungsabhängigen Vorverformung gerechnet werden.&amp;lt;ref&amp;gt;HB EC 3 Kap. II Abschn. 5.3.4 (2) &amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dabei ist zwischen &amp;quot;elastischer Querschnittsausnutzung&amp;quot; und &amp;quot;plastischer Querschnittsausnutzung&amp;quot; zu unterscheiden.&lt;br /&gt;
&lt;br /&gt;
Im Brückenbau dürfen nicht die Regeln des Hochbaus angewandt werden &amp;lt;ref&amp;gt;Handbuch EC 3 Stahlbau Band 3: Brücken Kap. II Abschn. 5.3.4 Fußnote 32&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== belastungsunabhängige Vorverformung ====&lt;br /&gt;
Für die Faulpelze gibt die Norm &amp;lt;ref&amp;gt;HB EC 3 Kap. II Abschn. 5.3.2 b) Tab. NA.1 &amp;lt;/ref&amp;gt; eine Vorverformung an, welche nur von der Bauteillänge L und der Knickline des Querschnitts abhängt. Diese Werte sind relativ groß.&lt;br /&gt;
&lt;br /&gt;
==== belastungsabhängige Vorverformung ====&lt;br /&gt;
Will man die Iteration mit einer kleineren anfänglichen Vorverformung starten, so führt der Weg über die Glg. 5.10 im Handbuch EC 3 Kap. II Abschn. 5.3.2 (11).&lt;br /&gt;
&lt;br /&gt;
[[Datei:Alpha ult.jpg|gerahmt|zentriert|kleinster Vergrößerungsfaktor α&amp;lt;sub&amp;gt;ult&amp;lt;/sub&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Nun muss man noch eine Knickspannungslinie wählen (→Imperfektionsbeiwert α) &amp;lt;ref&amp;gt;HB EC 3 Kap. II Abschn. 6.3.1.2: Tab. 6.1 und Bild 6.4&amp;lt;/ref&amp;gt;. Mit der Schlankheit λ und der Knickspannungslinie kann man nunmehr des Abminderungsfaktor χ ablesen. &lt;br /&gt;
&lt;br /&gt;
Damit liegen alle Werte vor, um die Vorverformung zu berechnen. Ein Vergleich mit der lastunabhängigen Vorverformung liefert eine Plausibilitätskontrolle. &lt;br /&gt;
&lt;br /&gt;
[[Datei:Eod.jpg|gerahmt|zentriert|Vorverformung_e0]]&lt;br /&gt;
&lt;br /&gt;
Aus der Eigenformberechnung kommen die geometrischen (lastbezogenen) Einflüsse auf die anzusetzende Vorverformung. Die Knickspannungslinie liefert die strukturellen Einflüsse.&lt;br /&gt;
&lt;br /&gt;
=== iterative Berechnung - Gleichgewicht am verformten System ===&lt;br /&gt;
Mit der gewählten Vorverformung und dem Primärzustand liegen nun alle notwendigen Daten vor, um die Iteration durchzuführen.&lt;br /&gt;
Zur &#039;&#039;&#039;Kontrolle&#039;&#039;&#039; sollte man die Berechnung mit einer sehr kleinen Last starten und sich die &amp;quot;Startverformung&amp;quot; genau anschauen. Wenn die stimmt...&lt;br /&gt;
Falls das Programm kein Gleichgewicht (nach Theorie III. Ordnung) am verformten System findet, sollte man ...? auf jeden Fall die Parameter der Iteration überprüfen.&lt;br /&gt;
Abschließend erfolgt eine Spannungsberechnung (γ=γ&amp;lt;sub&amp;gt;Mo&amp;lt;/sub&amp;gt;=1,0) am verformten System. Wenn dabei keine nennenswerten Spannungsüberschreitungen auftreten, so ist das Tragwerk (für die untersuchte extreme Schnittgröße) standsicher.&lt;br /&gt;
&lt;br /&gt;
== Hallentragwerke ==&lt;br /&gt;
Bei den Hallen will man gelegentlich die Wand- bzw. Dachelemente für den Stabilitätsnachweis heranziehen.&lt;br /&gt;
Dazu kann man mit LAY in AQUA ein mehrschichtes Material definieren. Im ASE muss man dann noch die Quersteifigkeit reduzieren. Wenn man das zum Laufen bringt: toll.&lt;br /&gt;
&lt;br /&gt;
Aber auch ohnen diese Elemente im Stabilitätsnachweis zu berücksichtigen, kann man sich an einem solchen System Dreh- und Verschiebesteifigkeiten berechnen und diese dann im &amp;quot;einfachen&amp;quot; Stabmodell ansetzen.&lt;br /&gt;
&lt;br /&gt;
[[L Praxisgerechte Nachweise zur Trag- und Gebrauchstauglichkeit|s.a.]] &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
== kritische wacklige Systeme ==&lt;br /&gt;
Häüfig setzt die Berechnung nach TH3 auf einen Primärlastfall auf.&lt;br /&gt;
&lt;br /&gt;
Falls das nicht funktioniert, ist es sinnvoll: steu iter 3 w2 1 zu versuchen und den PLF wegzulassen.&lt;br /&gt;
&lt;br /&gt;
steu iter 3 w2 1&lt;br /&gt;
&lt;br /&gt;
syst prob th3 iter 300 fmax 1.3 tol -0.9  $ plf 6001&lt;br /&gt;
&lt;br /&gt;
steu seil 1&lt;br /&gt;
&lt;br /&gt;
steu warn 480&lt;br /&gt;
&lt;br /&gt;
lf  nr 6002 typ &#039;Y_L&#039;    fakg 1.35 bez &#039;TH3: Stummel 41&#039;&lt;br /&gt;
&lt;br /&gt;
    lc 5001  plf ja&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
s. C:\Projekte\2024\04-2024 Stahlhalle München\sofistik\Teil IV Dachverband BC\ff4.zip&lt;br /&gt;
&lt;br /&gt;
== Sofistik - Beispiele ==&lt;br /&gt;
s. &#039;&#039;&#039;ase_geo_nonl_uebersicht.dat&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
s. &#039;&#039;&#039;ase9_quad_eulerstab.dat&#039;&#039;&#039; (hier auch Ausdruck der Lastverformungskurve)&lt;br /&gt;
&lt;br /&gt;
s. &#039;&#039;&#039;beuleigenwert_shift.dat&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
s. &#039;&#039;&#039;warping_mtp_mts_mtn.dat&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
s. &#039;&#039;&#039;ase11_traegerkippen.dat&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
s. Ordner: C:\Glossar\S\stabilitätsberechnungen\Vorlage_Stabilitätsberechnung_EC3&lt;br /&gt;
&lt;br /&gt;
== Schlagwörter ==&lt;br /&gt;
Stabilität, Vorverformung, Eigenwerte, Biegedrillknicken, Knicken, Kippen, Seilberechnung, TH3, steu iter&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Nichtlineare Berechnungen]]&lt;br /&gt;
[[Kategorie:Stahlbau]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_TEDDY&amp;diff=13942</id>
		<title>C TEDDY</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_TEDDY&amp;diff=13942"/>
		<updated>2026-04-02T08:51:48Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Dateiordner aufräumen und Überblick behalten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== TEDDY - Kommandos ==&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
Ich bin ein bekennender TEDDYaner. Nach meiner Meinung bietet die textbasierte viele Vorteile gegenüber der grafischen. Ich sehe da vor allem Fragen der Kontrolle und Nachvollziehbarkeit. Weiterhin kann man sich so einen &amp;quot;Bausteinkasten&amp;quot; für immer wiederkehrende Teilaufgaben zusammenstellen. Kleine Kommentare helfen bei späterer Wiederverwendung der Textbausteine.&lt;br /&gt;
&lt;br /&gt;
Nicht zu vergessen, die Zeit. Text geht in der Summe schneller.&lt;br /&gt;
[[Datei:Cadinp.jpg|mini|siehe da]]&lt;br /&gt;
&lt;br /&gt;
Besonders hilfeich sind die TEDDY -Kommandos. Ich verwende die hier dokumentierten:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ für den Arbeitsalltag&lt;br /&gt;
|-&lt;br /&gt;
!  !! &lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:TEDDY-Kommandos.jpg|mini|links|1800px|Teddy - Kommandos]] || sehr effektiv&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dazu kommen vor allem die Themen [[C Überprüfung von Variablen und logische Abfragen|Schleifen]], [[C Funktionen|Funktionen]], [[C Felder|Felder]].&lt;br /&gt;
Aber so richtig stark wird der TEDDY beim Thema [[C Parametrisierung und Variantenuntersuchung|Parametrisierung]].&lt;br /&gt;
&lt;br /&gt;
Nun kommt auf uns das Thema &amp;quot;Künstliche Intelligenz&amp;quot; zu. Ich habe inzwischen auf YouTube gesehen, das GPT4 einen Steuerdatei .dat erzeugen kann: Spracheingabe!&lt;br /&gt;
&lt;br /&gt;
Mir macht das allerdings keine Sorgen. Das mit der Intelligenz ist doch etwas komplexer...und spätestens bei der Unterschrift ist GPT4 (und dessen Anwender) nur ein Trottel.&lt;br /&gt;
&lt;br /&gt;
Mag sein, dass klar umrissene Aufgaben eine KI-Software erledigen kann. Aber dafür haben wir ja auch schon die &amp;quot;Standardisierung&amp;quot;. An dieser zeigt sich jedoch klar, dass es eben nur ganz selten das Standardbauwerk gibt.&lt;br /&gt;
&lt;br /&gt;
Vor 30+++ Jahren wollte mir ein Professor erklären, es gäbe bald keine Arbeit mehr für solche &amp;quot;Rechenknechte&amp;quot; wie mich...&amp;quot;das wird jetzt alles über EDV und Standardisierung einmal und auch abschließend abgearbeitet&amp;quot;.&lt;br /&gt;
Planer machen dann einfach einen Katalog auf, wuseln sich zwischen den Eingangsparametern etwas zurecht und finden in diesem Katalog dann die Lösung für ihre Planungsaufgabe. 🤣 Die &#039;&#039;&#039;Faulheit&#039;&#039;&#039; (besonders bzgl. des Denkens) war, ist und bleibt eine wesentliche Antriebskraft für die menschliche Entwicklung. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPT4 ist für Leute mit Gehirn keine Bedrohung...für die anderen schon. 🤣&lt;br /&gt;
&lt;br /&gt;
=== Dateiordner aufräumen und Überblick behalten ===&lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, den Ordner regelmäßig aufzuräumen. Dabei bleibt aber die CDB erhalten.&lt;br /&gt;
&lt;br /&gt;
+sys del $(project).$d?&lt;br /&gt;
&lt;br /&gt;
Um auch nach langer Zeit und bei sehr umfangreichen Projekten (mit mehreren Versionen...) den Überblich zu behalten,&lt;br /&gt;
kann man den Namen der Steuerdatei in die Ausgabe schreiben.&lt;br /&gt;
&lt;br /&gt;
txa Dateiname: $(name).dat&lt;br /&gt;
&lt;br /&gt;
Man kann auch unter &amp;quot;Projektoptionen&amp;quot; ein Häkchen bei -&amp;gt; Logo und Fußzeile -&amp;gt; &amp;quot;Dateinamen am unteren Blattrand&amp;quot; anzeigen aktivieren.&lt;br /&gt;
&lt;br /&gt;
=== F4 - Suchen und Ersetzen ===&lt;br /&gt;
&lt;br /&gt;
Mit F4 steht ein gewaltiges Werkzeug zur Verfügung. Damit kann man sehr effektiv viel Eingabezeilen manipulieren. Aber aufgepasst: die Maske springt schnell mal zu &amp;quot;Aktuelles Dokument&amp;quot; statt wie sicherlich beabsichtigt &amp;quot;Aktuelle Auswahl&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Wenn man da nicht aufpasst und eben mal fix losrechnet (dabei wird gespeichert!), so hat man einen schwer erkennbaren Fehler.&lt;br /&gt;
=== Farben ===&lt;br /&gt;
Man kann sich eine benutzerdefinierte Farbpalette anlegen. Leider steht diese nach einem Update nicht mehr zur Verfügung. Die Farbeinstellungen werden in der Registry gespeichert. Wer sich es sich  zutraut: &#039;&#039;Computer\HKEY_CURRENT_USER\Software\SOFiSTiK\2023\Teddy\Farben&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mein aktuelle Farbpalette sieht so aus:&lt;br /&gt;
&lt;br /&gt;
Windows Registry Editor Version 5.00&lt;br /&gt;
&lt;br /&gt;
[HKEY_CURRENT_USER\Software\SOFiSTiK\&#039;&#039;&#039;2024&#039;&#039;&#039;\Teddy\Farben]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Palette&amp;quot;=&amp;quot;Frei definierte Palette&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Normaler Text&amp;quot;=&amp;quot;4294967295,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Steuerzeichen&amp;quot;=&amp;quot;4294967040,4294902015&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kommentar&amp;quot;=&amp;quot;4278255360,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;PROG-Zeile&amp;quot;=&amp;quot;4294901760,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kennwoerter&amp;quot;=&amp;quot;4283826175,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kennwoerter2&amp;quot;=&amp;quot;4283804415,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Selektierter Text&amp;quot;=&amp;quot;4294945280,4294967295&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Suchen-Markierung&amp;quot;=&amp;quot;4278190080,4294902015&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Endemarkierung&amp;quot;=&amp;quot;4294967040,4294902015&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Parameter&amp;quot;=&amp;quot;4294967040,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sonderzeichen&amp;quot;=&amp;quot;4294967040,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;String&amp;quot;=&amp;quot;4294967295,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Literal&amp;quot;=&amp;quot;4289703855,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Massen und Materialien ==&lt;br /&gt;
Der Kontrollausdruck vom SOFiMSHC liefert die Mengen der einzelnen Gruppen.&lt;br /&gt;
Bei Verbundquerschnitte beinhaltet die Mengenangabe natürich aus den Beton. Ist aber die Menge des Stahls gefragt, muß man etwas tiefer einsteigen.&lt;br /&gt;
# : dort die sto - Variablen &amp;quot;MAT_MASS&amp;quot; Materialnummer&lt;br /&gt;
# : &amp;quot;template echo syst 242 ende&amp;quot; (Stabelemente, 244 ?) macht eine tolle Tabelle getrennt nach Materialnummern&lt;br /&gt;
== Einheiten ==&lt;br /&gt;
Über &amp;quot;UNIT&amp;quot; lassen sich die Einheiten ansprechen. Ich finde die 5 und 6 ganz praktisch.&lt;br /&gt;
Im WINGRAF kann man unter &amp;quot;Extras&amp;quot; ebenfalls die Einheiten der Ausgabe steuern. Manchmal sind die Millimeter die bessere Wahl.&lt;br /&gt;
&lt;br /&gt;
Die Voreinstellung für die Einheit der Winkel ist &amp;quot;DEG&amp;quot;. Man kann auch in &amp;quot;GON&amp;quot; und &amp;quot;RAD&amp;quot; rechnen.&lt;br /&gt;
&lt;br /&gt;
== Hilfe ==&lt;br /&gt;
Neben der Hotline gibt es auch noch ein Forum.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Sofistik forum filter.jpg|mini|links|1200px|Anzahl der Beiträge getrennt nach Teddy...SSD]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_TEDDY&amp;diff=13941</id>
		<title>C TEDDY</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_TEDDY&amp;diff=13941"/>
		<updated>2026-04-02T08:51:31Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Dateiordner aufräumen und Überblick behalten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== TEDDY - Kommandos ==&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
Ich bin ein bekennender TEDDYaner. Nach meiner Meinung bietet die textbasierte viele Vorteile gegenüber der grafischen. Ich sehe da vor allem Fragen der Kontrolle und Nachvollziehbarkeit. Weiterhin kann man sich so einen &amp;quot;Bausteinkasten&amp;quot; für immer wiederkehrende Teilaufgaben zusammenstellen. Kleine Kommentare helfen bei späterer Wiederverwendung der Textbausteine.&lt;br /&gt;
&lt;br /&gt;
Nicht zu vergessen, die Zeit. Text geht in der Summe schneller.&lt;br /&gt;
[[Datei:Cadinp.jpg|mini|siehe da]]&lt;br /&gt;
&lt;br /&gt;
Besonders hilfeich sind die TEDDY -Kommandos. Ich verwende die hier dokumentierten:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ für den Arbeitsalltag&lt;br /&gt;
|-&lt;br /&gt;
!  !! &lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:TEDDY-Kommandos.jpg|mini|links|1800px|Teddy - Kommandos]] || sehr effektiv&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dazu kommen vor allem die Themen [[C Überprüfung von Variablen und logische Abfragen|Schleifen]], [[C Funktionen|Funktionen]], [[C Felder|Felder]].&lt;br /&gt;
Aber so richtig stark wird der TEDDY beim Thema [[C Parametrisierung und Variantenuntersuchung|Parametrisierung]].&lt;br /&gt;
&lt;br /&gt;
Nun kommt auf uns das Thema &amp;quot;Künstliche Intelligenz&amp;quot; zu. Ich habe inzwischen auf YouTube gesehen, das GPT4 einen Steuerdatei .dat erzeugen kann: Spracheingabe!&lt;br /&gt;
&lt;br /&gt;
Mir macht das allerdings keine Sorgen. Das mit der Intelligenz ist doch etwas komplexer...und spätestens bei der Unterschrift ist GPT4 (und dessen Anwender) nur ein Trottel.&lt;br /&gt;
&lt;br /&gt;
Mag sein, dass klar umrissene Aufgaben eine KI-Software erledigen kann. Aber dafür haben wir ja auch schon die &amp;quot;Standardisierung&amp;quot;. An dieser zeigt sich jedoch klar, dass es eben nur ganz selten das Standardbauwerk gibt.&lt;br /&gt;
&lt;br /&gt;
Vor 30+++ Jahren wollte mir ein Professor erklären, es gäbe bald keine Arbeit mehr für solche &amp;quot;Rechenknechte&amp;quot; wie mich...&amp;quot;das wird jetzt alles über EDV und Standardisierung einmal und auch abschließend abgearbeitet&amp;quot;.&lt;br /&gt;
Planer machen dann einfach einen Katalog auf, wuseln sich zwischen den Eingangsparametern etwas zurecht und finden in diesem Katalog dann die Lösung für ihre Planungsaufgabe. 🤣 Die &#039;&#039;&#039;Faulheit&#039;&#039;&#039; (besonders bzgl. des Denkens) war, ist und bleibt eine wesentliche Antriebskraft für die menschliche Entwicklung. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPT4 ist für Leute mit Gehirn keine Bedrohung...für die anderen schon. 🤣&lt;br /&gt;
&lt;br /&gt;
=== Dateiordner aufräumen und Überblick behalten ===&lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, den Ordner regelmäßig aufzuräumen. Dabei bleibt aber die CDB erhalten.&lt;br /&gt;
&lt;br /&gt;
+sys del $(project).$d?&lt;br /&gt;
&lt;br /&gt;
Um auch nach langer Zeit und bei sehr umfangreichen Projekten (mit mehreren Versionen...) den Überblich zu behalten,&lt;br /&gt;
kann man den Namen der Steuerdatei in die Ausgabe schreiben.&lt;br /&gt;
&lt;br /&gt;
txa Dateiname: $(name).dat&lt;br /&gt;
&lt;br /&gt;
Man kann auch unter &amp;quot;Projektoptionen&amp;quot; ein Häkchen bei -&amp;gt; Lago und Fußzeile -&amp;gt; &amp;quot;Dateinamen am unteren Blattrand&amp;quot; anzeigen aktivieren.&lt;br /&gt;
&lt;br /&gt;
=== F4 - Suchen und Ersetzen ===&lt;br /&gt;
&lt;br /&gt;
Mit F4 steht ein gewaltiges Werkzeug zur Verfügung. Damit kann man sehr effektiv viel Eingabezeilen manipulieren. Aber aufgepasst: die Maske springt schnell mal zu &amp;quot;Aktuelles Dokument&amp;quot; statt wie sicherlich beabsichtigt &amp;quot;Aktuelle Auswahl&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Wenn man da nicht aufpasst und eben mal fix losrechnet (dabei wird gespeichert!), so hat man einen schwer erkennbaren Fehler.&lt;br /&gt;
=== Farben ===&lt;br /&gt;
Man kann sich eine benutzerdefinierte Farbpalette anlegen. Leider steht diese nach einem Update nicht mehr zur Verfügung. Die Farbeinstellungen werden in der Registry gespeichert. Wer sich es sich  zutraut: &#039;&#039;Computer\HKEY_CURRENT_USER\Software\SOFiSTiK\2023\Teddy\Farben&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mein aktuelle Farbpalette sieht so aus:&lt;br /&gt;
&lt;br /&gt;
Windows Registry Editor Version 5.00&lt;br /&gt;
&lt;br /&gt;
[HKEY_CURRENT_USER\Software\SOFiSTiK\&#039;&#039;&#039;2024&#039;&#039;&#039;\Teddy\Farben]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Palette&amp;quot;=&amp;quot;Frei definierte Palette&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Normaler Text&amp;quot;=&amp;quot;4294967295,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Steuerzeichen&amp;quot;=&amp;quot;4294967040,4294902015&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kommentar&amp;quot;=&amp;quot;4278255360,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;PROG-Zeile&amp;quot;=&amp;quot;4294901760,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kennwoerter&amp;quot;=&amp;quot;4283826175,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kennwoerter2&amp;quot;=&amp;quot;4283804415,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Selektierter Text&amp;quot;=&amp;quot;4294945280,4294967295&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Suchen-Markierung&amp;quot;=&amp;quot;4278190080,4294902015&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Endemarkierung&amp;quot;=&amp;quot;4294967040,4294902015&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Parameter&amp;quot;=&amp;quot;4294967040,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sonderzeichen&amp;quot;=&amp;quot;4294967040,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;String&amp;quot;=&amp;quot;4294967295,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Literal&amp;quot;=&amp;quot;4289703855,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Massen und Materialien ==&lt;br /&gt;
Der Kontrollausdruck vom SOFiMSHC liefert die Mengen der einzelnen Gruppen.&lt;br /&gt;
Bei Verbundquerschnitte beinhaltet die Mengenangabe natürich aus den Beton. Ist aber die Menge des Stahls gefragt, muß man etwas tiefer einsteigen.&lt;br /&gt;
# : dort die sto - Variablen &amp;quot;MAT_MASS&amp;quot; Materialnummer&lt;br /&gt;
# : &amp;quot;template echo syst 242 ende&amp;quot; (Stabelemente, 244 ?) macht eine tolle Tabelle getrennt nach Materialnummern&lt;br /&gt;
== Einheiten ==&lt;br /&gt;
Über &amp;quot;UNIT&amp;quot; lassen sich die Einheiten ansprechen. Ich finde die 5 und 6 ganz praktisch.&lt;br /&gt;
Im WINGRAF kann man unter &amp;quot;Extras&amp;quot; ebenfalls die Einheiten der Ausgabe steuern. Manchmal sind die Millimeter die bessere Wahl.&lt;br /&gt;
&lt;br /&gt;
Die Voreinstellung für die Einheit der Winkel ist &amp;quot;DEG&amp;quot;. Man kann auch in &amp;quot;GON&amp;quot; und &amp;quot;RAD&amp;quot; rechnen.&lt;br /&gt;
&lt;br /&gt;
== Hilfe ==&lt;br /&gt;
Neben der Hotline gibt es auch noch ein Forum.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Sofistik forum filter.jpg|mini|links|1200px|Anzahl der Beiträge getrennt nach Teddy...SSD]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_TEDDY&amp;diff=13940</id>
		<title>C TEDDY</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_TEDDY&amp;diff=13940"/>
		<updated>2026-04-02T08:20:56Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Dateiordner aufräumen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== TEDDY - Kommandos ==&lt;br /&gt;
=== Einleitung ===&lt;br /&gt;
Ich bin ein bekennender TEDDYaner. Nach meiner Meinung bietet die textbasierte viele Vorteile gegenüber der grafischen. Ich sehe da vor allem Fragen der Kontrolle und Nachvollziehbarkeit. Weiterhin kann man sich so einen &amp;quot;Bausteinkasten&amp;quot; für immer wiederkehrende Teilaufgaben zusammenstellen. Kleine Kommentare helfen bei späterer Wiederverwendung der Textbausteine.&lt;br /&gt;
&lt;br /&gt;
Nicht zu vergessen, die Zeit. Text geht in der Summe schneller.&lt;br /&gt;
[[Datei:Cadinp.jpg|mini|siehe da]]&lt;br /&gt;
&lt;br /&gt;
Besonders hilfeich sind die TEDDY -Kommandos. Ich verwende die hier dokumentierten:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ für den Arbeitsalltag&lt;br /&gt;
|-&lt;br /&gt;
!  !! &lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:TEDDY-Kommandos.jpg|mini|links|1800px|Teddy - Kommandos]] || sehr effektiv&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dazu kommen vor allem die Themen [[C Überprüfung von Variablen und logische Abfragen|Schleifen]], [[C Funktionen|Funktionen]], [[C Felder|Felder]].&lt;br /&gt;
Aber so richtig stark wird der TEDDY beim Thema [[C Parametrisierung und Variantenuntersuchung|Parametrisierung]].&lt;br /&gt;
&lt;br /&gt;
Nun kommt auf uns das Thema &amp;quot;Künstliche Intelligenz&amp;quot; zu. Ich habe inzwischen auf YouTube gesehen, das GPT4 einen Steuerdatei .dat erzeugen kann: Spracheingabe!&lt;br /&gt;
&lt;br /&gt;
Mir macht das allerdings keine Sorgen. Das mit der Intelligenz ist doch etwas komplexer...und spätestens bei der Unterschrift ist GPT4 (und dessen Anwender) nur ein Trottel.&lt;br /&gt;
&lt;br /&gt;
Mag sein, dass klar umrissene Aufgaben eine KI-Software erledigen kann. Aber dafür haben wir ja auch schon die &amp;quot;Standardisierung&amp;quot;. An dieser zeigt sich jedoch klar, dass es eben nur ganz selten das Standardbauwerk gibt.&lt;br /&gt;
&lt;br /&gt;
Vor 30+++ Jahren wollte mir ein Professor erklären, es gäbe bald keine Arbeit mehr für solche &amp;quot;Rechenknechte&amp;quot; wie mich...&amp;quot;das wird jetzt alles über EDV und Standardisierung einmal und auch abschließend abgearbeitet&amp;quot;.&lt;br /&gt;
Planer machen dann einfach einen Katalog auf, wuseln sich zwischen den Eingangsparametern etwas zurecht und finden in diesem Katalog dann die Lösung für ihre Planungsaufgabe. 🤣 Die &#039;&#039;&#039;Faulheit&#039;&#039;&#039; (besonders bzgl. des Denkens) war, ist und bleibt eine wesentliche Antriebskraft für die menschliche Entwicklung. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPT4 ist für Leute mit Gehirn keine Bedrohung...für die anderen schon. 🤣&lt;br /&gt;
&lt;br /&gt;
=== Dateiordner aufräumen und Überblick behalten ===&lt;br /&gt;
&lt;br /&gt;
Es empfiehlt sich, den Ordner regelmäßig aufzuräumen. Dabei bleibt aber die CDB erhalten.&lt;br /&gt;
&lt;br /&gt;
+sys del $(project).$d?&lt;br /&gt;
&lt;br /&gt;
Um auch nach langer Zeit und bei sehr umfangreichen Projekten (mit mehreren Versionen...) den Überblich zu behalten,&lt;br /&gt;
kann man den Namen der Steuerdatei in die Ausgabe schreiben.&lt;br /&gt;
&lt;br /&gt;
txa Dateiname: $(name).dat&lt;br /&gt;
&lt;br /&gt;
=== F4 - Suchen und Ersetzen ===&lt;br /&gt;
&lt;br /&gt;
Mit F4 steht ein gewaltiges Werkzeug zur Verfügung. Damit kann man sehr effektiv viel Eingabezeilen manipulieren. Aber aufgepasst: die Maske springt schnell mal zu &amp;quot;Aktuelles Dokument&amp;quot; statt wie sicherlich beabsichtigt &amp;quot;Aktuelle Auswahl&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Wenn man da nicht aufpasst und eben mal fix losrechnet (dabei wird gespeichert!), so hat man einen schwer erkennbaren Fehler.&lt;br /&gt;
=== Farben ===&lt;br /&gt;
Man kann sich eine benutzerdefinierte Farbpalette anlegen. Leider steht diese nach einem Update nicht mehr zur Verfügung. Die Farbeinstellungen werden in der Registry gespeichert. Wer sich es sich  zutraut: &#039;&#039;Computer\HKEY_CURRENT_USER\Software\SOFiSTiK\2023\Teddy\Farben&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mein aktuelle Farbpalette sieht so aus:&lt;br /&gt;
&lt;br /&gt;
Windows Registry Editor Version 5.00&lt;br /&gt;
&lt;br /&gt;
[HKEY_CURRENT_USER\Software\SOFiSTiK\&#039;&#039;&#039;2024&#039;&#039;&#039;\Teddy\Farben]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Palette&amp;quot;=&amp;quot;Frei definierte Palette&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Normaler Text&amp;quot;=&amp;quot;4294967295,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Steuerzeichen&amp;quot;=&amp;quot;4294967040,4294902015&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kommentar&amp;quot;=&amp;quot;4278255360,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;PROG-Zeile&amp;quot;=&amp;quot;4294901760,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kennwoerter&amp;quot;=&amp;quot;4283826175,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kennwoerter2&amp;quot;=&amp;quot;4283804415,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Selektierter Text&amp;quot;=&amp;quot;4294945280,4294967295&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Suchen-Markierung&amp;quot;=&amp;quot;4278190080,4294902015&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Endemarkierung&amp;quot;=&amp;quot;4294967040,4294902015&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Parameter&amp;quot;=&amp;quot;4294967040,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Sonderzeichen&amp;quot;=&amp;quot;4294967040,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;String&amp;quot;=&amp;quot;4294967295,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Literal&amp;quot;=&amp;quot;4289703855,4278190272&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Massen und Materialien ==&lt;br /&gt;
Der Kontrollausdruck vom SOFiMSHC liefert die Mengen der einzelnen Gruppen.&lt;br /&gt;
Bei Verbundquerschnitte beinhaltet die Mengenangabe natürich aus den Beton. Ist aber die Menge des Stahls gefragt, muß man etwas tiefer einsteigen.&lt;br /&gt;
# : dort die sto - Variablen &amp;quot;MAT_MASS&amp;quot; Materialnummer&lt;br /&gt;
# : &amp;quot;template echo syst 242 ende&amp;quot; (Stabelemente, 244 ?) macht eine tolle Tabelle getrennt nach Materialnummern&lt;br /&gt;
== Einheiten ==&lt;br /&gt;
Über &amp;quot;UNIT&amp;quot; lassen sich die Einheiten ansprechen. Ich finde die 5 und 6 ganz praktisch.&lt;br /&gt;
Im WINGRAF kann man unter &amp;quot;Extras&amp;quot; ebenfalls die Einheiten der Ausgabe steuern. Manchmal sind die Millimeter die bessere Wahl.&lt;br /&gt;
&lt;br /&gt;
Die Voreinstellung für die Einheit der Winkel ist &amp;quot;DEG&amp;quot;. Man kann auch in &amp;quot;GON&amp;quot; und &amp;quot;RAD&amp;quot; rechnen.&lt;br /&gt;
&lt;br /&gt;
== Hilfe ==&lt;br /&gt;
Neben der Hotline gibt es auch noch ein Forum.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Sofistik forum filter.jpg|mini|links|1200px|Anzahl der Beiträge getrennt nach Teddy...SSD]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Allgemeines zu CADINP]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_MAXiMA&amp;diff=13939</id>
		<title>C MAXiMA</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_MAXiMA&amp;diff=13939"/>
		<updated>2026-03-13T15:48:08Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* STEU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorbemerkungen ==&lt;br /&gt;
Das MAXiMA ist ebenfalls ein sehr mächtiges Werkzeug; aber aufgepasst, ein grünes Häkchen bedeutet noch lange nicht, dass in der Ergebnisausgabe auch wirklich der gesuchte Extremwert steht! 🙄&lt;br /&gt;
Es muss unbedingt der Zusammenhang zwischen den Einwirkungen (SOFiLOAD) und den Überlagerungsregeln beachtet werden. Ein kleiner Denkfehler, und schon ist es (mit Häkchen) passiert. 🤣&lt;br /&gt;
&lt;br /&gt;
Für die Brückenbauer: [[G Tandemlasten generieren|Fahrstreifen 1 und 2]]...i sind nicht unterschiedlichen Einwirkungen zuzuordnen, da sonst die Lasten, welche keine Leiteinwirkung sind, bei der Überlagerung abgemindert werden.&lt;br /&gt;
&lt;br /&gt;
bei [[C RSET&#039;s|RETS&#039;s]]&lt;br /&gt;
&lt;br /&gt;
Zum Thema &amp;quot;Zwischenüberlagerung&amp;quot; s. Handbuch Maxima Theoretische Grundlagern Abschn. 2.7&lt;br /&gt;
&lt;br /&gt;
== echte Zwischenüberlagerungen ==&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
Bei besonders breiten Brücken kommt man um eine echte Zwischenüberlagerung nicht herum. Dabei ist an das Thema &#039;&#039;&#039;Leiteinwirkung&#039;&#039;&#039; zu denken.&lt;br /&gt;
&lt;br /&gt;
Speichert jemand z.Bsp. in der Lastanordnung &amp;quot;OST&amp;quot; die Tandemlasten jedes Fahrstreifens in einer eigen Einwirkung (TO_1, TO_2 und TO_3) ab, so werden die Lasten, welche nicht Leiteinwirkung sind, mit psi_0 abgemindert.&lt;br /&gt;
&lt;br /&gt;
Deshalb sollten alle Laststellungen (drei Fahrstreifen) der Tandemlasten in einer Einwirkung (LO_T) abgespeichert werden. Bei der Zwischenüberlagerung werden dann &#039;&#039;&#039;Alternativlastgruppen&#039;&#039;&#039; (A1 bis A3) gebildet. Die Flächenlasten kommen (mit cond) in die Einwirkung LO_U.&lt;br /&gt;
&lt;br /&gt;
So werden im GZT weder die Tandemlasten noch die Flächenlasten mit psi_0 abgemindert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrolle, Kontrolle, Kontrolle!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Vorgehensweise 1===&lt;br /&gt;
Am Besten gleich nach allen Zielgrößen suchen:&lt;br /&gt;
&lt;br /&gt;
    Stabschnittgrößen&lt;br /&gt;
    Federkräfte und -verschiebungen&lt;br /&gt;
    Knotenkräfte und -verschiebungen&lt;br /&gt;
&lt;br /&gt;
Da kommen so zwischen 30 und 40 Lastfallnummern zusammen.&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich werden in diesem Fall alle Ausgangslastfälle:&lt;br /&gt;
&lt;br /&gt;
    Flächenlasten bzw.&lt;br /&gt;
    Tandemlasten&lt;br /&gt;
&lt;br /&gt;
mit dem Typ &#039;&#039;&#039;&#039;none&#039;&#039;&#039;&#039; generiert. Sinnvoller Weise haben diese Lastfälle lückenlose Lastfallnummern.&lt;br /&gt;
&lt;br /&gt;
Nun folgen die &#039;&#039;&#039;ersten&#039;&#039;&#039; Maxima-Läufe. Dabei werden Lastfallnummern vergeben: z. Bsp. die 110 und die 111 für das maximale bzw. minimale &#039;&#039;&#039;My&#039;&#039;&#039;. In diesen ersten Läufen werden nun aber nur die Lastfälle ausgewertet, welche zu einer Spur gehören (z.Bsp. Westseite)&lt;br /&gt;
&lt;br /&gt;
Danach liegen in den Lastfällen (auch noch Typ &#039;none&#039;):&lt;br /&gt;
&lt;br /&gt;
111 bzw. 112 die Lasten West&lt;br /&gt;
&lt;br /&gt;
211 bzw. 212 die Lasten Mitte sowie&lt;br /&gt;
&lt;br /&gt;
311 bzw. 312 die Lasten auf der Ostseite.&lt;br /&gt;
&lt;br /&gt;
In einer &#039;&#039;&#039;letzten&#039;&#039;&#039; Überlagerung (Endüberlagerung) werden nun die zuerst erzeugten Zwischenlastfälle auf Extremwerte ausgewertet. Auch hier werden wieder Lastfallnummern vergeben. Diese Ergebnisslastfälle bekommen nun aber einen Typ (z.Bsp. &#039;UDL&#039;).&lt;br /&gt;
&lt;br /&gt;
[[G Bahnlasten|Beispiel]]&lt;br /&gt;
&lt;br /&gt;
=== Vorgehensweise 2 ===&lt;br /&gt;
Man kann auch die Lastgruppen (s. EC 1 Kap. III Tab. 4.4a und Kap. III Tab. 6.11) bilden und die Ergebnisslastfälle dieser Lastgruppen dann anshließend mit den restlichen Lasten überlagern.&lt;br /&gt;
Da der &amp;quot;Wind mit Verkehr&amp;quot; nicht ohne das Verkehrsband wirken kann, sollte man selbigen (belegt mit ψ&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;) gleich mit einrechnen.&lt;br /&gt;
&lt;br /&gt;
s. Projekt 09_2021&lt;br /&gt;
&lt;br /&gt;
== interne Zwischenüberlagerung ==&lt;br /&gt;
Seit der Version 2014 kann die Zwischenüberlagerung &amp;quot;intern&amp;quot; erledigen werden. Das ist zwar etwas unübersichtlicher, hat aber den enormen Vorteil, dass man in einem MAXiMA - Lauf die Beteiligungsfaktoren der maßgebenden Lastfälle erhält! und so schnell über das ksav den maßgebenden Lastfall zusammenstellen kann.&lt;br /&gt;
Diese &amp;quot;interne Zwischenüberlagerung&amp;quot; funktioniert einwandfrei. Aber man kann nicht alle bisher durch Zwischenüberlagerungen erledigten Extremwertermittlungen derart erledigen. So sind z.Bsp. bei mehrspurigen Straßenbrücken sowie bei Bahnbrücken mit mehreren Lastmodellen (und Exzentrizitäten sowie Geschwindigkeiten) &amp;quot;echte Zwischenüberlagerungen&amp;quot; unumgänglich. Am Besten kontrolliert man diese &amp;quot;interne&amp;quot; Zwischenüberlagerung, indem im ASE die Lastfälle über Faktoren manipuliert werden. Nicht vergessen: Faktoren wieder löschen! 😊&lt;br /&gt;
&lt;br /&gt;
Diese Überlagerungsart funktioniert auch für die RSET&#039;s.&lt;br /&gt;
&lt;br /&gt;
Hier ist &#039;&#039;&#039;Kontrolle&#039;&#039;&#039; alles!&lt;br /&gt;
Im Handbuch findet sich auf Seite 3-29 ff. ein schönes Beispiel.&lt;br /&gt;
Für interne Zwischenüberlagerungen gibt es viele sinnvolle Anwendungen:&lt;br /&gt;
* Erddruck sowie Temperatur mit bzw. ohne Wasserdruck&lt;br /&gt;
* Lastmodell 71 oder Lastmodell SW/0 exzentrisch bzw. mittige Fahrt (auch noch die unterschiedlichen Geschwindigkeiten?!)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Der Trick liegt in den alternativen Lastgruppen Q_1...Q_99.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Zusammenwirken von SOFiLOAD und MAXiMA&lt;br /&gt;
|-&lt;br /&gt;
! Grafik !! Programm&lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:Sofiload act.jpg|mini|links|600px|Definition der Kategorien]] || SOFiLOAD&lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:Maxima act.jpg|mini|links|600px|Definition der Kategorien]] || MAXiMA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ksav ==&lt;br /&gt;
=== alte Variante mit ksav ===&lt;br /&gt;
Man kann das MAXiMA auch dazu benutzen, für &#039;&#039;&#039;einen&#039;&#039;&#039; Extremwert &#039;&#039;&#039;einer&#039;&#039;&#039; Ergebnisgröße die dazugehörigen Lastfälle herauszufiltern. Z.Bsp. benötigt man bei Stabilitätsberechnungen die Lastfälle (deren Kombination), welche im Stab &#039;&#039;&#039;10023&#039;&#039;&#039; zur &#039;&#039;&#039;minimalen&#039;&#039;&#039; Normalfraft führen. Dazu gibt man hinter ksav eine &#039;&#039;&#039;Nummer&#039;&#039;&#039; ein&lt;br /&gt;
&lt;br /&gt;
supp  #1 extr &#039;&#039;&#039;min&#039;&#039;&#039; etyp stab zust n von &#039;&#039;&#039;10023&#039;&#039;&#039; bis - delt - ksav &#039;&#039;&#039;98&#039;&#039;&#039; $ minimale Normalkraft &lt;br /&gt;
&lt;br /&gt;
Unmittelbar nach diesem MAXiMA muss ein SOFiLOAD und ein ASE laufen. Das SOFiLOAD macht aus der Kombination einen Lastfall und ASE berechnet selbigen&lt;br /&gt;
&lt;br /&gt;
+prog sofiload urs:15&lt;br /&gt;
&lt;br /&gt;
kopf  Generierung des LF 2001 aus der Kombination 98&lt;br /&gt;
&lt;br /&gt;
echo voll nein&lt;br /&gt;
&lt;br /&gt;
lf nr &#039;&#039;&#039;2001&#039;&#039;&#039; typ none bez &#039;min N im Stab&#039;&lt;br /&gt;
&lt;br /&gt;
copy nr &#039;&#039;&#039;98&#039;&#039;&#039; fakt &#039;&#039;&#039;comb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
+prog ase urs:41&lt;br /&gt;
&lt;br /&gt;
kopf Berechnung 2001&lt;br /&gt;
&lt;br /&gt;
echo voll nein&lt;br /&gt;
&lt;br /&gt;
echo lsum  ja&lt;br /&gt;
&lt;br /&gt;
grup nr 1 faks 1/1.1&lt;br /&gt;
&lt;br /&gt;
lf &#039;&#039;&#039;2001&#039;&#039;&#039; typ none&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
=== aktuelle Variante der Kontrolle ===&lt;br /&gt;
s.u.&lt;br /&gt;
&lt;br /&gt;
Aktuelle nutzt man den Befehl &#039;&#039;&#039;trac&#039;&#039;&#039;. Diese Maxima - Block muss aber direkt nach dem eigentlichen Maxima laufen.&lt;br /&gt;
&lt;br /&gt;
Die ausgegebene Tabelle ist eine wirklich gute Kontrollmöglichkeit, ob man nun diese gewünschte Überlagerung tatsächlich umgesetzt hat.&lt;br /&gt;
&lt;br /&gt;
Ich nutze immer verschiedene Elemente und dann auch jeweils das Maximum und das Minimum.&lt;br /&gt;
&lt;br /&gt;
Es funktioniert auch bei den &#039;&#039;&#039;&#039;[[C RSET&#039;s|RSET&#039;s]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
+prog maxima urs:15&lt;br /&gt;
&lt;br /&gt;
kopf Kontrolle der Extremwertermittlung&lt;br /&gt;
&lt;br /&gt;
echo voll ja&lt;br /&gt;
&lt;br /&gt;
let#elem    &#039;7A+B&#039;&lt;br /&gt;
&lt;br /&gt;
trac lf 41005   etyp rset elem #elem   &lt;br /&gt;
&lt;br /&gt;
trac lf 41006   etyp rset elem #elem   &lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
Um die Werte am Stabende zu ermittelt gibt man bei X=1[-] ein.&lt;br /&gt;
&lt;br /&gt;
trac    lf          elem    etyp=stab   x=1[-]&lt;br /&gt;
&lt;br /&gt;
== Beteiligungsfaktoren trac ==&lt;br /&gt;
Oft stellt sich die Frage, welcher Lastfall mit welchem Faktor in diesen oder jenen Extremwert einfließt. Bisher konnte man das gut über:&lt;br /&gt;
&lt;br /&gt;
echo chck ja und&lt;br /&gt;
&lt;br /&gt;
z.Bsp. stab ... von X &lt;br /&gt;
&lt;br /&gt;
dann bekommt man eine Tabelle, welcher Lastfall mit welchem Faktor an dem Maximum bzw. Minimum beteiligt ist. Das kann man dann auch noch mit der Eingabe&lt;br /&gt;
&lt;br /&gt;
ksav&lt;br /&gt;
&lt;br /&gt;
in einem Lastfall abspeichern.&lt;br /&gt;
&lt;br /&gt;
Neuerdings geht es aber deutlich eleganter und übersichtlicher. Unmittelbar nach dem eigentlichen Maximalauf steht ein weiteres Maxima: z.Bsp.&lt;br /&gt;
&lt;br /&gt;
+prog maxima&lt;br /&gt;
&lt;br /&gt;
kopf &lt;br /&gt;
&lt;br /&gt;
echo voll ja&lt;br /&gt;
&lt;br /&gt;
trac lf (11121 11132 1) etyp stab elem 20067 x 0&lt;br /&gt;
&lt;br /&gt;
ende     &lt;br /&gt;
&lt;br /&gt;
und das liefert:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beteiligungsfaktoren.jpg|gerahmt|links|Befehl trac]]&lt;br /&gt;
&lt;br /&gt;
So kann man sehr übersichtlich die Nachverfolgung der durchgeführten Extremwertermittlung kontrollieren und dokumentieren.&lt;br /&gt;
&lt;br /&gt;
Mit der Eingabe bei ksav kann man auch eine Kombination abspeichern.&lt;br /&gt;
&lt;br /&gt;
Die kann man in einem Sofiload - Lauf in einen einzelen Lastfall speichern:&lt;br /&gt;
&lt;br /&gt;
+prog sofiload urs:14&lt;br /&gt;
&lt;br /&gt;
kopf Generierung der Lastfälle aus den Kombinationen&lt;br /&gt;
&lt;br /&gt;
echo voll nein&lt;br /&gt;
&lt;br /&gt;
echo copy voll&lt;br /&gt;
&lt;br /&gt;
lf nr 3001 typ none fakg 1.35 bez &#039;ksav 51: Seile grp 11&#039;&lt;br /&gt;
&lt;br /&gt;
    copy nr 51 fakt comb&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
Die ksav - Nummer sollte nicht mit der Komb - Nummer in Maxima übereinstimmen.&lt;br /&gt;
&lt;br /&gt;
Das fakg im Sofiload reicht! Nicht im ASE - Lauf wiederholen!!!!&lt;br /&gt;
&lt;br /&gt;
== STEU ==&lt;br /&gt;
* veraltet&lt;br /&gt;
MAXiMA speichert die eingegebenen Kombinationen und gibt diese bei einem weiteren MAXiMA - Lauf auch mit aus. Das ist sehr störend und auch verwirrend.&lt;br /&gt;
&lt;br /&gt;
Die Lösung dafür lautet: STEU INIT 1.&lt;br /&gt;
* aktuell&lt;br /&gt;
&amp;quot;Datenbank&amp;quot; aufräumen&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
[[Kategorie:MAXiMA]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_MAXiMA&amp;diff=13938</id>
		<title>C MAXiMA</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_MAXiMA&amp;diff=13938"/>
		<updated>2026-03-13T15:46:47Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Beteiligungsfaktoren trac */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorbemerkungen ==&lt;br /&gt;
Das MAXiMA ist ebenfalls ein sehr mächtiges Werkzeug; aber aufgepasst, ein grünes Häkchen bedeutet noch lange nicht, dass in der Ergebnisausgabe auch wirklich der gesuchte Extremwert steht! 🙄&lt;br /&gt;
Es muss unbedingt der Zusammenhang zwischen den Einwirkungen (SOFiLOAD) und den Überlagerungsregeln beachtet werden. Ein kleiner Denkfehler, und schon ist es (mit Häkchen) passiert. 🤣&lt;br /&gt;
&lt;br /&gt;
Für die Brückenbauer: [[G Tandemlasten generieren|Fahrstreifen 1 und 2]]...i sind nicht unterschiedlichen Einwirkungen zuzuordnen, da sonst die Lasten, welche keine Leiteinwirkung sind, bei der Überlagerung abgemindert werden.&lt;br /&gt;
&lt;br /&gt;
bei [[C RSET&#039;s|RETS&#039;s]]&lt;br /&gt;
&lt;br /&gt;
Zum Thema &amp;quot;Zwischenüberlagerung&amp;quot; s. Handbuch Maxima Theoretische Grundlagern Abschn. 2.7&lt;br /&gt;
&lt;br /&gt;
== echte Zwischenüberlagerungen ==&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
Bei besonders breiten Brücken kommt man um eine echte Zwischenüberlagerung nicht herum. Dabei ist an das Thema &#039;&#039;&#039;Leiteinwirkung&#039;&#039;&#039; zu denken.&lt;br /&gt;
&lt;br /&gt;
Speichert jemand z.Bsp. in der Lastanordnung &amp;quot;OST&amp;quot; die Tandemlasten jedes Fahrstreifens in einer eigen Einwirkung (TO_1, TO_2 und TO_3) ab, so werden die Lasten, welche nicht Leiteinwirkung sind, mit psi_0 abgemindert.&lt;br /&gt;
&lt;br /&gt;
Deshalb sollten alle Laststellungen (drei Fahrstreifen) der Tandemlasten in einer Einwirkung (LO_T) abgespeichert werden. Bei der Zwischenüberlagerung werden dann &#039;&#039;&#039;Alternativlastgruppen&#039;&#039;&#039; (A1 bis A3) gebildet. Die Flächenlasten kommen (mit cond) in die Einwirkung LO_U.&lt;br /&gt;
&lt;br /&gt;
So werden im GZT weder die Tandemlasten noch die Flächenlasten mit psi_0 abgemindert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrolle, Kontrolle, Kontrolle!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Vorgehensweise 1===&lt;br /&gt;
Am Besten gleich nach allen Zielgrößen suchen:&lt;br /&gt;
&lt;br /&gt;
    Stabschnittgrößen&lt;br /&gt;
    Federkräfte und -verschiebungen&lt;br /&gt;
    Knotenkräfte und -verschiebungen&lt;br /&gt;
&lt;br /&gt;
Da kommen so zwischen 30 und 40 Lastfallnummern zusammen.&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich werden in diesem Fall alle Ausgangslastfälle:&lt;br /&gt;
&lt;br /&gt;
    Flächenlasten bzw.&lt;br /&gt;
    Tandemlasten&lt;br /&gt;
&lt;br /&gt;
mit dem Typ &#039;&#039;&#039;&#039;none&#039;&#039;&#039;&#039; generiert. Sinnvoller Weise haben diese Lastfälle lückenlose Lastfallnummern.&lt;br /&gt;
&lt;br /&gt;
Nun folgen die &#039;&#039;&#039;ersten&#039;&#039;&#039; Maxima-Läufe. Dabei werden Lastfallnummern vergeben: z. Bsp. die 110 und die 111 für das maximale bzw. minimale &#039;&#039;&#039;My&#039;&#039;&#039;. In diesen ersten Läufen werden nun aber nur die Lastfälle ausgewertet, welche zu einer Spur gehören (z.Bsp. Westseite)&lt;br /&gt;
&lt;br /&gt;
Danach liegen in den Lastfällen (auch noch Typ &#039;none&#039;):&lt;br /&gt;
&lt;br /&gt;
111 bzw. 112 die Lasten West&lt;br /&gt;
&lt;br /&gt;
211 bzw. 212 die Lasten Mitte sowie&lt;br /&gt;
&lt;br /&gt;
311 bzw. 312 die Lasten auf der Ostseite.&lt;br /&gt;
&lt;br /&gt;
In einer &#039;&#039;&#039;letzten&#039;&#039;&#039; Überlagerung (Endüberlagerung) werden nun die zuerst erzeugten Zwischenlastfälle auf Extremwerte ausgewertet. Auch hier werden wieder Lastfallnummern vergeben. Diese Ergebnisslastfälle bekommen nun aber einen Typ (z.Bsp. &#039;UDL&#039;).&lt;br /&gt;
&lt;br /&gt;
[[G Bahnlasten|Beispiel]]&lt;br /&gt;
&lt;br /&gt;
=== Vorgehensweise 2 ===&lt;br /&gt;
Man kann auch die Lastgruppen (s. EC 1 Kap. III Tab. 4.4a und Kap. III Tab. 6.11) bilden und die Ergebnisslastfälle dieser Lastgruppen dann anshließend mit den restlichen Lasten überlagern.&lt;br /&gt;
Da der &amp;quot;Wind mit Verkehr&amp;quot; nicht ohne das Verkehrsband wirken kann, sollte man selbigen (belegt mit ψ&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;) gleich mit einrechnen.&lt;br /&gt;
&lt;br /&gt;
s. Projekt 09_2021&lt;br /&gt;
&lt;br /&gt;
== interne Zwischenüberlagerung ==&lt;br /&gt;
Seit der Version 2014 kann die Zwischenüberlagerung &amp;quot;intern&amp;quot; erledigen werden. Das ist zwar etwas unübersichtlicher, hat aber den enormen Vorteil, dass man in einem MAXiMA - Lauf die Beteiligungsfaktoren der maßgebenden Lastfälle erhält! und so schnell über das ksav den maßgebenden Lastfall zusammenstellen kann.&lt;br /&gt;
Diese &amp;quot;interne Zwischenüberlagerung&amp;quot; funktioniert einwandfrei. Aber man kann nicht alle bisher durch Zwischenüberlagerungen erledigten Extremwertermittlungen derart erledigen. So sind z.Bsp. bei mehrspurigen Straßenbrücken sowie bei Bahnbrücken mit mehreren Lastmodellen (und Exzentrizitäten sowie Geschwindigkeiten) &amp;quot;echte Zwischenüberlagerungen&amp;quot; unumgänglich. Am Besten kontrolliert man diese &amp;quot;interne&amp;quot; Zwischenüberlagerung, indem im ASE die Lastfälle über Faktoren manipuliert werden. Nicht vergessen: Faktoren wieder löschen! 😊&lt;br /&gt;
&lt;br /&gt;
Diese Überlagerungsart funktioniert auch für die RSET&#039;s.&lt;br /&gt;
&lt;br /&gt;
Hier ist &#039;&#039;&#039;Kontrolle&#039;&#039;&#039; alles!&lt;br /&gt;
Im Handbuch findet sich auf Seite 3-29 ff. ein schönes Beispiel.&lt;br /&gt;
Für interne Zwischenüberlagerungen gibt es viele sinnvolle Anwendungen:&lt;br /&gt;
* Erddruck sowie Temperatur mit bzw. ohne Wasserdruck&lt;br /&gt;
* Lastmodell 71 oder Lastmodell SW/0 exzentrisch bzw. mittige Fahrt (auch noch die unterschiedlichen Geschwindigkeiten?!)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Der Trick liegt in den alternativen Lastgruppen Q_1...Q_99.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Zusammenwirken von SOFiLOAD und MAXiMA&lt;br /&gt;
|-&lt;br /&gt;
! Grafik !! Programm&lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:Sofiload act.jpg|mini|links|600px|Definition der Kategorien]] || SOFiLOAD&lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:Maxima act.jpg|mini|links|600px|Definition der Kategorien]] || MAXiMA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ksav ==&lt;br /&gt;
=== alte Variante mit ksav ===&lt;br /&gt;
Man kann das MAXiMA auch dazu benutzen, für &#039;&#039;&#039;einen&#039;&#039;&#039; Extremwert &#039;&#039;&#039;einer&#039;&#039;&#039; Ergebnisgröße die dazugehörigen Lastfälle herauszufiltern. Z.Bsp. benötigt man bei Stabilitätsberechnungen die Lastfälle (deren Kombination), welche im Stab &#039;&#039;&#039;10023&#039;&#039;&#039; zur &#039;&#039;&#039;minimalen&#039;&#039;&#039; Normalfraft führen. Dazu gibt man hinter ksav eine &#039;&#039;&#039;Nummer&#039;&#039;&#039; ein&lt;br /&gt;
&lt;br /&gt;
supp  #1 extr &#039;&#039;&#039;min&#039;&#039;&#039; etyp stab zust n von &#039;&#039;&#039;10023&#039;&#039;&#039; bis - delt - ksav &#039;&#039;&#039;98&#039;&#039;&#039; $ minimale Normalkraft &lt;br /&gt;
&lt;br /&gt;
Unmittelbar nach diesem MAXiMA muss ein SOFiLOAD und ein ASE laufen. Das SOFiLOAD macht aus der Kombination einen Lastfall und ASE berechnet selbigen&lt;br /&gt;
&lt;br /&gt;
+prog sofiload urs:15&lt;br /&gt;
&lt;br /&gt;
kopf  Generierung des LF 2001 aus der Kombination 98&lt;br /&gt;
&lt;br /&gt;
echo voll nein&lt;br /&gt;
&lt;br /&gt;
lf nr &#039;&#039;&#039;2001&#039;&#039;&#039; typ none bez &#039;min N im Stab&#039;&lt;br /&gt;
&lt;br /&gt;
copy nr &#039;&#039;&#039;98&#039;&#039;&#039; fakt &#039;&#039;&#039;comb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
+prog ase urs:41&lt;br /&gt;
&lt;br /&gt;
kopf Berechnung 2001&lt;br /&gt;
&lt;br /&gt;
echo voll nein&lt;br /&gt;
&lt;br /&gt;
echo lsum  ja&lt;br /&gt;
&lt;br /&gt;
grup nr 1 faks 1/1.1&lt;br /&gt;
&lt;br /&gt;
lf &#039;&#039;&#039;2001&#039;&#039;&#039; typ none&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
=== aktuelle Variante der Kontrolle ===&lt;br /&gt;
s.u.&lt;br /&gt;
&lt;br /&gt;
Aktuelle nutzt man den Befehl &#039;&#039;&#039;trac&#039;&#039;&#039;. Diese Maxima - Block muss aber direkt nach dem eigentlichen Maxima laufen.&lt;br /&gt;
&lt;br /&gt;
Die ausgegebene Tabelle ist eine wirklich gute Kontrollmöglichkeit, ob man nun diese gewünschte Überlagerung tatsächlich umgesetzt hat.&lt;br /&gt;
&lt;br /&gt;
Ich nutze immer verschiedene Elemente und dann auch jeweils das Maximum und das Minimum.&lt;br /&gt;
&lt;br /&gt;
Es funktioniert auch bei den &#039;&#039;&#039;&#039;[[C RSET&#039;s|RSET&#039;s]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
+prog maxima urs:15&lt;br /&gt;
&lt;br /&gt;
kopf Kontrolle der Extremwertermittlung&lt;br /&gt;
&lt;br /&gt;
echo voll ja&lt;br /&gt;
&lt;br /&gt;
let#elem    &#039;7A+B&#039;&lt;br /&gt;
&lt;br /&gt;
trac lf 41005   etyp rset elem #elem   &lt;br /&gt;
&lt;br /&gt;
trac lf 41006   etyp rset elem #elem   &lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
Um die Werte am Stabende zu ermittelt gibt man bei X=1[-] ein.&lt;br /&gt;
&lt;br /&gt;
trac    lf          elem    etyp=stab   x=1[-]&lt;br /&gt;
&lt;br /&gt;
== Beteiligungsfaktoren trac ==&lt;br /&gt;
Oft stellt sich die Frage, welcher Lastfall mit welchem Faktor in diesen oder jenen Extremwert einfließt. Bisher konnte man das gut über:&lt;br /&gt;
&lt;br /&gt;
echo chck ja und&lt;br /&gt;
&lt;br /&gt;
z.Bsp. stab ... von X &lt;br /&gt;
&lt;br /&gt;
dann bekommt man eine Tabelle, welcher Lastfall mit welchem Faktor an dem Maximum bzw. Minimum beteiligt ist. Das kann man dann auch noch mit der Eingabe&lt;br /&gt;
&lt;br /&gt;
ksav&lt;br /&gt;
&lt;br /&gt;
in einem Lastfall abspeichern.&lt;br /&gt;
&lt;br /&gt;
Neuerdings geht es aber deutlich eleganter und übersichtlicher. Unmittelbar nach dem eigentlichen Maximalauf steht ein weiteres Maxima: z.Bsp.&lt;br /&gt;
&lt;br /&gt;
+prog maxima&lt;br /&gt;
&lt;br /&gt;
kopf &lt;br /&gt;
&lt;br /&gt;
echo voll ja&lt;br /&gt;
&lt;br /&gt;
trac lf (11121 11132 1) etyp stab elem 20067 x 0&lt;br /&gt;
&lt;br /&gt;
ende     &lt;br /&gt;
&lt;br /&gt;
und das liefert:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beteiligungsfaktoren.jpg|gerahmt|links|Befehl trac]]&lt;br /&gt;
&lt;br /&gt;
So kann man sehr übersichtlich die Nachverfolgung der durchgeführten Extremwertermittlung kontrollieren und dokumentieren.&lt;br /&gt;
&lt;br /&gt;
Mit der Eingabe bei ksav kann man auch eine Kombination abspeichern.&lt;br /&gt;
&lt;br /&gt;
Die kann man in einem Sofiload - Lauf in einen einzelen Lastfall speichern:&lt;br /&gt;
&lt;br /&gt;
+prog sofiload urs:14&lt;br /&gt;
&lt;br /&gt;
kopf Generierung der Lastfälle aus den Kombinationen&lt;br /&gt;
&lt;br /&gt;
echo voll nein&lt;br /&gt;
&lt;br /&gt;
echo copy voll&lt;br /&gt;
&lt;br /&gt;
lf nr 3001 typ none fakg 1.35 bez &#039;ksav 51: Seile grp 11&#039;&lt;br /&gt;
&lt;br /&gt;
    copy nr 51 fakt comb&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
Die ksav - Nummer sollte nicht mit der Komb - Nummer in Maxima übereinstimmen.&lt;br /&gt;
&lt;br /&gt;
Das fakg im Sofiload reicht! Nicht im ASE - Lauf wiederholen!!!!&lt;br /&gt;
&lt;br /&gt;
== STEU ==&lt;br /&gt;
MAXiMA speichert die eingegebenen Kombinationen und gibt diese bei einem weiteren MAXiMA - Lauf auch mit aus. Das ist sehr störend und auch verwirrend.&lt;br /&gt;
&lt;br /&gt;
Die Lösung dafür lautet: STEU INIT 1.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
[[Kategorie:MAXiMA]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_MAXiMA&amp;diff=13937</id>
		<title>C MAXiMA</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_MAXiMA&amp;diff=13937"/>
		<updated>2026-03-13T15:46:00Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Beteiligungsfaktoren trac */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vorbemerkungen ==&lt;br /&gt;
Das MAXiMA ist ebenfalls ein sehr mächtiges Werkzeug; aber aufgepasst, ein grünes Häkchen bedeutet noch lange nicht, dass in der Ergebnisausgabe auch wirklich der gesuchte Extremwert steht! 🙄&lt;br /&gt;
Es muss unbedingt der Zusammenhang zwischen den Einwirkungen (SOFiLOAD) und den Überlagerungsregeln beachtet werden. Ein kleiner Denkfehler, und schon ist es (mit Häkchen) passiert. 🤣&lt;br /&gt;
&lt;br /&gt;
Für die Brückenbauer: [[G Tandemlasten generieren|Fahrstreifen 1 und 2]]...i sind nicht unterschiedlichen Einwirkungen zuzuordnen, da sonst die Lasten, welche keine Leiteinwirkung sind, bei der Überlagerung abgemindert werden.&lt;br /&gt;
&lt;br /&gt;
bei [[C RSET&#039;s|RETS&#039;s]]&lt;br /&gt;
&lt;br /&gt;
Zum Thema &amp;quot;Zwischenüberlagerung&amp;quot; s. Handbuch Maxima Theoretische Grundlagern Abschn. 2.7&lt;br /&gt;
&lt;br /&gt;
== echte Zwischenüberlagerungen ==&lt;br /&gt;
=== Allgemeines ===&lt;br /&gt;
Bei besonders breiten Brücken kommt man um eine echte Zwischenüberlagerung nicht herum. Dabei ist an das Thema &#039;&#039;&#039;Leiteinwirkung&#039;&#039;&#039; zu denken.&lt;br /&gt;
&lt;br /&gt;
Speichert jemand z.Bsp. in der Lastanordnung &amp;quot;OST&amp;quot; die Tandemlasten jedes Fahrstreifens in einer eigen Einwirkung (TO_1, TO_2 und TO_3) ab, so werden die Lasten, welche nicht Leiteinwirkung sind, mit psi_0 abgemindert.&lt;br /&gt;
&lt;br /&gt;
Deshalb sollten alle Laststellungen (drei Fahrstreifen) der Tandemlasten in einer Einwirkung (LO_T) abgespeichert werden. Bei der Zwischenüberlagerung werden dann &#039;&#039;&#039;Alternativlastgruppen&#039;&#039;&#039; (A1 bis A3) gebildet. Die Flächenlasten kommen (mit cond) in die Einwirkung LO_U.&lt;br /&gt;
&lt;br /&gt;
So werden im GZT weder die Tandemlasten noch die Flächenlasten mit psi_0 abgemindert.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kontrolle, Kontrolle, Kontrolle!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Vorgehensweise 1===&lt;br /&gt;
Am Besten gleich nach allen Zielgrößen suchen:&lt;br /&gt;
&lt;br /&gt;
    Stabschnittgrößen&lt;br /&gt;
    Federkräfte und -verschiebungen&lt;br /&gt;
    Knotenkräfte und -verschiebungen&lt;br /&gt;
&lt;br /&gt;
Da kommen so zwischen 30 und 40 Lastfallnummern zusammen.&lt;br /&gt;
&lt;br /&gt;
Grundsätzlich werden in diesem Fall alle Ausgangslastfälle:&lt;br /&gt;
&lt;br /&gt;
    Flächenlasten bzw.&lt;br /&gt;
    Tandemlasten&lt;br /&gt;
&lt;br /&gt;
mit dem Typ &#039;&#039;&#039;&#039;none&#039;&#039;&#039;&#039; generiert. Sinnvoller Weise haben diese Lastfälle lückenlose Lastfallnummern.&lt;br /&gt;
&lt;br /&gt;
Nun folgen die &#039;&#039;&#039;ersten&#039;&#039;&#039; Maxima-Läufe. Dabei werden Lastfallnummern vergeben: z. Bsp. die 110 und die 111 für das maximale bzw. minimale &#039;&#039;&#039;My&#039;&#039;&#039;. In diesen ersten Läufen werden nun aber nur die Lastfälle ausgewertet, welche zu einer Spur gehören (z.Bsp. Westseite)&lt;br /&gt;
&lt;br /&gt;
Danach liegen in den Lastfällen (auch noch Typ &#039;none&#039;):&lt;br /&gt;
&lt;br /&gt;
111 bzw. 112 die Lasten West&lt;br /&gt;
&lt;br /&gt;
211 bzw. 212 die Lasten Mitte sowie&lt;br /&gt;
&lt;br /&gt;
311 bzw. 312 die Lasten auf der Ostseite.&lt;br /&gt;
&lt;br /&gt;
In einer &#039;&#039;&#039;letzten&#039;&#039;&#039; Überlagerung (Endüberlagerung) werden nun die zuerst erzeugten Zwischenlastfälle auf Extremwerte ausgewertet. Auch hier werden wieder Lastfallnummern vergeben. Diese Ergebnisslastfälle bekommen nun aber einen Typ (z.Bsp. &#039;UDL&#039;).&lt;br /&gt;
&lt;br /&gt;
[[G Bahnlasten|Beispiel]]&lt;br /&gt;
&lt;br /&gt;
=== Vorgehensweise 2 ===&lt;br /&gt;
Man kann auch die Lastgruppen (s. EC 1 Kap. III Tab. 4.4a und Kap. III Tab. 6.11) bilden und die Ergebnisslastfälle dieser Lastgruppen dann anshließend mit den restlichen Lasten überlagern.&lt;br /&gt;
Da der &amp;quot;Wind mit Verkehr&amp;quot; nicht ohne das Verkehrsband wirken kann, sollte man selbigen (belegt mit ψ&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;) gleich mit einrechnen.&lt;br /&gt;
&lt;br /&gt;
s. Projekt 09_2021&lt;br /&gt;
&lt;br /&gt;
== interne Zwischenüberlagerung ==&lt;br /&gt;
Seit der Version 2014 kann die Zwischenüberlagerung &amp;quot;intern&amp;quot; erledigen werden. Das ist zwar etwas unübersichtlicher, hat aber den enormen Vorteil, dass man in einem MAXiMA - Lauf die Beteiligungsfaktoren der maßgebenden Lastfälle erhält! und so schnell über das ksav den maßgebenden Lastfall zusammenstellen kann.&lt;br /&gt;
Diese &amp;quot;interne Zwischenüberlagerung&amp;quot; funktioniert einwandfrei. Aber man kann nicht alle bisher durch Zwischenüberlagerungen erledigten Extremwertermittlungen derart erledigen. So sind z.Bsp. bei mehrspurigen Straßenbrücken sowie bei Bahnbrücken mit mehreren Lastmodellen (und Exzentrizitäten sowie Geschwindigkeiten) &amp;quot;echte Zwischenüberlagerungen&amp;quot; unumgänglich. Am Besten kontrolliert man diese &amp;quot;interne&amp;quot; Zwischenüberlagerung, indem im ASE die Lastfälle über Faktoren manipuliert werden. Nicht vergessen: Faktoren wieder löschen! 😊&lt;br /&gt;
&lt;br /&gt;
Diese Überlagerungsart funktioniert auch für die RSET&#039;s.&lt;br /&gt;
&lt;br /&gt;
Hier ist &#039;&#039;&#039;Kontrolle&#039;&#039;&#039; alles!&lt;br /&gt;
Im Handbuch findet sich auf Seite 3-29 ff. ein schönes Beispiel.&lt;br /&gt;
Für interne Zwischenüberlagerungen gibt es viele sinnvolle Anwendungen:&lt;br /&gt;
* Erddruck sowie Temperatur mit bzw. ohne Wasserdruck&lt;br /&gt;
* Lastmodell 71 oder Lastmodell SW/0 exzentrisch bzw. mittige Fahrt (auch noch die unterschiedlichen Geschwindigkeiten?!)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Der Trick liegt in den alternativen Lastgruppen Q_1...Q_99.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Zusammenwirken von SOFiLOAD und MAXiMA&lt;br /&gt;
|-&lt;br /&gt;
! Grafik !! Programm&lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:Sofiload act.jpg|mini|links|600px|Definition der Kategorien]] || SOFiLOAD&lt;br /&gt;
|-&lt;br /&gt;
| [[Datei:Maxima act.jpg|mini|links|600px|Definition der Kategorien]] || MAXiMA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ksav ==&lt;br /&gt;
=== alte Variante mit ksav ===&lt;br /&gt;
Man kann das MAXiMA auch dazu benutzen, für &#039;&#039;&#039;einen&#039;&#039;&#039; Extremwert &#039;&#039;&#039;einer&#039;&#039;&#039; Ergebnisgröße die dazugehörigen Lastfälle herauszufiltern. Z.Bsp. benötigt man bei Stabilitätsberechnungen die Lastfälle (deren Kombination), welche im Stab &#039;&#039;&#039;10023&#039;&#039;&#039; zur &#039;&#039;&#039;minimalen&#039;&#039;&#039; Normalfraft führen. Dazu gibt man hinter ksav eine &#039;&#039;&#039;Nummer&#039;&#039;&#039; ein&lt;br /&gt;
&lt;br /&gt;
supp  #1 extr &#039;&#039;&#039;min&#039;&#039;&#039; etyp stab zust n von &#039;&#039;&#039;10023&#039;&#039;&#039; bis - delt - ksav &#039;&#039;&#039;98&#039;&#039;&#039; $ minimale Normalkraft &lt;br /&gt;
&lt;br /&gt;
Unmittelbar nach diesem MAXiMA muss ein SOFiLOAD und ein ASE laufen. Das SOFiLOAD macht aus der Kombination einen Lastfall und ASE berechnet selbigen&lt;br /&gt;
&lt;br /&gt;
+prog sofiload urs:15&lt;br /&gt;
&lt;br /&gt;
kopf  Generierung des LF 2001 aus der Kombination 98&lt;br /&gt;
&lt;br /&gt;
echo voll nein&lt;br /&gt;
&lt;br /&gt;
lf nr &#039;&#039;&#039;2001&#039;&#039;&#039; typ none bez &#039;min N im Stab&#039;&lt;br /&gt;
&lt;br /&gt;
copy nr &#039;&#039;&#039;98&#039;&#039;&#039; fakt &#039;&#039;&#039;comb&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
+prog ase urs:41&lt;br /&gt;
&lt;br /&gt;
kopf Berechnung 2001&lt;br /&gt;
&lt;br /&gt;
echo voll nein&lt;br /&gt;
&lt;br /&gt;
echo lsum  ja&lt;br /&gt;
&lt;br /&gt;
grup nr 1 faks 1/1.1&lt;br /&gt;
&lt;br /&gt;
lf &#039;&#039;&#039;2001&#039;&#039;&#039; typ none&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
=== aktuelle Variante der Kontrolle ===&lt;br /&gt;
s.u.&lt;br /&gt;
&lt;br /&gt;
Aktuelle nutzt man den Befehl &#039;&#039;&#039;trac&#039;&#039;&#039;. Diese Maxima - Block muss aber direkt nach dem eigentlichen Maxima laufen.&lt;br /&gt;
&lt;br /&gt;
Die ausgegebene Tabelle ist eine wirklich gute Kontrollmöglichkeit, ob man nun diese gewünschte Überlagerung tatsächlich umgesetzt hat.&lt;br /&gt;
&lt;br /&gt;
Ich nutze immer verschiedene Elemente und dann auch jeweils das Maximum und das Minimum.&lt;br /&gt;
&lt;br /&gt;
Es funktioniert auch bei den &#039;&#039;&#039;&#039;[[C RSET&#039;s|RSET&#039;s]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
+prog maxima urs:15&lt;br /&gt;
&lt;br /&gt;
kopf Kontrolle der Extremwertermittlung&lt;br /&gt;
&lt;br /&gt;
echo voll ja&lt;br /&gt;
&lt;br /&gt;
let#elem    &#039;7A+B&#039;&lt;br /&gt;
&lt;br /&gt;
trac lf 41005   etyp rset elem #elem   &lt;br /&gt;
&lt;br /&gt;
trac lf 41006   etyp rset elem #elem   &lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
Um die Werte am Stabende zu ermittelt gibt man bei X=1[-] ein.&lt;br /&gt;
&lt;br /&gt;
trac    lf          elem    etyp=stab   x=1[-]&lt;br /&gt;
&lt;br /&gt;
== Beteiligungsfaktoren trac ==&lt;br /&gt;
Oft stellt sich die Frage, welcher Lastfall mit welchem Faktor in diesen oder jenen Extremwert einfließt. Bisher konnte man das gut über:&lt;br /&gt;
&lt;br /&gt;
echo chck ja und&lt;br /&gt;
&lt;br /&gt;
z.Bsp. stab ... von X &lt;br /&gt;
&lt;br /&gt;
dann bekommt man eine Tabelle, welcher Lastfall mit welchem Faktor an dem Maximum bzw. Minimum beteiligt ist. Das kann man dann auch noch mit der Eingabe&lt;br /&gt;
&lt;br /&gt;
ksav&lt;br /&gt;
&lt;br /&gt;
in einem Lastfall abspeichern.&lt;br /&gt;
&lt;br /&gt;
Neuerdings geht es aber deutlich eleganter und übersichtlicher. Unmittelbar nach dem eigentlichen Maximalauf steht ein weiteres Maxima: z.Bsp.&lt;br /&gt;
&lt;br /&gt;
+prog maxima&lt;br /&gt;
&lt;br /&gt;
kopf &lt;br /&gt;
&lt;br /&gt;
echo voll ja&lt;br /&gt;
&lt;br /&gt;
trac lf (11121 11132 1) etyp stab elem 20067 x 0&lt;br /&gt;
&lt;br /&gt;
ende     &lt;br /&gt;
&lt;br /&gt;
und das liefert:&lt;br /&gt;
&lt;br /&gt;
[[Datei:Beteiligungsfaktoren.jpg|gerahmt|links|Befehl trac]]&lt;br /&gt;
&lt;br /&gt;
So kann man sehr übersichtlich die Nachverfolgung der durchgeführten Extremwertermittlung kontrollieren und dokumentieren.&lt;br /&gt;
&lt;br /&gt;
Mit der Eingabe bei ksav kann man auch eine Kombination abspeichern.&lt;br /&gt;
&lt;br /&gt;
Die kann man in einem Sofiload - Lauf in einen einzelen Lastfall speichern:&lt;br /&gt;
+prog sofiload urs:14&lt;br /&gt;
&lt;br /&gt;
kopf Generierung der Lastfälle aus den Kombinationen&lt;br /&gt;
&lt;br /&gt;
echo voll nein&lt;br /&gt;
&lt;br /&gt;
echo copy voll&lt;br /&gt;
&lt;br /&gt;
lf nr 3001 typ none fakg 1.35 bez &#039;ksav 51: Seile grp 11&#039;&lt;br /&gt;
&lt;br /&gt;
    copy nr 51 fakt comb&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
Die ksav - Nummer sollte nicht mit der Komb - Nummer in Maxima übereinstimmen.&lt;br /&gt;
&lt;br /&gt;
Das fakg im Sofiload reicht! Nicht im ASE - Lauf wiederholen!!!!&lt;br /&gt;
&lt;br /&gt;
== STEU ==&lt;br /&gt;
MAXiMA speichert die eingegebenen Kombinationen und gibt diese bei einem weiteren MAXiMA - Lauf auch mit aus. Das ist sehr störend und auch verwirrend.&lt;br /&gt;
&lt;br /&gt;
Die Lösung dafür lautet: STEU INIT 1.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
[[Kategorie:MAXiMA]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Bedienung_ResultViewer&amp;diff=13936</id>
		<title>C Bedienung ResultViewer</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Bedienung_ResultViewer&amp;diff=13936"/>
		<updated>2026-02-25T08:45:01Z</updated>

		<summary type="html">&lt;p&gt;Lutz: /* Lagertabellen nach Excel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit dem ResultViewer kann man eine Menge grafisch darstellen und auch aussagekräftige Tabellen erstellen. Der Export nach EXCEL ist ebenfalls sehr praktisch.&lt;br /&gt;
&lt;br /&gt;
Leider ist die Bedienung des Programms nicht ganz einfach und auch nicht gerade intuitiv. Hier trage ich meine Erfahrungen zusammen. Häufig geht es nicht ohne die Hotline.&lt;br /&gt;
&lt;br /&gt;
== Verknüpfte Tabellen ==&lt;br /&gt;
Mit den Verknüpfungen (Join) kann man Ergebnisse sortieren und filtern:&lt;br /&gt;
&lt;br /&gt;
z.Bsp.&lt;br /&gt;
* alle Stabschnittgrößen&lt;br /&gt;
* an den gelagerten Knoten&lt;br /&gt;
* in den Lastfällen 2021...2036&lt;br /&gt;
&lt;br /&gt;
Diese Werte werden für die Bemessung des Knotendetails benötigt.&lt;br /&gt;
&lt;br /&gt;
Um das Sortieren nach den Lastfällen zu ermöglichen, muss die Spalten &amp;quot;LF-Nr.&amp;quot; am Anfang der verknüpften (Ergebnis-) Tabelle stehen.&lt;br /&gt;
&lt;br /&gt;
Also geht man in &amp;quot;Join&amp;quot;, löst alle Verknüpfungen, rückt die Tabellen in die Reihenfolge &lt;br /&gt;
[[Datei:Join tabellenreihenfolge.jpg|gerahmt|zentriert|Join]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Änderungen übernehmen&amp;quot; und dann kann in der ersten Spalten tatsächlich nach den Lastfällen sortiert ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
== Lage der Nulllinie ==&lt;br /&gt;
Häufig benötigt man eine grafische Darstellung der linearen Normalspannungen für bestimmte Einwirkungskombinationen.&lt;br /&gt;
&lt;br /&gt;
Dazu fordert man im AQB die Spannungsermittlung mit:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;span e&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Result Viewer findet sich dann unter:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;gt;Bemessung&amp;gt;Querschnitte&amp;gt;aus Stabspannungen (AQB)&amp;gt;Bewehrungsstahlspannungen und Normalspannungen des Materials im Querschnitt&#039;&#039;&#039;&lt;br /&gt;
[[Datei:Nulllinie hohlkasten.jpg|gerahmt|zentriert|Lage der Nulllinie]]&lt;br /&gt;
die gesuchte grafische Darstellung.&lt;br /&gt;
&lt;br /&gt;
== Stabschnittgrößen an einem Knoten ==&lt;br /&gt;
Man kann die beteiligten Stäbe über eine sekundäre Gruppe herausfiltern.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Sekundäre Gruppe.jpg|links|gerahmt|Gruppenauswahldialog]]&lt;br /&gt;
&lt;br /&gt;
Im Anschluss kann man zusätzliche Filter (in einer Zeile!!!) generieren: also x=0 und Stab=2049 und &lt;br /&gt;
&lt;br /&gt;
in einer weiteren Zeile z.Bsp. x=1 und Stab = 2050.&lt;br /&gt;
&lt;br /&gt;
Erst wenn man diese Filter hat, löscht man die standartmäßig definierten x=0 und x=1&lt;br /&gt;
&lt;br /&gt;
[[Datei:Result tabelle.jpg|links|gerahmt|Filter hinzufügen und deaktivieren]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lagertabellen nach Excel ==&lt;br /&gt;
Für die Erstellung der Lagertabellen benötigt man einen Export aus dem Resultviewer zu Excel.&lt;br /&gt;
Wesentlich ist die korrekte Reihenfolge (erst Z...letztlich phi_y) der Definition der RSETS und natürlich der &lt;br /&gt;
richtige Grenzzustand.&lt;br /&gt;
Auch muss man die veränderlichen Einwirkungen nicht zu viel &amp;quot;aufsplitten&amp;quot;.&lt;br /&gt;
Ggf. kann man auch noch den Anprall dokumentieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
+prog results urs:2&lt;br /&gt;
&lt;br /&gt;
kopf Ausgabe der Tabelle&lt;br /&gt;
&lt;br /&gt;
lf nr (20101 20114 1)&lt;br /&gt;
&lt;br /&gt;
txtp show rele ovlp amax 	extr ja&lt;br /&gt;
&lt;br /&gt;
rset id &amp;quot;20-2&amp;quot;  dars dlst&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
[[Datei:Lagertabelle_result_excel.jpg|links|gerahmt|Ergebnis der CADINP - Eingabe]]&lt;br /&gt;
&lt;br /&gt;
Hier nun die Bedienung des Resultviewrs.&lt;br /&gt;
[[Datei:Lagertabelle_resultviewer.jpg|links|gerahmt|Eingaben im Resultviewer]]&lt;br /&gt;
&lt;br /&gt;
C:\Projekte\2023\03-2023 Stahlverbund Zossen\Sofistik\Teil 3 Lager und FÜK\Lagertabellen_excel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Result Viewer]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Bedienung_ResultViewer&amp;diff=13935</id>
		<title>C Bedienung ResultViewer</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Bedienung_ResultViewer&amp;diff=13935"/>
		<updated>2026-02-25T08:06:18Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit dem ResultViewer kann man eine Menge grafisch darstellen und auch aussagekräftige Tabellen erstellen. Der Export nach EXCEL ist ebenfalls sehr praktisch.&lt;br /&gt;
&lt;br /&gt;
Leider ist die Bedienung des Programms nicht ganz einfach und auch nicht gerade intuitiv. Hier trage ich meine Erfahrungen zusammen. Häufig geht es nicht ohne die Hotline.&lt;br /&gt;
&lt;br /&gt;
== Verknüpfte Tabellen ==&lt;br /&gt;
Mit den Verknüpfungen (Join) kann man Ergebnisse sortieren und filtern:&lt;br /&gt;
&lt;br /&gt;
z.Bsp.&lt;br /&gt;
* alle Stabschnittgrößen&lt;br /&gt;
* an den gelagerten Knoten&lt;br /&gt;
* in den Lastfällen 2021...2036&lt;br /&gt;
&lt;br /&gt;
Diese Werte werden für die Bemessung des Knotendetails benötigt.&lt;br /&gt;
&lt;br /&gt;
Um das Sortieren nach den Lastfällen zu ermöglichen, muss die Spalten &amp;quot;LF-Nr.&amp;quot; am Anfang der verknüpften (Ergebnis-) Tabelle stehen.&lt;br /&gt;
&lt;br /&gt;
Also geht man in &amp;quot;Join&amp;quot;, löst alle Verknüpfungen, rückt die Tabellen in die Reihenfolge &lt;br /&gt;
[[Datei:Join tabellenreihenfolge.jpg|gerahmt|zentriert|Join]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Änderungen übernehmen&amp;quot; und dann kann in der ersten Spalten tatsächlich nach den Lastfällen sortiert ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
== Lage der Nulllinie ==&lt;br /&gt;
Häufig benötigt man eine grafische Darstellung der linearen Normalspannungen für bestimmte Einwirkungskombinationen.&lt;br /&gt;
&lt;br /&gt;
Dazu fordert man im AQB die Spannungsermittlung mit:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;span e&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Result Viewer findet sich dann unter:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;gt;Bemessung&amp;gt;Querschnitte&amp;gt;aus Stabspannungen (AQB)&amp;gt;Bewehrungsstahlspannungen und Normalspannungen des Materials im Querschnitt&#039;&#039;&#039;&lt;br /&gt;
[[Datei:Nulllinie hohlkasten.jpg|gerahmt|zentriert|Lage der Nulllinie]]&lt;br /&gt;
die gesuchte grafische Darstellung.&lt;br /&gt;
&lt;br /&gt;
== Stabschnittgrößen an einem Knoten ==&lt;br /&gt;
Man kann die beteiligten Stäbe über eine sekundäre Gruppe herausfiltern.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Sekundäre Gruppe.jpg|links|gerahmt|Gruppenauswahldialog]]&lt;br /&gt;
&lt;br /&gt;
Im Anschluss kann man zusätzliche Filter (in einer Zeile!!!) generieren: also x=0 und Stab=2049 und &lt;br /&gt;
&lt;br /&gt;
in einer weiteren Zeile z.Bsp. x=1 und Stab = 2050.&lt;br /&gt;
&lt;br /&gt;
Erst wenn man diese Filter hat, löscht man die standartmäßig definierten x=0 und x=1&lt;br /&gt;
&lt;br /&gt;
[[Datei:Result tabelle.jpg|links|gerahmt|Filter hinzufügen und deaktivieren]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lagertabellen nach Excel ==&lt;br /&gt;
Für die Erstellung der Lagertabellen benötigt man einen Export aus dem Resultviewer zu Excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
+prog results urs:2&lt;br /&gt;
&lt;br /&gt;
kopf Ausgabe der Tabelle&lt;br /&gt;
&lt;br /&gt;
lf nr (20101 20114 1)&lt;br /&gt;
&lt;br /&gt;
txtp show rele ovlp amax 	extr ja&lt;br /&gt;
&lt;br /&gt;
rset id &amp;quot;20-2&amp;quot;  dars dlst&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
[[Datei:Lagertabelle_result_excel.jpg|links|gerahmt|Ergebnis der CADINP - Eingabe]]&lt;br /&gt;
&lt;br /&gt;
Hier nun die Bedienung des Resultviewrs.&lt;br /&gt;
[[Datei:Lagertabelle_resultviewer.jpg|links|gerahmt|Eingaben im Resultviewer]]&lt;br /&gt;
&lt;br /&gt;
C:\Projekte\2023\03-2023 Stahlverbund Zossen\Sofistik\Teil 3 Lager und FÜK\Lagertabellen_excel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Result Viewer]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Bedienung_ResultViewer&amp;diff=13934</id>
		<title>C Bedienung ResultViewer</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Bedienung_ResultViewer&amp;diff=13934"/>
		<updated>2026-02-25T08:04:00Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit dem ResultViewer kann man eine Menge grafisch darstellen und auch aussagekräftige Tabellen erstellen. Der Export nach EXCEL ist ebenfalls sehr praktisch.&lt;br /&gt;
&lt;br /&gt;
Leider ist die Bedienung des Programms nicht ganz einfach und auch nicht gerade intuitiv. Hier trage ich meine Erfahrungen zusammen. Häufig geht es nicht ohne die Hotline.&lt;br /&gt;
&lt;br /&gt;
== Verknüpfte Tabellen ==&lt;br /&gt;
Mit den Verknüpfungen (Join) kann man Ergebnisse sortieren und filtern:&lt;br /&gt;
&lt;br /&gt;
z.Bsp.&lt;br /&gt;
* alle Stabschnittgrößen&lt;br /&gt;
* an den gelagerten Knoten&lt;br /&gt;
* in den Lastfällen 2021...2036&lt;br /&gt;
&lt;br /&gt;
Diese Werte werden für die Bemessung des Knotendetails benötigt.&lt;br /&gt;
&lt;br /&gt;
Um das Sortieren nach den Lastfällen zu ermöglichen, muss die Spalten &amp;quot;LF-Nr.&amp;quot; am Anfang der verknüpften (Ergebnis-) Tabelle stehen.&lt;br /&gt;
&lt;br /&gt;
Also geht man in &amp;quot;Join&amp;quot;, löst alle Verknüpfungen, rückt die Tabellen in die Reihenfolge &lt;br /&gt;
[[Datei:Join tabellenreihenfolge.jpg|gerahmt|zentriert|Join]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Änderungen übernehmen&amp;quot; und dann kann in der ersten Spalten tatsächlich nach den Lastfällen sortiert ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
== Lage der Nulllinie ==&lt;br /&gt;
Häufig benötigt man eine grafische Darstellung der linearen Normalspannungen für bestimmte Einwirkungskombinationen.&lt;br /&gt;
&lt;br /&gt;
Dazu fordert man im AQB die Spannungsermittlung mit:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;span e&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Result Viewer findet sich dann unter:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;gt;Bemessung&amp;gt;Querschnitte&amp;gt;aus Stabspannungen (AQB)&amp;gt;Bewehrungsstahlspannungen und Normalspannungen des Materials im Querschnitt&#039;&#039;&#039;&lt;br /&gt;
[[Datei:Nulllinie hohlkasten.jpg|gerahmt|zentriert|Lage der Nulllinie]]&lt;br /&gt;
die gesuchte grafische Darstellung.&lt;br /&gt;
&lt;br /&gt;
== Stabschnittgrößen an einem Knoten ==&lt;br /&gt;
Man kann die beteiligten Stäbe über eine sekundäre Gruppe herausfiltern.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Sekundäre Gruppe.jpg|links|gerahmt|Gruppenauswahldialog]]&lt;br /&gt;
&lt;br /&gt;
Im Anschluss kann man zusätzliche Filter (in einer Zeile!!!) generieren: also x=0 und Stab=2049 und &lt;br /&gt;
&lt;br /&gt;
in einer weiteren Zeile z.Bsp. x=1 und Stab = 2050.&lt;br /&gt;
&lt;br /&gt;
Erst wenn man diese Filter hat, löscht man die standartmäßig definierten x=0 und x=1&lt;br /&gt;
&lt;br /&gt;
[[Datei:Result tabelle.jpg|links|gerahmt|Filter hinzufügen und deaktivieren]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lagertabellen nach Excel ==&lt;br /&gt;
Für die Erstellung der Lagertabellen benötigt man einen Export aus dem Resultviewer zu Excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
+prog results urs:2&lt;br /&gt;
&lt;br /&gt;
kopf Ausgabe der Tabelle&lt;br /&gt;
&lt;br /&gt;
lf nr (20101 20114 1)&lt;br /&gt;
&lt;br /&gt;
txtp show rele ovlp amax 	extr ja&lt;br /&gt;
&lt;br /&gt;
rset id &amp;quot;20-2&amp;quot;  dars dlst&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
[[Datei:Lagertabelle_result_excel.jpg|links|gerahmt|Ergebnis der CADINP - Eingabe]]&lt;br /&gt;
&lt;br /&gt;
Hier nun die Bedienung des Resultviewrs.&lt;br /&gt;
[[Datei:Lagertabelle_resultviewer.jpg|links|gerahmt|Eingaben im Resultviewer]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Result Viewer]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=Datei:Lagertabelle_resultviewer.jpg&amp;diff=13933</id>
		<title>Datei:Lagertabelle resultviewer.jpg</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=Datei:Lagertabelle_resultviewer.jpg&amp;diff=13933"/>
		<updated>2026-02-25T08:02:29Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=C_Bedienung_ResultViewer&amp;diff=13932</id>
		<title>C Bedienung ResultViewer</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=C_Bedienung_ResultViewer&amp;diff=13932"/>
		<updated>2026-02-25T07:47:21Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Mit dem ResultViewer kann man eine Menge grafisch darstellen und auch aussagekräftige Tabellen erstellen. Der Export nach EXCEL ist ebenfalls sehr praktisch.&lt;br /&gt;
&lt;br /&gt;
Leider ist die Bedienung des Programms nicht ganz einfach und auch nicht gerade intuitiv. Hier trage ich meine Erfahrungen zusammen. Häufig geht es nicht ohne die Hotline.&lt;br /&gt;
&lt;br /&gt;
== Verknüpfte Tabellen ==&lt;br /&gt;
Mit den Verknüpfungen (Join) kann man Ergebnisse sortieren und filtern:&lt;br /&gt;
&lt;br /&gt;
z.Bsp.&lt;br /&gt;
* alle Stabschnittgrößen&lt;br /&gt;
* an den gelagerten Knoten&lt;br /&gt;
* in den Lastfällen 2021...2036&lt;br /&gt;
&lt;br /&gt;
Diese Werte werden für die Bemessung des Knotendetails benötigt.&lt;br /&gt;
&lt;br /&gt;
Um das Sortieren nach den Lastfällen zu ermöglichen, muss die Spalten &amp;quot;LF-Nr.&amp;quot; am Anfang der verknüpften (Ergebnis-) Tabelle stehen.&lt;br /&gt;
&lt;br /&gt;
Also geht man in &amp;quot;Join&amp;quot;, löst alle Verknüpfungen, rückt die Tabellen in die Reihenfolge &lt;br /&gt;
[[Datei:Join tabellenreihenfolge.jpg|gerahmt|zentriert|Join]]&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Änderungen übernehmen&amp;quot; und dann kann in der ersten Spalten tatsächlich nach den Lastfällen sortiert ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
== Lage der Nulllinie ==&lt;br /&gt;
Häufig benötigt man eine grafische Darstellung der linearen Normalspannungen für bestimmte Einwirkungskombinationen.&lt;br /&gt;
&lt;br /&gt;
Dazu fordert man im AQB die Spannungsermittlung mit:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;span e&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
an.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Im Result Viewer findet sich dann unter:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;gt;Bemessung&amp;gt;Querschnitte&amp;gt;aus Stabspannungen (AQB)&amp;gt;Bewehrungsstahlspannungen und Normalspannungen des Materials im Querschnitt&#039;&#039;&#039;&lt;br /&gt;
[[Datei:Nulllinie hohlkasten.jpg|gerahmt|zentriert|Lage der Nulllinie]]&lt;br /&gt;
die gesuchte grafische Darstellung.&lt;br /&gt;
&lt;br /&gt;
== Stabschnittgrößen an einem Knoten ==&lt;br /&gt;
Man kann die beteiligten Stäbe über eine sekundäre Gruppe herausfiltern.&lt;br /&gt;
&lt;br /&gt;
[[Datei:Sekundäre Gruppe.jpg|links|gerahmt|Gruppenauswahldialog]]&lt;br /&gt;
&lt;br /&gt;
Im Anschluss kann man zusätzliche Filter (in einer Zeile!!!) generieren: also x=0 und Stab=2049 und &lt;br /&gt;
&lt;br /&gt;
in einer weiteren Zeile z.Bsp. x=1 und Stab = 2050.&lt;br /&gt;
&lt;br /&gt;
Erst wenn man diese Filter hat, löscht man die standartmäßig definierten x=0 und x=1&lt;br /&gt;
&lt;br /&gt;
[[Datei:Result tabelle.jpg|links|gerahmt|Filter hinzufügen und deaktivieren]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lagertabellen nach Excel ==&lt;br /&gt;
Für die Erstellung der Lagertabellen benötigt man einen Export aus dem Resultviewer zu Excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
+prog results urs:2&lt;br /&gt;
&lt;br /&gt;
kopf Ausgabe der Tabelle&lt;br /&gt;
&lt;br /&gt;
lf nr (20101 20114 1)&lt;br /&gt;
&lt;br /&gt;
txtp show rele ovlp amax 	extr ja&lt;br /&gt;
&lt;br /&gt;
rset id &amp;quot;20-2&amp;quot;  dars dlst&lt;br /&gt;
&lt;br /&gt;
ende&lt;br /&gt;
&lt;br /&gt;
[[Datei:Lagertabelle_result_excel.jpg|links|gerahmt|Ergebnis der CADINP - Eingabe]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Result Viewer]]&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
	<entry>
		<id>https://itp-zeitschel.de/wiki/index.php?title=Datei:Lagertabelle_result_excel.jpg&amp;diff=13931</id>
		<title>Datei:Lagertabelle result excel.jpg</title>
		<link rel="alternate" type="text/html" href="https://itp-zeitschel.de/wiki/index.php?title=Datei:Lagertabelle_result_excel.jpg&amp;diff=13931"/>
		<updated>2026-02-25T07:45:40Z</updated>

		<summary type="html">&lt;p&gt;Lutz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Lutz</name></author>
	</entry>
</feed>