Mustern geht jetzt für beliebige Weichen

This commit is contained in:
2025-10-22 16:58:30 +02:00
parent fe52ade1d9
commit 33c5a18d03
+289 -162
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<PROCESS Id="RDK:0001" Name="MAIN_SSG" ModernUI="True" Options="(GITSAVEMODE)(NOUPDATEINCLUDEFILES)" Expanded="True">
<PROCESSPROPERTY CrUser="pmarani [ENGMARANI17R]" CrDate="2022-05-05T18:05:31" ModUser="s.hensch [ANGEBOT-NB06]" ModDate="2025-10-21T10:35:50" LanguageVersion="2014.1.3.712" />
<PROCESSPROPERTY CrUser="pmarani [ENGMARANI17R]" CrDate="2022-05-05T18:05:31" ModUser="m.stangl [ENTW-NB08]" ModDate="2025-10-22T16:42:27" LanguageVersion="2014.1.3.712" />
<GROUP Id="RDK:0002" Name="Declarations" SubType="Declarations" Expanded="True">
<GROUP Id="RDK:0003" Name="Types" SubType="TypeSet" IncludeDate="0">
<GROUP Id="RDK:26387" Name="SSG_Group" SubType="TypeSet" IncludeDate="0">
@@ -155,7 +155,7 @@
<FIELD Id="RDK:18530488" Name="LH_fits" Type="boolean" DesignTimeRemark="True wenn Länge L1 und L_th zueinander passen und damit zur Höhendifferenz" />
<FIELD Id="RDK:18530602" Name="LH_toleranz" Type="double" DesignTimeRemark="Toleranz in mm für den Längenunterschied, bei dem eine Differenz akzeptiert wird" />
</TYPE>
<TYPE Id="RDK:22028969" Name="VarioFoerdererType" Expanded="True" SubType="structure">
<TYPE Id="RDK:22028969" Name="VarioFoerdererType" SubType="structure">
<TYPE_VALUES />
<FIELD Id="RDK:22028956" Name="Beschreibung" Type="string" />
<FIELD Id="RDK:22038424" Name="Typ" Type="string" DesignTimeRemark="Auf, Ab oder Horizontal" />
@@ -253,7 +253,7 @@
<FIELD Id="RDK:16525231" Name="Drehung" Type="integer" DesignTimeNotes="1= im Uhrzeigersinn=rechts&#xD;&#xA;-1= Gegen Uhrzeigersinn=links" />
<FIELD Id="RDK:16577441" Name="Beschreibung" Type="string" />
</TYPE>
<TYPE Id="RDK:79642" Name="SSG_ShapeType" Expanded="True" SubType="structure">
<TYPE Id="RDK:79642" Name="SSG_ShapeType" SubType="structure">
<TYPE_VALUES />
<FIELD Id="RDK:79643" Name="SivasNummer" Type="string" />
<FIELD Id="RDK:1561689" Name="Rotationsklasse" Type="string" />
@@ -276,7 +276,7 @@
<FIELD Id="RDK:16525361" Name="BTMTEntladungDefinition" Type="BTMTEntladungType" />
<FIELD Id="RDK:19961198" Name="isDefined" Type="boolean" />
</TYPE>
<TYPE Id="RDK:18530527" Name="SSG_ShapeType_limit" Expanded="True" SubType="structure">
<TYPE Id="RDK:18530527" Name="SSG_ShapeType_limit" SubType="structure">
<TYPE_VALUES />
<FIELD Id="RDK:18530520" Name="KreiselDefinition" Type="KreiselType" />
<FIELD Id="RDK:18530521" Name="EckradDefinition" Type="EckradType" />
@@ -312,7 +312,7 @@
<FIELD Id="RDK:22938802" Name="Key" Type="string" />
<FIELD Id="RDK:22938803" Name="StrArr" Type="string[]" />
</TYPE>
<TYPE Id="RDK:18530545" Name="SSG_Limits" Expanded="True" SubType="structure">
<TYPE Id="RDK:18530545" Name="SSG_Limits" SubType="structure">
<TYPE_VALUES />
<FIELD Id="RDK:18530548" Name="Kreisel_top" Type="KreiselType" />
<FIELD Id="RDK:18530546" Name="Kreisel_bot" Type="KreiselType" />
@@ -352,7 +352,7 @@
<FIELD Id="RDK:26256699" Name="delta_s_min" Type="double" />
<FIELD Id="RDK:26256700" Name="winkel" Type="double" />
</TYPE>
<TYPE Id="RDK:19260062" Name="ILS_Attributes" Expanded="True" SubType="structure">
<TYPE Id="RDK:19260062" Name="ILS_Attributes" SubType="structure">
<TYPE_VALUES />
<FIELD Id="RDK:19260048" Name="Einschleuselement_delta_h" Type="double" />
<FIELD Id="RDK:19260066" Name="Einschleuselement_delta_s" Type="double" />
@@ -1003,7 +1003,7 @@
<FIELD Id="RDK:22305686" Name="Höhe Ende" Type="string" />
<FIELD Id="RDK:25719738" Name="Drehung" Type="double" />
</TYPE>
<TYPE Id="RDK:18111807" Name="FoerdererMerkmaleType" Expanded="True" SubType="structure">
<TYPE Id="RDK:18111807" Name="FoerdererMerkmaleType" SubType="structure">
<TYPE_VALUES />
<FIELD Id="RDK:18131140" Name="Höhe ETF oben in Meter" Type="string" />
<FIELD Id="RDK:18131142" Name="Höhe ETF unten in Meter" Type="string" />
@@ -40692,6 +40692,52 @@ me.x
</CASEGROUP>
<CASEGROUP Id="RDK:26251671" CaseType="0">
<EXP><![CDATA[$C$OFWeiche]]></EXP>
<IFTHENELSE Id="RDK:26387262">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$shapeItem.OFWeicheDefinition.WeichenTyp= "Einzelweiche"]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:26387261" SubType="Then">
<SELECTCASE Id="RDK:26387260">
<EXP><![CDATA[$=$currentCpName ]]></EXP>
<CASEGROUP Id="RDK:26387255" CaseType="0">
<EXP><![CDATA[$C$cp1]]></EXP>
<SET Id="RDK:26387254" VarRef="result">
<EXP><![CDATA[$C$cp4]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</CASEGROUP>
<CASEGROUP Id="RDK:26387285" CaseType="0">
<EXP><![CDATA[$C$cp4]]></EXP>
<SET Id="RDK:26387284" VarRef="result">
<EXP><![CDATA[$C$cp1]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</CASEGROUP>
<CASEGROUP Id="RDK:26387259" CaseType="1">
<EXP />
<ACTION_CALL Id="RDK:26387258" Name="RDEngineering_MsgBox" DesignTimeRemark="{Text}">
<PAR Name="RDLibraryName">
<EXP><![CDATA[$C$RDEngineering_UI]]></EXP>
</PAR>
<PAR Name="MsgText">
<EXP><![CDATA[$C$there is no opposite]]></EXP>
</PAR>
<PAR Name="MsgStyle">
<EXP><![CDATA[$C$-1]]></EXP>
</PAR>
<PAR Name="BtnLayout">
<EXP><![CDATA[$C$-1]]></EXP>
</PAR>
<PAR Name="MsgCaption" />
<PAR Name="BaloonType" />
<PAR Name="BtnPressed">
<EXP><![CDATA[$V$]]></EXP>
</PAR>
</ACTION_CALL>
</CASEGROUP>
</SELECTCASE>
</GROUP>
</IFTHENELSE>
<IFTHENELSE Id="RDK:26251658">
<VALUECONDITION Value="true" Oper="OR">
<EXP><![CDATA[$=$shapeItem.OFWeicheDefinition.WeichenTyp = "Doppelweiche"]]></EXP>
@@ -40702,9 +40748,6 @@ me.x
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$shapeItem.OFWeicheDefinition.WeichenTyp = "Dreiwegeweiche"]]></EXP>
</VALUECONDITION>
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$shapeItem.OFWeicheDefinition.WeichenTyp= "Einzelweiche"]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:26251657" SubType="Then">
<SELECTCASE Id="RDK:26251860">
<EXP><![CDATA[$=$currentCpName ]]></EXP>
@@ -40862,6 +40905,10 @@ me.x
<VAR Id="RDK:26162475" Name="CpSearch" Type="SSGParameter[]" />
<VAR Id="RDK:26044499" Name="cps1" Type="string[]" />
<VAR Id="RDK:26044501" Name="cps2" Type="string[]" />
<VAR Id="RDK:26355211" Name="tgt1" Type="string" />
<VAR Id="RDK:26355213" Name="tgt2" Type="string" />
<VAR Id="RDK:26355219" Name="src1" Type="string" />
<VAR Id="RDK:26355221" Name="src2" Type="string" />
<VAR Id="RDK:26312163" Name="TargetCps" Type="string[]" />
</GROUP>
<CALLFUNCTION Id="RDK:26312156" DesignTimeRemark="Hole die Namen der freien Connection Points am 2. und vorletzten Objekt. Diese werden dann zum ersten und letzten der Vorgängergruppe verbunden">
@@ -40980,20 +41027,20 @@ me.x
<EXP><![CDATA[$=$nRow > 0]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:26044579" SubType="Then">
<SET Id="RDK:26044573" VarRef="source_l">
<EXP><![CDATA[$=$row[0]]]></EXP>
<SET Id="RDK:26357466" VarRef="source_l">
<EXP><![CDATA[$=$row_before[0]]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:26044575" VarRef="source_r">
<EXP><![CDATA[$=$row[Count(row)-1]]]></EXP>
<SET Id="RDK:26361966" VarRef="source_r">
<EXP><![CDATA[$=$row_before[Count(row_before)-1]]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:26044599" VarRef="target_l">
<EXP><![CDATA[$=$row_before[1]]]></EXP>
<EXP><![CDATA[$=$row[1]]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:26044601" VarRef="target_r">
<EXP><![CDATA[$=$row_before[Count(row)-2]]]></EXP>
<EXP><![CDATA[$=$row[Count(row)-2]]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</GROUP>
@@ -41020,6 +41067,22 @@ me.x
<EXP><![CDATA[$=$row]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:26355223" VarRef="src1">
<EXP><![CDATA[$=$ShapeList[source_l ].name]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:26355215" VarRef="tgt1">
<EXP><![CDATA[$=$ShapeList[target_l].name]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:26355225" VarRef="src2">
<EXP><![CDATA[$=$ShapeList[source_r].name]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:26355217" VarRef="tgt2">
<EXP><![CDATA[$=$ShapeList[target_r].name]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<COMMENTS Id="RDK:26169406" DesignTimeRemark="linkes Ende" />
<ACTION_CALL Id="RDK:26044554" Name="RDEngineering_E2DLinkShapes" DesignTimeRemark="linkes Element">
<PAR Name="RDLibraryName">
@@ -41082,7 +41145,7 @@ me.x
<PAR Name="Options" />
</ACTION_CALL>
<COMMENTS Id="RDK:26169404" DesignTimeRemark="rechtes Ende" />
<ACTION_CALL Id="RDK:26044562" Name="RDEngineering_E2DLinkShapes" Suppressed="True" DesignTimeRemark="rechtes Element">
<ACTION_CALL Id="RDK:26044562" Name="RDEngineering_E2DLinkShapes" DesignTimeRemark="rechtes Element">
<PAR Name="RDLibraryName">
<EXP><![CDATA[$C$RDEngineering_UI]]></EXP>
</PAR>
@@ -41940,6 +42003,12 @@ me.x
<VAR Id="RDK:25913193" Name="newId" Type="string" />
<VAR Id="RDK:25953762" Name="Anzahl" Type="integer">
<SET Id="RDK:25953785" VarRef="me">
<EXP><![CDATA[$=$0]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</VAR>
<VAR Id="RDK:26359718" Name="num" Type="integer">
<SET Id="RDK:26359717" VarRef="me">
<EXP><![CDATA[$=$1]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
@@ -41975,7 +42044,7 @@ me.x
</SET>
<WHILELOOP Id="RDK:25953879">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$Anzahl > 0]]></EXP>
<EXP><![CDATA[$=$num > Anzahl+1]]></EXP>
</VALUECONDITION>
<SET Id="RDK:25908166" VarRef="Offsets">
<EXP><![CDATA[$C$NOTHING]]></EXP>
@@ -42035,8 +42104,8 @@ me.x
</PAR>
<PAR Name="POS_TO_ADD" />
</LIST_ADD>
<SET Id="RDK:25953898" VarRef="Anzahl">
<EXP><![CDATA[$=$Anzahl - 1]]></EXP>
<SET Id="RDK:25953898" VarRef="num">
<EXP><![CDATA[$=$num +1]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</WHILELOOP>
@@ -43024,6 +43093,8 @@ me.x
<VAR Id="RDK:26252115" Name="weiche_l" Type="string" />
<VAR Id="RDK:26312152" Name="weiche_r" Type="string" />
<VAR Id="RDK:26252117" Name="cps" Type="string[]" />
<VAR Id="RDK:26406337" Name="freeCps_l" Type="string[]" />
<VAR Id="RDK:26406339" Name="freeCps_r" Type="string[]" />
<VAR Id="RDK:26252119" Name="cp_opposite" Type="string" />
<VAR Id="RDK:26252125" Name="result" Type="string[]" />
<VAR Id="RDK:26252098" Name="FilterCpsl" Type="SSGParameter[]" />
@@ -43053,164 +43124,218 @@ me.x
<EXP><![CDATA[$=$LastOf(groupIds)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET_STRUCT Id="RDK:26252074" VarRef="SSGParameter" ClearAll="True" ListRef="FilterCpsl">
<PAR Name="Key">
<EXP><![CDATA[$C$idSource]]></EXP>
<CALLFUNCTION Id="RDK:26406341" DesignTimeRemark="Hole dir den noch Freien Connection Point dieser Weiche">
<PAR Name="FuncName">
<EXP><![CDATA[$C$getFreeConnectionPoints]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$gerade_l]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<SET_STRUCT Id="RDK:26252076" VarRef="SSGParameter" ClearAll="True" ListRef="FilterCpsl">
<PAR Name="Key">
<EXP><![CDATA[$C$idTarget]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<PAR Name="InputExp">
<EXP><![CDATA[$=$weiche_l]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<CALLFUNCTION Id="RDK:26252072" DesignTimeRemark="Finde die Verbindungsnamen der Connectionpoints in den ursprünglichen Elementen">
<PAR Name="FuncName">
<EXP><![CDATA[$C$FilterConnectingPointsBetweenBoth]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$FilterCpsl]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$cps]]></EXP>
<EXP><![CDATA[$V$freeCps_l]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<SET_STRUCT Id="RDK:26259071" VarRef="SSGParameter" ClearAll="True" ListRef="CpSearchL">
<PAR Name="Key">
<EXP><![CDATA[$C$cpname]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$cps[0]]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<SET_STRUCT Id="RDK:26259069" VarRef="SSGParameter" ClearAll="True" ListRef="CpSearchL">
<PAR Name="Key">
<EXP><![CDATA[$C$shapeId]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$weiche_l]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<CALLFUNCTION Id="RDK:26252080" DesignTimeRemark="Hier holen wir den ConnPunkt der Weiche, welcher dem Geraden CP gegenüberliegt. Dieser sollte frei sein">
<IFTHENELSE Id="RDK:26406343" DesignTimeRemark="Wenn es mehr freie Punkt auf der Weiche gibt, dann nimm als ersten den Gegenüberliegenden freien.">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$Count(FreeCps_l) > 1]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:26406344" SubType="Then">
<SET_STRUCT Id="RDK:26252076" VarRef="SSGParameter" ClearAll="True" ListRef="FilterCpsl">
<PAR Name="Key">
<EXP><![CDATA[$C$idTarget]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$weiche_l]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<SET_STRUCT Id="RDK:26252074" VarRef="SSGParameter" ClearAll="True" ListRef="FilterCpsl">
<PAR Name="Key">
<EXP><![CDATA[$C$idSource]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$gerade_l]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<CALLFUNCTION Id="RDK:26406335" DesignTimeRemark="Finde die Verbindungsnamen der Connectionpoints in den ursprünglichen Elementen">
<PAR Name="FuncName">
<EXP><![CDATA[$C$FilterConnectingPointsBetweenBoth]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$FilterCpsl]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$cps]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<SET_STRUCT Id="RDK:26259071" VarRef="SSGParameter" ClearAll="True" ListRef="CpSearchL">
<PAR Name="Key">
<EXP><![CDATA[$C$cpname]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$cps[0]]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<SET_STRUCT Id="RDK:26259069" VarRef="SSGParameter" ClearAll="True" ListRef="CpSearchL">
<PAR Name="Key">
<EXP><![CDATA[$C$shapeId]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$weiche_l]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<CALLFUNCTION Id="RDK:26252080" DesignTimeRemark="Hier holen wir den ConnPunkt der Weiche, welcher dem Geraden CP gegenüberliegt. Dieser sollte frei sein">
<PAR Name="FuncName">
<EXP><![CDATA[$C$getOppositeConnectionPoint]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$CpSearchL]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$cp_opposite]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<LIST_ADD Id="RDK:26268457" ListRef="result">
<PAR Name="VALUE_TO_ADD">
<EXP><![CDATA[$=$cp_opposite]]></EXP>
</PAR>
<PAR Name="POS_TO_ADD" />
</LIST_ADD>
</GROUP>
<GROUP Id="RDK:26406352" SubType="Else">
<LIST_ADD Id="RDK:26406354" ListRef="result">
<PAR Name="VALUE_TO_ADD">
<EXP><![CDATA[$=$FreeCps_l[0]]]></EXP>
</PAR>
<PAR Name="POS_TO_ADD" />
</LIST_ADD>
</GROUP>
</IFTHENELSE>
<CALLFUNCTION Id="RDK:26406382" DesignTimeRemark="Hole dir den noch Freien Connection Point dieser Weiche">
<PAR Name="FuncName">
<EXP><![CDATA[$C$getOppositeConnectionPoint]]></EXP>
<EXP><![CDATA[$C$getFreeConnectionPoints]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$CpSearchL]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$cp_opposite]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<LIST_ADD Id="RDK:26268457" ListRef="result">
<PAR Name="VALUE_TO_ADD">
<EXP><![CDATA[$=$cp_opposite]]></EXP>
</PAR>
<PAR Name="POS_TO_ADD" />
</LIST_ADD>
<SET_STRUCT Id="RDK:26263847" VarRef="SSGParameter" ClearAll="True" ListRef="FilterCpsr">
<PAR Name="Key">
<EXP><![CDATA[$C$idSource]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$gerade_r]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<SET_STRUCT Id="RDK:26263849" VarRef="SSGParameter" ClearAll="True" ListRef="FilterCpsr">
<PAR Name="Key">
<EXP><![CDATA[$C$idTarget]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$weiche_r]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<CALLFUNCTION Id="RDK:26263851" DesignTimeRemark="Finde die Verbindungsnamen der Connectionpoints in den ursprünglichen Elementen">
<PAR Name="FuncName">
<EXP><![CDATA[$C$FilterConnectingPointsBetweenBoth]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$FilterCpsr]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$cps]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<SET_STRUCT Id="RDK:26263853" VarRef="SSGParameter" ClearAll="True" ListRef="CpSearchR">
<PAR Name="Key">
<EXP><![CDATA[$C$cpname]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$cps[0]]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<SET_STRUCT Id="RDK:26263855" VarRef="SSGParameter" ClearAll="True" ListRef="CpSearchR">
<PAR Name="Key">
<EXP><![CDATA[$C$shapeId]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$weiche_r]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<CALLFUNCTION Id="RDK:26263857" DesignTimeRemark="Hier holen wir den ConnPunkt der Weiche, welcher dem Geraden CP gegenüberliegt. Dieser sollte frei sein">
<PAR Name="FuncName">
<EXP><![CDATA[$C$getOppositeConnectionPoint]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$CpSearchR]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$cp_opposite]]></EXP>
<EXP><![CDATA[$V$freeCps_r]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<IFTHENELSE Id="RDK:26406378" DesignTimeRemark="Wenn es mehr freie Punkt auf der Weiche gibt, dann nimm als ersten den Gegenüberliegenden freien.">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$Count(FreeCps_r) > 1]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:26406375" SubType="Then">
<SET_STRUCT Id="RDK:26263847" VarRef="SSGParameter" ClearAll="True" ListRef="FilterCpsr">
<PAR Name="Key">
<EXP><![CDATA[$C$idSource]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$gerade_r]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<SET_STRUCT Id="RDK:26263849" VarRef="SSGParameter" ClearAll="True" ListRef="FilterCpsr">
<PAR Name="Key">
<EXP><![CDATA[$C$idTarget]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$weiche_r]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<CALLFUNCTION Id="RDK:26263851" DesignTimeRemark="Finde die Verbindungsnamen der Connectionpoints in den ursprünglichen Elementen">
<PAR Name="FuncName">
<EXP><![CDATA[$C$FilterConnectingPointsBetweenBoth]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$FilterCpsr]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$cps]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<SET_STRUCT Id="RDK:26263853" VarRef="SSGParameter" ClearAll="True" ListRef="CpSearchR">
<PAR Name="Key">
<EXP><![CDATA[$C$cpname]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$cps[0]]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<SET_STRUCT Id="RDK:26263855" VarRef="SSGParameter" ClearAll="True" ListRef="CpSearchR">
<PAR Name="Key">
<EXP><![CDATA[$C$shapeId]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$weiche_r]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<CALLFUNCTION Id="RDK:26263857" DesignTimeRemark="Hier holen wir den ConnPunkt der Weiche, welcher dem Geraden CP gegenüberliegt. Dieser sollte frei sein">
<PAR Name="FuncName">
<EXP><![CDATA[$C$getOppositeConnectionPoint]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$CpSearchR]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$cp_opposite]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
</GROUP>
<GROUP Id="RDK:26406377" SubType="Else">
<LIST_ADD Id="RDK:26406376" ListRef="result">
<PAR Name="VALUE_TO_ADD">
<EXP><![CDATA[$=$FreeCps_r[0]]]></EXP>
</PAR>
<PAR Name="POS_TO_ADD" />
</LIST_ADD>
</GROUP>
</IFTHENELSE>
<LIST_ADD Id="RDK:26252130" ListRef="result">
<PAR Name="VALUE_TO_ADD">
<EXP><![CDATA[$=$cp_opposite]]></EXP>
@@ -49054,6 +49179,7 @@ me.x
<EXP><![CDATA[$C$shapeId]]></EXP>
</PAR>
<PAR Name="StrArr" />
<PAR Name="StrArr2D" />
<PAR Name="Str">
<EXP><![CDATA[$=$shapeId]]></EXP>
</PAR>
@@ -49072,6 +49198,7 @@ me.x
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
<PAR Name="StrArr2D" />
</SET_STRUCT>
<CALLFUNCTION Id="RDK:21528214" DesignTimeRemark="setzt alle Höhen von Kurven neu ausgehende vom gegebenen Shape, bis man an eine Gefällestrecke oder einen Förderer gelangt">
<PAR Name="FuncName">