CSV Item ergänzt, so dass Drehung und Höhen mit in 2D Export raus geschrieben werden

This commit is contained in:
2025-08-05 16:41:45 +02:00
8 changed files with 288 additions and 14 deletions
+24 -2
View File
@@ -1,4 +1,26 @@
@echo off
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
call diff_dimensions.bat --type WEICHE --json_2d omniflo_weichen.json --json_dimensions dimensions.json --tolerance 0.05
REM Standardwerte setzen
set "DEFAULT_TYPE=WEICHE"
set "DEFAULT_JSON2D=omniflo_weichen.json"
set "DEFAULT_JSONDIM=dimensions.json"
set "DEFAULT_TOLERANCE=0.05"
echo Mögliche Werte für --type: BOGEN, WEICHE, TEFBOGEN, TEFWEICHE
REM Benutzereingaben mit Standardwerten
set /p TYPE=Gib den Typ ein (Standard: %DEFAULT_TYPE%):
if "%TYPE%"=="" set "TYPE=%DEFAULT_TYPE%"
set /p JSON2D=Gib den Namen der 2D-JSON-Datei ein (Standard: %DEFAULT_JSON2D%):
if "%JSON2D%"=="" set "JSON2D=%DEFAULT_JSON2D%"
set /p JSONDIM=Gib den Namen der Dimensions-JSON-Datei ein (Standard: %DEFAULT_JSONDIM%):
if "%JSONDIM%"=="" set "JSONDIM=%DEFAULT_JSONDIM%"
set /p TOLERANCE=Gib die Toleranz ein (Standard: %DEFAULT_TOLERANCE%):
if "%TOLERANCE%"=="" set "TOLERANCE=%DEFAULT_TOLERANCE%"
REM Aufruf des Skripts mit den eingegebenen oder Standardwerten
call diff_dimensions.bat --type %TYPE% --json_2d %JSON2D% --json_dimensions %JSONDIM% --tolerance %TOLERANCE%
+3 -2
View File
@@ -2,16 +2,17 @@
REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt
pushd %~dp0\..
for /f "delims=" %%i in ('git rev-parse --show-toplevel') do set SSG_RD_DIR=%%i
REM for /f "delims=" %%i in ('git rev-parse --show-toplevel') do set SSG_RD_DIR=%%i
set PROJECT_DIR=%SSG_RD_DIR%\CAD\Code
set PROJECT_DIR=%cd%
set PROJECT_BIN=%PROJECT_DIR%\bin
set PROJECT_LIB=%PROJECT_DIR%\lib
set PROJECT_WORK=%PROJECT_DIR%\work
set PROJECT_DATA=%PROJECT_DIR%\data
set PROJECT_INPUT=%PROJECT_DIR%\input
set PROJECT_TEMPLATE=\\ssg.local\freigaben\RuleDesigner\Templates\CreateAssemblies
if not exist %PROJECT_WORK% mkdir %PROJECT_WORK%
if not exist %PROJECT_INPUT% mkdir %PROJECT_INPUT%
Binary file not shown.
Binary file not shown.
Binary file not shown.
+2 -1
View File
@@ -84,6 +84,7 @@ if __name__ == "__main__":
# Umgebungsvariablen & Ordner
work_dir = os.environ.get("PROJECT_WORK", "../work")
data_dir = os.environ.get("PROJECT_DATA", "../data")
template_dir = os.environ.get("PROJECT_TEMPLATE", "//ssg.local/freigaben/RuleDesigner/Templates/CreateAssemblies")
if args.input_dir:
input_dir = args.input_dir
@@ -100,7 +101,7 @@ if __name__ == "__main__":
os.makedirs(work_dir, exist_ok=True)
os.makedirs(output_dir, exist_ok=True)
dummy_asm_path = os.path.join(data_dir, "dummy.asm")
dummy_asm_path = os.path.join(template_dir, "dummy.asm")
placeholder_name = "dummy.par"
documents = start_solid_edge()
Binary file not shown.
+259 -9
View File
@@ -8511,7 +8511,7 @@ SSGConnectionPoint.x_M
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:796782" VarRef="TotalLength">
<EXP><![CDATA[$=$Shape_Prototype.KreiselDefinition.AbstandMS-Shape_Prototype.KreiselDefinition.d_min]]></EXP>
<EXP><![CDATA[$=$Shape_Prototype.KreiselDefinition.AbstandMS-550]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:796788" VarRef="LastPosition">
@@ -17108,7 +17108,7 @@ SSGConnectionPoint.x_M
</REMOVE_ADD>
</FOREACHLOOP>
</FUNCTION>
<FUNCTION Id="RDK:20817720" Name="IsInGroup" DesignTimeRemark="Prüft ob das Element der gegeben Id in einer Gruppe ist" InputTypeName="string" ResultTypeName="boolean">
<FUNCTION Id="RDK:20817720" Name="GetGroupIndex" DesignTimeRemark="Prüft ob das Element der gegeben Id in einer Gruppe ist" InputTypeName="string" ResultTypeName="integer">
<GROUP Id="RDK:20832570" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:20832569" Name="id0" Type="string">
<SET Id="RDK:20832568" VarRef="Me">
@@ -17117,21 +17117,22 @@ SSGConnectionPoint.x_M
</SET>
</VAR>
<VAR Id="RDK:20927027" Name="lineStr" Type="string" />
<VAR Id="RDK:24583670" Name="cyclCtr" Type="integer" />
</GROUP>
<FOREACHLOOP Id="RDK:20924285" DesignTimeRemark="finde betroffene Gruppe" ItemVarRef="lineStr">
<FOREACHLOOP Id="RDK:20924285" DesignTimeRemark="finde betroffene Gruppe" ItemVarRef="lineStr" IndexVarRef="cyclCtr">
<PAR Name="ArrayValueExp">
<EXP><![CDATA[$=$groupStrings]]></EXP>
</PAR>
<PAR Name="ExitCondExp">
<EXP><![CDATA[$V$]]></EXP>
<EXP><![CDATA[$=$]]></EXP>
</PAR>
<IFTHENELSE Id="RDK:20924284" DesignTimeRemark="suche ob die Id in der Gruppe ist">
<IFTHENELSE Id="RDK:20924284" DesignTimeRemark="geb die GruppenID zurück, falls das Shape in eine Gruppe ist, ansonsten -1">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$StrIndexOf(lineStr, id0, 0) >= 0]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:20924283" SubType="Then">
<SET Id="RDK:20857800" VarRef="Param.Result">
<EXP><![CDATA[$C$True]]></EXP>
<EXP><![CDATA[$=$cyclCtr]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<EXIT_PROCESS Id="RDK:20924282" BreakType="4" ExitStatus="0" />
@@ -17139,10 +17140,167 @@ SSGConnectionPoint.x_M
</IFTHENELSE>
</FOREACHLOOP>
<SET Id="RDK:20857782" VarRef="Param.Result">
<EXP><![CDATA[$C$-1]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</FUNCTION>
<FUNCTION Id="RDK:24583666" Name="IsInGroup" DesignTimeRemark="Prüft ob das Element der gegeben Id in einer Gruppe ist" InputTypeName="string" ResultTypeName="boolean">
<GROUP Id="RDK:24583659" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:24583657" Name="id0" Type="string">
<SET Id="RDK:24583656" VarRef="Me">
<EXP><![CDATA[$=$Param.Input]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</VAR>
<VAR Id="RDK:24583658" Name="lineStr" Type="string" />
</GROUP>
<FOREACHLOOP Id="RDK:24583664" DesignTimeRemark="finde betroffene Gruppe" ItemVarRef="lineStr">
<PAR Name="ArrayValueExp">
<EXP><![CDATA[$=$groupStrings]]></EXP>
</PAR>
<PAR Name="ExitCondExp">
<EXP><![CDATA[$V$]]></EXP>
</PAR>
<IFTHENELSE Id="RDK:24583663" DesignTimeRemark="suche ob die Id in der Gruppe ist">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$StrIndexOf(lineStr, id0, 0) >= 0]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:24583662" SubType="Then">
<SET Id="RDK:24583660" VarRef="Param.Result">
<EXP><![CDATA[$C$True]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<EXIT_PROCESS Id="RDK:24583661" BreakType="4" ExitStatus="0" />
</GROUP>
</IFTHENELSE>
</FOREACHLOOP>
<SET Id="RDK:24583665" VarRef="Param.Result">
<EXP><![CDATA[$C$False]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</FUNCTION>
<FUNCTION Id="RDK:24583616" Name="IDsAreInSameGroup" DesignTimeRemark="Prüft ob das Element der gegeben Id in einer Gruppe ist" InputTypeName="string[]" ResultTypeName="boolean">
<GROUP Id="RDK:24583609" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:24583607" Name="ids" Type="string[]">
<SET Id="RDK:24583606" VarRef="Me">
<EXP><![CDATA[$=$Param.Input]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</VAR>
<VAR Id="RDK:24583608" Name="id" Type="string" />
<VAR Id="RDK:24583622" Name="PartOfGroup" Type="boolean" />
<VAR Id="RDK:24583642" Name="groupId" Type="string" />
<VAR Id="RDK:24583695" Name="otherId" Type="integer" />
</GROUP>
<IFTHENELSE Id="RDK:24583682" DesignTimeRemark="keine ids gegeben ">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$Count(ids) < 1]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:24583681" SubType="Then">
<SET Id="RDK:24583690" VarRef="Param.Result">
<EXP><![CDATA[$C$False]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<EXIT_PROCESS Id="RDK:24583692" BreakType="4" ExitStatus="0" />
</GROUP>
</IFTHENELSE>
<CALLFUNCTION Id="RDK:24606398">
<PAR Name="FuncName">
<EXP><![CDATA[$C$GetGroupIndex]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$ids[0]]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$groupId]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<FOREACHLOOP Id="RDK:24583614" DesignTimeRemark="finde betroffene Gruppe" ItemVarRef="id">
<PAR Name="ArrayValueExp">
<EXP><![CDATA[$=$ids]]></EXP>
</PAR>
<PAR Name="ExitCondExp">
<EXP><![CDATA[$V$]]></EXP>
</PAR>
<CALLFUNCTION Id="RDK:24583618">
<PAR Name="FuncName">
<EXP><![CDATA[$C$GetGroupIndex]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$id]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$otherId]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<IFTHENELSE Id="RDK:24583613" DesignTimeRemark="schau ob beide Shapes in derselben Gruppe liegen">
<VALUECONDITION Value="false">
<EXP><![CDATA[$=$groupId = otherId]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:24583612" SubType="Then">
<SET Id="RDK:24583610" VarRef="Param.Result">
<EXP><![CDATA[$C$False]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<EXIT_PROCESS Id="RDK:24583611" BreakType="4" ExitStatus="0" />
</GROUP>
</IFTHENELSE>
</FOREACHLOOP>
<SET Id="RDK:24583615" VarRef="Param.Result">
<EXP><![CDATA[$C$True]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</FUNCTION>
<FUNCTION Id="RDK:24613362" Name="AreInNoGroup" DesignTimeRemark="Prüft ob die Elemente der gegeben Ids in keiner Gruppe sind" InputTypeName="string[]" ResultTypeName="boolean">
<GROUP Id="RDK:24613349" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:24613344" Name="ids" Type="string[]">
<SET Id="RDK:24613343" VarRef="Me">
<EXP><![CDATA[$=$Param.Input]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</VAR>
<VAR Id="RDK:24613345" Name="id" Type="string" />
<VAR Id="RDK:24613346" Name="PartOfGroup" Type="boolean" />
</GROUP>
<FOREACHLOOP Id="RDK:24613360" DesignTimeRemark="finde betroffene Gruppe" ItemVarRef="id">
<PAR Name="ArrayValueExp">
<EXP><![CDATA[$=$ids]]></EXP>
</PAR>
<PAR Name="ExitCondExp">
<EXP><![CDATA[$V$]]></EXP>
</PAR>
<CALLFUNCTION Id="RDK:24613355">
<PAR Name="FuncName">
<EXP><![CDATA[$C$IsInGroup]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$id]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$PartOfGroup]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<IFTHENELSE Id="RDK:24613359" DesignTimeRemark="schau ob beide Shapes in derselben Gruppe liegen">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$PartOfGroup]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:24613358" SubType="Then">
<SET Id="RDK:24613356" VarRef="Param.Result">
<EXP><![CDATA[$C$False]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<EXIT_PROCESS Id="RDK:24613357" BreakType="4" ExitStatus="0" />
</GROUP>
</IFTHENELSE>
</FOREACHLOOP>
<SET Id="RDK:24613361" VarRef="Param.Result">
<EXP><![CDATA[$C$True]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</FUNCTION>
<FUNCTION Id="RDK:20817722" Name="GetFollowingIds" DesignTimeRemark="Gibt Alle Ids in der Gruppe zurüc, die dem gegebenen Element folgen" InputTypeName="string" ResultTypeName="string[]">
<GROUP Id="RDK:20832564" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:20832563" Name="id0" Type="string">
@@ -29219,11 +29377,90 @@ me.x
<GROUP Id="RDK:1645267" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:1645268" Name="IDs" Type="string[]" />
<VAR Id="RDK:20749809" Name="ID" Type="string" />
<VAR Id="RDK:24576690" Name="origIDs" Type="string[]" />
<VAR Id="RDK:24613390" Name="InNoGroup" Type="boolean" />
<VAR Id="RDK:24609360" Name="InSameGroup" Type="boolean" />
</GROUP>
<SET Id="RDK:1645269" VarRef="IDs">
<EXP><![CDATA[$=$StrArrayFromListOfStructs(Param.Input, "shapeID")]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:24576692" VarRef="origIDs">
<EXP><![CDATA[$=$StrReplaceOnItems(StrReplaceOnItems(StrArrayFromListOfStructs(Param.Input, "options"),"(ORIGSHAPEID=", ""), ")", "")
]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<CALLFUNCTION Id="RDK:24613378">
<PAR Name="FuncName">
<EXP><![CDATA[$C$AreInNoGroup]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$origIDs]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$InNoGroup]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<IFTHENELSE Id="RDK:24613382">
<VALUECONDITION Value="false">
<EXP><![CDATA[$=$InNoGroup]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:24613379" SubType="Then">
<CALLFUNCTION Id="RDK:24583703">
<PAR Name="FuncName">
<EXP><![CDATA[$C$IDsAreInSameGroup]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$origIDs]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$InSameGroup]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
<IFTHENELSE Id="RDK:24609364">
<VALUECONDITION Value="true">
<EXP><![CDATA[$=$InSameGroup]]></EXP>
</VALUECONDITION>
<GROUP Id="RDK:24609370" SubType="Then">
<CALLFUNCTION Id="RDK:24609374">
<PAR Name="FuncName">
<EXP><![CDATA[$C$CreateGroup]]></EXP>
</PAR>
<PAR Name="InputExp">
<EXP><![CDATA[$=$IDs]]></EXP>
</PAR>
<PAR Name="ResultRef">
<EXP><![CDATA[$V$]]></EXP>
</PAR>
<PAR Name="Options" />
</CALLFUNCTION>
</GROUP>
<GROUP Id="RDK:24613320" SubType="Else">
<ACTION_CALL Id="RDK:24613322" Name="RDEngineering_MsgBox" DesignTimeRemark="{Text}">
<PAR Name="RDLibraryName">
<EXP><![CDATA[$C$RDEngineering_UI]]></EXP>
</PAR>
<PAR Name="MsgText">
<EXP><![CDATA[$C$Items waren in meherer verschiedene Gruppen zugeordnet. not yet implentiert.]]></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>
</GROUP>
</IFTHENELSE>
</GROUP>
</IFTHENELSE>
<FOREACHLOOP Id="RDK:1620226" ItemVarRef="ID">
<PAR Name="ArrayValueExp">
<EXP><![CDATA[$=$IDs]]></EXP>
@@ -30937,7 +31174,16 @@ me.x
</FUNCTION>
<FUNCTION Id="RDK:298" Name="OnEditor2DValidate" InputTypeName="string[]" Options="(TYPEFUNCTION)" />
<FUNCTION Id="RDK:297" Name="OnEditor2DConfigure" InputTypeName="string[]" Options="(TYPEFUNCTION)" />
<FUNCTION Id="RDK:299" Name="OnEditor2DSmartCopy" InputTypeName="string[]" Options="(TYPEFUNCTION)" />
<FUNCTION Id="RDK:299" Name="OnEditor2DSmartCopy" InputTypeName="string[]" Options="(TYPEFUNCTION)">
<GROUP Id="RDK:24568796" Name="Local Variables" SubType="VarSet" IncludeDate="0">
<VAR Id="RDK:24568794" Name="IDs" Type="string[]" />
<VAR Id="RDK:24568795" Name="ID" Type="string" />
</GROUP>
<SET Id="RDK:24568800" VarRef="IDs">
<EXP><![CDATA[$=$StrArrayFromListOfStructs(Param.Input, "shapeID")]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</FUNCTION>
<FUNCTION Id="RDK:300" Name="OnEditor2DSave" Options="(TYPEFUNCTION)" />
<FUNCTION Id="RDK:301" Name="OnEditor2DUndo" Options="(TYPEFUNCTION)" />
<FUNCTION Id="RDK:302" Name="OnEditor2DRedo" Options="(TYPEFUNCTION)" />
@@ -33064,7 +33310,7 @@ me.x
<EXP><![CDATA[$=$GesamtlängeAP110]]></EXP>
</PAR>
<PAR Name="Gesamtlänge AP60">
<EXP><![CDATA[$=$GestamtlängeAP60]]></EXP>
<EXP><![CDATA[$=$GesamtlängeAP60]]></EXP>
</PAR>
</SET_STRUCT>
<SET Id="RDK:24301184" VarRef="CSV_Item.Merkmale">
@@ -37397,6 +37643,10 @@ ShapeList["id="+Param.Input[1].shapeID].name
<EXP><![CDATA[$C$Horizontal]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
<SET Id="RDK:24540193" VarRef="shape_item.VarioFoerdererDefinition.winkel" Suppressed="True">
<EXP><![CDATA[$=$0]]></EXP>
<PAR Name="AdvancedOptions" />
</SET>
</GROUP>
<GROUP Id="RDK:22304083" SubType="Else">
<IFTHENELSE Id="RDK:22071918">
@@ -54219,4 +54469,4 @@ ShapeList["id="+Param.Input[1].shapeID].name
</PROFILES_DATA>
<BOM_DATA />
</EXTERNAL_DATA>
</PROCESS>
</PROCESS>