C SOFiMSHC: Unterschied zwischen den Versionen
Lutz (Diskussion | Beiträge) |
Lutz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 8: | Zeile 8: | ||
Grundsatz 1: Jede Kante wird in mindestens zwei Abschnitte unterteilt! | Grundsatz 1: Jede Kante wird in mindestens zwei Abschnitte unterteilt! | ||
Grundsatz 2: Jede Linie wird in eine geradzahlige Anzahl von Abschnitten unterteilt (sln ... sdiv '''-geradzahlig'''). | Grundsatz 2: Jede Linie wird in eine geradzahlige Anzahl von Abschnitten unterteilt (sln ... sdiv '''-geradzahlig'''). | ||
Weiterhin kann man im sln - Satz bei styp das "Y" eingeben. Damit wird eine Linie nicht unterteilt; auch "BY" liefert das erhoffte Ergebnis: ein Stab zwischen zwei Knoten. | |||
=== Schnittpunkt zwei Achsen === | === Schnittpunkt zwei Achsen === |
Version vom 20. Oktober 2021, 12:55 Uhr
Vorbemerkungen
Das Modul SOFiMSHC dient der Generierung des statischen Models. Daneben werden Achsen erzeugt, welche für die Vorspannung bzw. die Verkehrslasten benötigt werden. Hier trage ich meine Tipps und Kniffe für dieses Modul zusammen. Irgendwann bring ich da mal Ordnung rein. 🤣
Tipps und Tricks
regelmäßiges Netz
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: Grundsatz 1: Jede Kante wird in mindestens zwei Abschnitte unterteilt! Grundsatz 2: Jede Linie wird in eine geradzahlige Anzahl von Abschnitten unterteilt (sln ... sdiv -geradzahlig).
Weiterhin kann man im sln - Satz bei styp das "Y" eingeben. Damit wird eine Linie nicht unterteilt; auch "BY" liefert das erhoffte Ergebnis: ein Stab zwischen zwei Knoten.
Schnittpunkt zwei Achsen
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.
störende Knoten löschen
Im SOFiMSHC besteht keine Möglichkeit, Knoten zu löschen. Also gibt man diesen störenden Knoten eine "weit abliegende Koordinate" und legt mit steu deln 1 fest, das unbenutzte Elemente zu löschen sind.
Ausrichtung der Lager - Gruppennummer der Kopplungen
Bei gekrümmten Überbauten ist die achsparallele Ausrichtung der Lager nicht mehr trivial.
Es bietet sich der Befehl COOR an.
coor typ AXIS id AXIS.N s 22.1160
Das funktioniert auch ganz gut, nur leider übernehmen die so genierten Knoten nicht das neue Koordinatensystem. Die lokalen Achsen der neuen Knoten übernehmen das globale KSS.
Man kann sich auch auf die Achse beziehen:
spt nr 202 ref 'ax' nref 'a1' sx #ue sy #b sz #z_lager fix F->200
Diese Knoten übernehmen das gedrehte KSS, machen allerdings Schwierigkeiten bei den Lastfällen "Stützensenkung".
Am besten funktioniert ein Bezug auf den Knoten selbst:
spt nr 202 ref 'pt' nref 200 x 0 y +#b z #z_lager fix F->200
spts nr typ cp cq=#cq grp=10 4 cx #cx10_2 5 cy #cy10_2 spts nr typ cp cq=#cq grp=110 6 cz #cz
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. Alle Kopplungen von Systemen, welche mit CSM weiterberechnet werden, sollten einer Gruppe zugewiesen werden (s. SPTP...GRP).
Ausrichtung des KSS von Flächentragwerken
Wenn man die Koordinatensysteme der QUAD-Elemente ausrichten muss (orthotrope Fahrbahnplatten), so bieten sich zwei Möglichkeiten an:
Bauwerksachse=Kreis
Hier erfolgt die Ausreichtung auf den Kreismittelpunkt;
sar nr 2 grp 100 mnr 3 mbw 14 nra 7 qref 'unte' mctl +1 bez #bez kr 'pt' drx 4000 drot 90
Nachteilig an dieser Lösung ist, dass das Koordinatensystem im Animator riesig groß dargestellt wird!
Bauwerksachse=Klothoide
Hier kann man die Koordinatensysteme der Quad-Elemente auf eine Strukturlinie ausrichten;
sar nr 1 grp 100 mnr 3 mbw 14 nra 7 qref 'unte' mctl +1 bez #bez kr 'ln' drx 105 drot 90
Kontrollen !!
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.
Lastachsen aus Sekundärachsen erzeugen
Stand 10/2019! das soll zukünftig besser gehen
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!
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.
Definition der Sekundärachse AXIS.n
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 "SPLI" ergibt sich die gesuchte Form.
Mit "GAXS" wird dann die Sekundärachse "AXIS.n" generiert.
!*!Label nördl. Sekundärachse $ Norden: der Abstand wird an vier Stationen über eine Variable gaxv vorgegeben typ=spli
gaxv id 'AXIS' name yn s #s0 v -(1.625-0.15) typ spli
gaxv id 'AXIS' name yn s #s1 v -(1.625-0.15) typ spli
gaxv id 'AXIS' name yn s #s2 v -(1.625+0.335) typ spli
gaxv id 'AXIS' name yn s #s3 v -(1.625+1.1) typ spli
gaxs id 'AXIS' ids 'n' spt 200 y yn bez 'nördl. Achse'
Da "AXIS.N" im SOFiLOAD nix taugt, wird hier eine neue Achse "NORD" erzeugt. Durch das "ref 'AXIS.n'" sind die beiden Achsen (fast) identisch. Mit der Stationierung muss man rumprobieren.
neue Lastachse NORD
!*!Label Lastachsen
let#typ 'lane'
gax id 'NORD' typ #typ bez 'NORD' ref 'AXIS.n' typc spli
let#l_n 77.982 $ Länge der AXIS.n aus dem Result Viewer
$ zur Kontrolle dienen die Koordinaten des Knotens 4200
$ diese NURB's werden ohne Stationierung ausgegeben...sollte aber bei etwa 77.982 enden
loop#i div(#l_n/1)+2 $ probieren! $ im SOFiLOAD wird die "Gesamtlänge" und die Stationierung ausgegeben
gaxc x 0+#i y 0 z 0
endloop
SAR NR RROP
Gelegentlich ergibt sich die Forderung, eine Strukturfläche in einem bestimmten örtlich begrenzten Bereich zu verändern:
Dicke
Gruppennummer
Bettung
Material...
Dazu gibt es den Befehl sar nr prop.
Beispiel:
Eine Strukturfläche (Nr. 115) ist bereits (ohne Bettung) definiert. Nun soll noch der Bereich von 1m mit cb gebettet werden.
sar nr 115 grp 2 mnr 4 nra 7 qref mitt cb 0 ct 0 mctl 1 t #tm bez '2 - W5'
sarb typ aus nl 459,414,460,461
sar nr prop cb #cbsandu bez "nur 1m Bettung"
sarb out
slnb x1 #x10 #y2 #zfusz x2 #x10 #y2 #zfusz-1
sarb out
slnb x1 #x10 #y2 #zfusz-1 x2 #x10 #y3 #zfusz-1
sarb out
slnb x1 #x10 #y3 #zfusz-1 x2 #x10 #y3 #zfusz
sarb out
slnb x1 #x10 #y3 #zfusz x2 #x10 #y2 #zfusz
Kopplungen
Kopplungen sollte man auf jeden Fall einer Gruppe zuordnen. Ggf. unterscheidet man noch nach den Richtungen.
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. Die Regel lautet hin zum Auflager.
Bei der Kopplung von Knoten ist der Kopplungstyp hinter typ als LITERAL einzugeben. Das LITERAL darf hier aber nicht in Hochkomma gesetzt werden!
sptp typ kf grp 2 ref 300+#nr $ Kopplung auf den Lagerknoten
Außerdem kann man hier eine Gruppennnummer eingeben, was im Satz spt nicht möglich ist.