Eigene Funktion zur Erzeugung von Connectionpoint Paaren dazu

This commit is contained in:
2024-07-24 19:32:27 +02:00
parent 7dc6980bc6
commit d9c1fe320a
+185 -56
View File
@@ -1,10 +1,10 @@
<?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="m.stangl [ENTW-NB08]" ModDate="2024-07-23T16:37:00" LanguageVersion="2014.1.3.680" />
<PROCESSPROPERTY CrUser="pmarani [ENGMARANI17R]" CrDate="2022-05-05T18:05:31" ModUser="m.stangl [ENTW-NB08]" ModDate="2024-07-24T18:19:59" LanguageVersion="2014.1.3.680" />
<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">
<TYPE Id="RDK:313478" Name="SSGConnectionPoint" SubType="structure" HasArrayType="True">
<TYPE Id="RDK:313478" Name="SSGConnectionPoint" Expanded="True" SubType="structure" HasArrayType="True">
<TYPE_VALUES />
<FIELD Id="RDK:609117" Name="id" Type="string" />
<FIELD Id="RDK:313462" Name="x_M" Type="double" />
@@ -17,6 +17,15 @@
<FIELD Id="RDK:313476" Name="label" Type="string" />
<FIELD Id="RDK:721671" Name="aktiv" Type="boolean" />
</TYPE>
<TYPE Id="RDK:20734830" Name="SSGConnectionPointPairs" Expanded="True" SubType="structure" HasArrayType="True">
<TYPE_VALUES />
<FIELD Id="RDK:20734820" Name="idM" Type="string" DesignTimeRemark="ids of points on the motor side" />
<FIELD Id="RDK:20734821" Name="coordM" Type="double" DesignTimeRemark="coordinates on the motor side" />
<FIELD Id="RDK:20734832" Name="idS" Type="string" />
<FIELD Id="RDK:20734822" Name="coordS" Type="double" DesignTimeRemark="coordinates on the spannstation side" />
<FIELD Id="RDK:20734834" Name="direction_x" Type="bool" DesignTimeRemark="1 if direction posititve x-axis, -1 if is negative x-axis, 0 if it is in y-direction" />
<FIELD Id="RDK:20734836" Name="direction_y" Type="bool" DesignTimeRemark="1 if direction posititve y-axis, -1 if is negative y-axis, 0 if it is in x-direction" />
</TYPE>
<TYPE Id="RDK:26388" Name="KreiselType" SubType="structure">
<TYPE_VALUES />
<FIELD Id="RDK:95024" Name="Beschreibung" Type="string" />
@@ -987,6 +996,8 @@
<VAR Id="RDK:1007447" Name="Point2DList" Type="Point2D[]" />
<VAR Id="RDK:1007444" Name="Point2D" Type="Point2D" />
<VAR Id="RDK:1519830" Name="SessionZip" Type="string" />
<VAR Id="RDK:20734839" Name="cp_pairs" Type="string" DesignTimeRemark="Generated by RD" />
<VAR Id="RDK:20734853" Name="idx" Type="string" DesignTimeRemark="Generated by RD" />
</GROUP>
<GROUP Id="RDK:0006" Name="Profiles" SubType="ProfileSet">
<PROFILE Id="RDK:383" Name="ImportBackgroundProfile" TypeName="ImportBackgroundType" />
@@ -2203,6 +2214,14 @@
<PAR Name="pinned" />
<PAR Name="selected" />
<PAR Name="includeInBOM" />
<PAR Name="Rotationsklasse" />
<PAR Name="IDCounter" />
<PAR Name="EckradDefinition" />
<PAR Name="StreckeDefinition" />
<PAR Name="FoerdererDefinition" />
<PAR Name="BTMTBeladungDefinition" />
<PAR Name="BTMTEntladungDefinition" />
<PAR Name="isDefined" />
</SET_STRUCT>
<GROUP Id="RDK:70633" Name="Vertical Text" SubType="Generic">
<SET_STRUCT Id="RDK:70632" VarRef="LayoutGridSplineItem" ClearAll="True" ListRef="ShapeList" DesignTimeNotes="(NOSELECT)">
@@ -15685,18 +15704,137 @@ me.x
<PAR Name="AdvancedOptions" />
</SET>
</FUNCTION>
<FUNCTION Id="RDK:20733273" Name="LinkToKreisel" InputTypeName="SSGParameter[]" Options="(TYPEFUNCTION)">
<FUNCTION Id="RDK:20733273" Name="FilterConnectionPointsToUse" InputTypeName="SSGParameter[]" Options="(TYPEFUNCTION)">
<GROUP Id="RDK:20733289" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:20733282" Name="shapeItem" Type="Editor2DShapeType" />
<VAR Id="RDK:20733283" Name="UebergabeListe" Type="SSGParameter[]" />
<VAR Id="RDK:20733284" Name="kreisel1" Type="string" />
<VAR Id="RDK:20733344" Name="newItem" Type="string" />
<VAR Id="RDK:20733285" Name="cpk1" Type="string" />
<VAR Id="RDK:20733286" Name="kreisel2" Type="string" />
<VAR Id="RDK:20733287" Name="cpk2" Type="string" />
<VAR Id="RDK:20733288" Name="newId" Type="string" />
<VAR Id="RDK:20734874" Name="cpId_1" Type="string" />
<VAR Id="RDK:20734876" Name="cpId_2" Type="string" />
<VAR Id="RDK:20734789" Name="CpointsKreisel1" Type="SSGConnectionPoint[]" />
<VAR Id="RDK:20734791" Name="CpointsKreisel2" Type="SSGConnectionPoint[]" />
<VAR Id="RDK:20734850" Name="SinglePoint" Type="SSGConnectionPoint" />
<VAR Id="RDK:20734793" Name="streckenSeite" Type="string" />
<VAR Id="RDK:20734855" Name="idx" Type="integer" />
<VAR Id="RDK:20734870" Name="distances1" Type="double[]" />
<VAR Id="RDK:20734808" Name="cp_pairs" Type="SSGConnectionPointPairs[]" />
<VAR Id="RDK:20734846" Name="pair" Type="SSGConnectionPointPairs" />
</GROUP>
<SET Id="RDK:20733346" VarRef="newItem">
<SET Id="RDK:20729865" VarRef="cpId_1">
<EXP><![CDATA[$=$Param.Input["key=cp1"].Str]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20729867" VarRef="cpId_2">
<EXP><![CDATA[$=$Param.Input["key=cp2"].Str]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<COMMENTS Id="RDK:20734795" DesignTimeRemark="daraus die Connection points welche auf den jeweiligen Innenseiten der Kreisel liegen" />
<IFTHENELSE Id="RDK:20734763">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$StrIndexOf(cpId_1, "M_G", 0) > 0]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:20734760" SubType="Then">
<SET Id="RDK:20734758" VarRef="CpointsKreisel1">
<EXP><![CDATA[$=$ShapeList["id="+shapeId_kreisel1].KreiselDefinition.M_Strecke]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20734759" VarRef="streckenSeite">
<EXP><![CDATA[$C$M]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</GROUP>
<GROUP Id="RDK:20734762" SubType="Else">
<SET Id="RDK:20734761" VarRef="CpointsKreisel1">
<EXP><![CDATA[$=$ShapeList["id="+shapeId_kreisel1].KreiselDefinition.S_Strecke]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</GROUP>
</IFTHENELSE>
<IFTHENELSE Id="RDK:20734781">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$StrIndexOf(cpId_2, "M_G", 0) > 0]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:20734778" SubType="Then">
<SET Id="RDK:20734776" VarRef="CpointsKreisel2">
<EXP><![CDATA[$=$ShapeList["id="+shapeId_kreisel1].KreiselDefinition.M_Strecke]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20734777" VarRef="streckenSeite">
<EXP><![CDATA[$C$M]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</GROUP>
<GROUP Id="RDK:20734780" SubType="Else">
<SET Id="RDK:20734779" VarRef="CpointsKreisel2">
<EXP><![CDATA[$=$ShapeList["id="+shapeId_kreisel1].KreiselDefinition.S_Strecke]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</GROUP>
</IFTHENELSE>
<COMMENTS Id="RDK:20734799" DesignTimeRemark="Prüfe ob die Distanzen und hole die Connection points die gegenüberliegen" />
<SET Id="RDK:20734882" VarRef="cpId_1">
<EXP><![CDATA[$=$StrBefore(Param.Input["key=cp1"].Str, "_G")]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20734886" VarRef="cpId_2">
<EXP><![CDATA[$=$StrBefore(Param.Input["key=cp2"].Str, "_G")]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<COMMENTS Id="RDK:20734896" DesignTimeRemark="Drehe die Liste um, die verkehrt herum liegt da die Zählung der Gegenseite in die Andere Richtung geht. " />
<IFTHENELSE Id="RDK:20734858">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$CpointsKreisel1[cpId_1].direction = 0]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:20734859" SubType="Then">
<SET Id="RDK:20734892" VarRef="CpointsKreisel2">
<EXP><![CDATA[$=$ListReverse(CpointsKreisel2)]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</GROUP>
</IFTHENELSE>
<CALLFUNCTION Id="RDK:20734852" Suppressed="True">
<PAR Name="FuncName">
<EXP><![CDATA[$C$IndexOf]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$CpointsKreisel1, cpk1]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$idx]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<COMMENTS Id="RDK:20734902" DesignTimeRemark="Drehe die Liste um, die verkehrt herum liegt da die Zählung der Gegenseite in die Andere Richtung geht. " />
<FOREACHLOOP Id="RDK:20734848" ItemVarRef="SinglePoint">
<PAR Name="ArrayValueExp">
<EXP><![CDATA[$=$CpointsKreisel1]]></EXP>
</PAR>
<PAR Name="ExitCondExp">
<EXP><![CDATA[$V$]]></EXP>
</PAR>
</FOREACHLOOP>
<LIST_ADD Id="RDK:20734844" ListRef="cp_pairs">
<PAR Name="VALUE_TO_ADD">
<EXP><![CDATA[$=$pair]]></EXP>
</PAR>
<PAR Name="POS_TO_ADD" />
</LIST_ADD>
<SET Id="RDK:20734838" VarRef="Param.Result">
<EXP><![CDATA[$=$cp_pairs
]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</FUNCTION>
<FUNCTION Id="RDK:20734748" Name="LinkToKreisel" InputTypeName="SSGParameter[]" Options="(TYPEFUNCTION)">
<GROUP Id="RDK:20734741" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:20734733" Name="shapeItem" Type="Editor2DShapeType" />
<VAR Id="RDK:20734734" Name="UebergabeListe" Type="SSGParameter[]" />
<VAR Id="RDK:20734735" Name="kreisel1" Type="string" />
<VAR Id="RDK:20734736" Name="newItem" Type="string" />
<VAR Id="RDK:20734737" Name="cpk1" Type="string" />
<VAR Id="RDK:20734738" Name="kreisel2" Type="string" />
<VAR Id="RDK:20734739" Name="cpk2" Type="string" />
<VAR Id="RDK:20734740" Name="newId" Type="string" />
</GROUP>
<SET Id="RDK:20734742" VarRef="newItem">
<EXP><![CDATA[$=$Param.Input["key=newId"].Str]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
@@ -15708,15 +15846,15 @@ me.x
<EXP><![CDATA[$=$Param.Input["key=idKreisel2"].Str]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20729865" VarRef="cpk1">
<SET Id="RDK:20734745" VarRef="cpk1">
<EXP><![CDATA[$=$Param.Input["key=cp1"].Str]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:20729867" VarRef="cpk2">
<SET Id="RDK:20734746" VarRef="cpk2">
<EXP><![CDATA[$=$Param.Input["key=cp2"].Str]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<ACTION_CALL Id="RDK:20725664" Name="RDEngineering_E2DLinkShapes" Suppressed="True">
<ACTION_CALL Id="RDK:20734747" Name="RDEngineering_E2DLinkShapes" Suppressed="True">
<PAR Name="RDLibraryName">
<EXP><![CDATA[$C$RDEngineering_UI]]></EXP>
</PAR>
@@ -15829,6 +15967,12 @@ me.x
</SET>
</VAR>
<VAR Id="RDK:20579049" Name="shapeId" Type="string" />
<VAR Id="RDK:20734704" Name="streckenSeite" Type="string">
<SET Id="RDK:20734712" VarRef="me">
<EXP><![CDATA[$C$S]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</VAR>
</GROUP>
<FOREACHLOOP Id="RDK:20579072" ItemVarRef="shapeId">
<PAR Name="ArrayValueExp">
@@ -15849,8 +15993,7 @@ me.x
<VAR Id="RDK:20725674" Name="UebergabeListe" Type="SSGParameter[]" />
<VAR Id="RDK:20733327" Name="Offsets" Type="SSGParameter[]" />
<VAR Id="RDK:20725709" Name="ResultListe" Type="string[]" />
<VAR Id="RDK:20725733" Name="CpointsKreisel1" Type="SSGConnectionPoint[]" />
<VAR Id="RDK:20725735" Name="CpointsKreisel2" Type="SSGConnectionPoint[]" />
<VAR Id="RDK:20734842" Name="cp_pairs" Type="SSGConnectionPointPairs[]" />
</GROUP>
<CALLFUNCTION Id="RDK:20579087">
<PAR Name="FuncName">
@@ -16017,43 +16160,18 @@ me.x
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<COMMENTS Id="RDK:20689952" DesignTimeRemark="daraus die Connection points welche auf den jeweiligen Innenseiten der Kreisel liegen" />
<IFTHENELSE Id="RDK:20725746">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$StrIndexOf(cpId_1, "M_G", 0) > 0]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:20725747" SubType="Then">
<SET Id="RDK:20725737" VarRef="CpointsKreisel1">
<EXP><![CDATA[$=$ShapeList["id="+shapeId_kreisel1].KreiselDefinition.M_Strecke]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</GROUP>
<GROUP Id="RDK:20725748" SubType="Else">
<SET Id="RDK:20725739" VarRef="CpointsKreisel1">
<EXP><![CDATA[$=$ShapeList["id="+shapeId_kreisel1].KreiselDefinition.S_Strecke]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</GROUP>
</IFTHENELSE>
<IFTHENELSE Id="RDK:20725782">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$StrIndexOf(cpId_2, "M_G", 0) > 0]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:20725779" SubType="Then">
<SET Id="RDK:20725741" VarRef="CpointsKreisel2">
<EXP><![CDATA[$=$ShapeList["id="+shapeId_kreisel1].KreiselDefinition.M_Strecke]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</GROUP>
<GROUP Id="RDK:20725781" SubType="Else">
<SET Id="RDK:20725745" VarRef="CpointsKreisel2">
<EXP><![CDATA[$=$ShapeList["id="+shapeId_kreisel1].KreiselDefinition.S_Strecke]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</GROUP>
</IFTHENELSE>
<COMMENTS Id="RDK:20689954" DesignTimeRemark="Prüfe ob die Distanzen und hole die Connection points die gegenüberliegen" />
<COMMENTS Id="RDK:20733350" DesignTimeRemark="TODO" />
<CALLFUNCTION Id="RDK:20734805">
<PAR Name="FuncName">
<EXP><![CDATA[$C$FilterConnectionPointsToUse]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$UebergabeListe]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$cp_pairs]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<SET Id="RDK:20733329" VarRef="Offsets">
<EXP><![CDATA[$C$NOTHING]]></EXP>
<PAR Name="AdvancedOptions" />
@@ -16080,6 +16198,17 @@ me.x
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<SET_STRUCT Id="RDK:20734714" VarRef="SSGParameter" ClearAll="True" ListRef="Offsets">
<PAR Name="Key">
<EXP><![CDATA[$C$streckenSeite]]></EXP>
</PAR>
<PAR Name="Str">
<EXP><![CDATA[$=$streckenSeite]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />
<PAR Name="Boo" />
</SET_STRUCT>
<SELECTCASE Id="RDK:20579308">
<EXP><![CDATA[$=$Shape_Prototype.family]]></EXP>
<CASEGROUP Id="RDK:20579229" CaseType="0">
@@ -16092,7 +16221,7 @@ me.x
<EXP><![CDATA[$=$Offsets]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$NewId]]></EXP>
<EXP><![CDATA[$V$newId]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
@@ -16130,7 +16259,7 @@ me.x
<EXP><![CDATA[$=$Offsets]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$NewId]]></EXP>
<EXP><![CDATA[$V$newId]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
@@ -16139,7 +16268,7 @@ me.x
<EXP><![CDATA[$C$newId]]></EXP>
</PAR>
<PAR Name="Str">
<EXP><![CDATA[$=$NewId]]></EXP>
<EXP><![CDATA[$=$newId]]></EXP>
</PAR>
<PAR Name="Dbl" />
<PAR Name="Int" />