From c022a9240c5f394104591b37df2eea3ad2048c6f Mon Sep 17 00:00:00 2001 From: mistangl Date: Tue, 29 Jul 2025 09:13:41 +0200 Subject: [PATCH 1/9] merge konflikt bereinigt --- .vscode/launch.json | 48 +++++++++++++++++++++++++++++++++++++++++++ .vscode/settings.json | 2 +- bin/ioconverter.bat | 4 ++-- bin/setenv.bat | 11 +++++----- cfg/bezeichner.cfg | 1 - 5 files changed, 56 insertions(+), 10 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 6e44043..eb82f85 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -40,6 +40,54 @@ "easy_positions.json" ] }, + { + "name": "getpositions with easyhoehe.dxf", + "type": "debugpy", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal", + "args": [ + "--filename", + "easyhoehe.dxf", + "--sensors", + "--rack", + "--console", + "--write", + "easyhoehe_positions.json" + ] + }, + { + "name": "getpositions with easysps.dxf", + "type": "debugpy", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal", + "args": [ + "--filename", + "easysps.dxf", + "--sensors", + "--rack", + "--console", + "--write", + "easysps_positions.json" + ] + }, + { + "name": "getpositions with easy_hdiff_nb.dxf", + "type": "debugpy", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal", + "args": [ + "--filename", + "easy_hdiff_nb.dxf", + "--sensors", + "--rack", + "--console", + "--write", + "easy_hdiff_nb_positions.json" + ] + }, { "name": "getpositions with ST500592_Omniflo.dxf", "type": "debugpy", diff --git a/.vscode/settings.json b/.vscode/settings.json index 8b1c6ca..5b30f74 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,5 @@ { - "python.languageServer": "Pylance", + "python.languageServer": "None", "cSpell.words": [ "DXFATTRIBS", "ezdxf" diff --git a/bin/ioconverter.bat b/bin/ioconverter.bat index 02f4e05..80e2c43 100644 --- a/bin/ioconverter.bat +++ b/bin/ioconverter.bat @@ -6,6 +6,7 @@ for %%i in ("%~1") do ( set "EXT=%%~xi" set "DIR=%%~dpi" ) +call C:\10-Develop\gitrepos\kabellaengen\bin\setenv.bat REM echo Dateiname ohne Erweiterung: %FILENAME% REM echo Erweiterung: %EXT% @@ -18,8 +19,6 @@ REM Namen der Ergebnisdateien set ERROR_DOUBLE=%FILENAME%_errors.json set RESULT_TIA=%FILENAME%-*_TIA.xlsx - -call C:\kabellaengen\bin\setenv.bat echo. @@ -44,6 +43,7 @@ if not exist "%PROJECT_WORK%\%RESULT_TIA%" ( goto :eof ) mkdir %PROJECT_IO_RESULTS%\%FILENAME% +echo move %PROJECT_WORK%\%FILENAME%-* %PROJECT_IO_RESULTS%\%FILENAME% move %PROJECT_WORK%\%FILENAME%-* %PROJECT_IO_RESULTS%\%FILENAME% pause goto :eof diff --git a/bin/setenv.bat b/bin/setenv.bat index 01ec355..d52e067 100644 --- a/bin/setenv.bat +++ b/bin/setenv.bat @@ -1,6 +1,8 @@ @echo off +REM falls Umlaute in den Pfaden sind: +chcp 65001 > nul -set PROJECT=c:\Kabellaengen +set PROJECT=c:\10-Develop\gitrepos\Kabellaengen set PROJECT_BIN=%PROJECT%\bin set PROJECT_CFG=%PROJECT%\cfg set PROJECT_DOC=%PROJECT%\doc @@ -15,8 +17,8 @@ set SIVAS_EXCEL_EXPORT_DIR=%PROJECT_DATA% if not exist %PROJECT%\work mkdir %PROJECT%\work if not exist %PROJECT%\data mkdir %PROJECT%\data -set PROJECT_IO_RESULTS=Z:\Automatisierung\Konvertierungstools\4_io-Konvertierer -set PROJECT_BOM_RESULTS=Z:\Automatisierung\Konvertierungstools\3_Kabellaengen-Konvertierer +set PROJECT_IO_RESULTS=%PROJECT_WORK% +set PROJECT_BOM_RESULTS=%PROJECT_WORK% set INSTALL_DIR="%ONEDRIVE%\Desktop\Kabeltool" set PATH=%PROJECT_BIN%;%PATH% @@ -24,6 +26,3 @@ set PATH=%PROJECT_BIN%;%PATH% popd goto :eof - - - diff --git a/cfg/bezeichner.cfg b/cfg/bezeichner.cfg index 3ceeb24..e2a7977 100644 --- a/cfg/bezeichner.cfg +++ b/cfg/bezeichner.cfg @@ -84,4 +84,3 @@ 829434306 = INKREMENTALGEBER 800 5V KPL. [Missing] - From 5ea5b4de1cba09cffb57002ba3334e204db105c4 Mon Sep 17 00:00:00 2001 From: "g.jahn" Date: Tue, 29 Jul 2025 15:20:47 +0200 Subject: [PATCH 2/9] setenv.bat vom m.stangl falsch wieder eingepflegt --- bin/ioconverter.bat | 2 +- bin/setenv.bat | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/ioconverter.bat b/bin/ioconverter.bat index 80e2c43..547fd1a 100644 --- a/bin/ioconverter.bat +++ b/bin/ioconverter.bat @@ -6,7 +6,7 @@ for %%i in ("%~1") do ( set "EXT=%%~xi" set "DIR=%%~dpi" ) -call C:\10-Develop\gitrepos\kabellaengen\bin\setenv.bat +call C:\kabellaengen\bin\setenv.bat REM echo Dateiname ohne Erweiterung: %FILENAME% REM echo Erweiterung: %EXT% diff --git a/bin/setenv.bat b/bin/setenv.bat index d52e067..89ffe10 100644 --- a/bin/setenv.bat +++ b/bin/setenv.bat @@ -2,7 +2,7 @@ REM falls Umlaute in den Pfaden sind: chcp 65001 > nul -set PROJECT=c:\10-Develop\gitrepos\Kabellaengen +set PROJECT=c:\kabellaengen set PROJECT_BIN=%PROJECT%\bin set PROJECT_CFG=%PROJECT%\cfg set PROJECT_DOC=%PROJECT%\doc @@ -17,8 +17,8 @@ set SIVAS_EXCEL_EXPORT_DIR=%PROJECT_DATA% if not exist %PROJECT%\work mkdir %PROJECT%\work if not exist %PROJECT%\data mkdir %PROJECT%\data -set PROJECT_IO_RESULTS=%PROJECT_WORK% -set PROJECT_BOM_RESULTS=%PROJECT_WORK% +set PROJECT_IO_RESULTS=Z:\Automatisierung\Konvertierungstools\4_io-Konvertierer +set PROJECT_BOM_RESULTS=Z:\Automatisierung\Konvertierungstools\3_Kabellaengen-Konvertierer set INSTALL_DIR="%ONEDRIVE%\Desktop\Kabeltool" set PATH=%PROJECT_BIN%;%PATH% From c805b7fcfe27217e83496663dc2ddaa22d6e7f85 Mon Sep 17 00:00:00 2001 From: mistangl Date: Tue, 29 Jul 2025 16:45:19 +0200 Subject: [PATCH 3/9] =?UTF-8?q?alte=5Fsetenv=5Fx=20weggeworfen.=20getexdra?= =?UTF-8?q?w=20und=20ioconverter=20ziehen=20sich=20jetzt=20eine=20locale?= =?UTF-8?q?=20=5Fsetenv.bat,=20so=20dass=20die=20vordeinierten=20Werte=20d?= =?UTF-8?q?urch=20lokale=20Werte=20=C3=BCberschrieben=20werden=20k=C3=B6nn?= =?UTF-8?q?en.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/_setenv_automatisierung.bat | 33 --------------------------------- bin/_setenv_local.bat | 29 ----------------------------- 2 files changed, 62 deletions(-) delete mode 100644 bin/_setenv_automatisierung.bat delete mode 100644 bin/_setenv_local.bat diff --git a/bin/_setenv_automatisierung.bat b/bin/_setenv_automatisierung.bat deleted file mode 100644 index 75c9352..0000000 --- a/bin/_setenv_automatisierung.bat +++ /dev/null @@ -1,33 +0,0 @@ -@echo off -REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt -pushd %~dp0\.. - -set PROJECT=c:\Kabellaengen -set PROJECT_BIN=%PROJECT%\bin -set PROJECT_CFG=%PROJECT%\cfg -set PROJECT_DOC=%PROJECT%\doc -set PROJECT_LIB=%PROJECT%\lib -set PROJECT_DATA=%PROJECT%\data -set PROJECT_WORK=%PROJECT%\work -set PROJECT_TEST=%PROJECT%\testdata - -set SIVAS_TEILESTAMM=\\195.243.223.3\sivas\jit\programme\KSbExcelExportSivasTeilestamm.exe -set SIVAS_EXCEL_EXPORT_DIR=%PROJECT_DATA% - -if not exist %PROJECT%\work mkdir %PROJECT%\work -if not exist %PROJECT%\data mkdir %PROJECT%\data - -set PROJECT_IO_RESULTS=Z:\Automatisierung\Konvertierungstools\4_io-Konvertierer -set PROJECT_BOM_RESULTS="Z:\Automatisierung\Konvertierungstools\3_Kabellängen-Konvertierer" -set INSTALL_DIR="%ONEDRIVE%\Desktop\Kabeltool" - -set PATH=%PROJECT_BIN%;%PATH% - -set NETWORK_INTERPRETER_PATH=U:\Programmierumgebung\Python312 - - -popd -goto :eof - - - diff --git a/bin/_setenv_local.bat b/bin/_setenv_local.bat deleted file mode 100644 index a0ef4b0..0000000 --- a/bin/_setenv_local.bat +++ /dev/null @@ -1,29 +0,0 @@ -@echo off -REM ~dp0 steht für das Verzeichnis, in der diese Datei liegt -pushd %~dp0\.. - -set PROJECT=C:\10-Develop\gitrepos\kabellaengen -set PROJECT_BIN=%PROJECT%\bin -set PROJECT_CFG=%PROJECT%\cfg -set PROJECT_DOC=%PROJECT%\doc -set PROJECT_LIB=%PROJECT%\lib -set PROJECT_DATA=%PROJECT%\data -set PROJECT_WORK=%PROJECT%\work -set PROJECT_TEST=%PROJECT%\testdata - -set SIVAS_TEILESTAMM=\\195.243.223.3\sivas\jit\programme\KSbExcelExportSivasTeilestamm.exe -set SIVAS_EXCEL_EXPORT_DIR=%PROJECT_DATA% - -if not exist %PROJECT%\work mkdir %PROJECT%\work -if not exist %PROJECT%\data mkdir %PROJECT%\data - -set INSTALL_DIR="%ONEDRIVE%\Desktop\Kabeltool" - -set PATH=%PROJECT_BIN%;%PATH% - - -popd -goto :eof - - - From 0a3fe7dda871e2e88caf5549de6688088bd55c45 Mon Sep 17 00:00:00 2001 From: mistangl Date: Tue, 29 Jul 2025 17:30:42 +0200 Subject: [PATCH 4/9] =?UTF-8?q?Abfrage=20=C3=BCber=20eine=20=5Fsetenv.bat?= =?UTF-8?q?=20eingebaut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/getexdraw.bat | 8 ++++---- bin/ioconverter.bat | 5 +++++ bin/setenv.bat | 5 +++++ 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/bin/getexdraw.bat b/bin/getexdraw.bat index f008b9d..e4c4cc0 100644 --- a/bin/getexdraw.bat +++ b/bin/getexdraw.bat @@ -19,12 +19,12 @@ set ERROR_DOUBLE=%FILENAME%_errors.json set EXCEL_RES=%FILENAME%_cables.xlsx set DXF_RES=%FILENAME%_cables.dxf -echo on -call C:\kabellaengen\bin\setenv.bat -if exist "_setenv_local.bat" ( - call _setenv_local.bat +if exist "%~dp0_setenv.bat" ( + echo Lade lokale Umgebungseinstellungen aus _setenv.bat... + call "%~dp0_setenv.bat" ) +echo on echo. echo === Fetching Positions === call getpositions.bat --filename %1 -s -r -w %JSON_POS% -e %ERROR_DOUBLE% diff --git a/bin/ioconverter.bat b/bin/ioconverter.bat index 547fd1a..9c066a2 100644 --- a/bin/ioconverter.bat +++ b/bin/ioconverter.bat @@ -19,6 +19,11 @@ REM Namen der Ergebnisdateien set ERROR_DOUBLE=%FILENAME%_errors.json set RESULT_TIA=%FILENAME%-*_TIA.xlsx +if exist "%~dp0_setenv.bat" ( + echo Lade lokale Umgebungseinstellungen aus _setenv.bat... + call "%~dp0_setenv.bat" +) + echo. diff --git a/bin/setenv.bat b/bin/setenv.bat index 89ffe10..870a593 100644 --- a/bin/setenv.bat +++ b/bin/setenv.bat @@ -21,6 +21,11 @@ set PROJECT_IO_RESULTS=Z:\Automatisierung\Konvertierungstools\4_io-Konvertierer set PROJECT_BOM_RESULTS=Z:\Automatisierung\Konvertierungstools\3_Kabellaengen-Konvertierer set INSTALL_DIR="%ONEDRIVE%\Desktop\Kabeltool" +if exist "%~dp0_setenv.bat" ( + echo Lade lokale Umgebungseinstellungen aus _setenv.bat... + call "%~dp0_setenv.bat" +) + set PATH=%PROJECT_BIN%;%PATH% From b39235ba70d163497ed4bc572472c9f36a4e452f Mon Sep 17 00:00:00 2001 From: mistangl Date: Thu, 31 Jul 2025 15:03:20 +0200 Subject: [PATCH 5/9] =?UTF-8?q?Bash=20Skripte=20f=C3=BCr=20das=20Startup?= =?UTF-8?q?=20gebaut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/draw_dxf.sh | 4 +++ bin/getpositions.sh | 6 +++++ bin/install_py.sh | 16 ++++++++++++ bin/ioconverter.sh | 54 +++++++++++++++++++++++++++++++++++++++ bin/manage_interpreter.sh | 30 ++++++++++++++++++++++ bin/portalexport.sh | 4 +++ bin/routing.sh | 4 +++ bin/setenv.sh | 26 +++++++++++++++++++ 8 files changed, 144 insertions(+) create mode 100755 bin/draw_dxf.sh create mode 100755 bin/getpositions.sh create mode 100755 bin/install_py.sh create mode 100755 bin/ioconverter.sh create mode 100755 bin/manage_interpreter.sh create mode 100644 bin/portalexport.sh create mode 100755 bin/routing.sh create mode 100755 bin/setenv.sh diff --git a/bin/draw_dxf.sh b/bin/draw_dxf.sh new file mode 100755 index 0000000..cbb9b2d --- /dev/null +++ b/bin/draw_dxf.sh @@ -0,0 +1,4 @@ +#!/bin/bash +source manage_interpreter.sh activate_interpreter +python "$PROJECT_LIB/drawdxf.py" "$@" +source manage_interpreter.sh deactivate_interpreter diff --git a/bin/getpositions.sh b/bin/getpositions.sh new file mode 100755 index 0000000..a53e515 --- /dev/null +++ b/bin/getpositions.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# getpositions.sh +#!/bin/bash +source manage_interpreter.sh activate_interpreter +python "$PROJECT_LIB/getpositions.py" "$@" +source manage_interpreter.sh deactivate_interpreter diff --git a/bin/install_py.sh b/bin/install_py.sh new file mode 100755 index 0000000..9b296e7 --- /dev/null +++ b/bin/install_py.sh @@ -0,0 +1,16 @@ +#!/bin/bash +source setenv.sh + +if [ ! -d "$PROJECT/.venv" ]; then + echo "Initialisiere Python virtual environment..." + python3 -m venv "$PROJECT/.venv" --upgrade-deps + echo "Erfolgreich." + + source "$PROJECT/.venv/bin/activate" + echo "Installiere erforderliche Python Packages..." + pip install -r "$PROJECT_LIB/requirements.txt" -q + echo "Erfolgreich" + deactivate +else + echo "Erforderliche Python Packages bereits installiert!" +fi diff --git a/bin/ioconverter.sh b/bin/ioconverter.sh new file mode 100755 index 0000000..629f810 --- /dev/null +++ b/bin/ioconverter.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +usage() { + echo "Usage: $0 " + exit 1 +} + +if [ $# -eq 0 ]; then + usage +fi + +INPUT_FILE="$1" +FILENAME=$(basename "$INPUT_FILE" .dxf) +DIR=$(dirname "$INPUT_FILE") + +source /opt/dxf-calculator/kabellaengen/bin/setenv.sh + +# Namen der Zwischenergebnis Dateien +JSON_POS="${FILENAME}_positionsconv.json" +JSON_TODRAW="${FILENAME}_todraw.json" +# Namen der Ergebnisdateien +ERROR_DOUBLE="${FILENAME}_errors.json" +RESULT_TIA="${FILENAME}-*_TIA.xlsx" + +echo +echo "=== Fetching Positions ===" +./getpositions.sh --filename "$1" -s -r -w "$JSON_POS" -e "$ERROR_DOUBLE" + +if [ -f "$PROJECT_WORK/$ERROR_DOUBLE" ]; then + echo "== failed: duplicate IDs in given layout" + read -p "Press any key to continue..." + mv "$PROJECT_WORK/$ERROR_DOUBLE" "$PROJECT_IO_RESULTS" + exit 1 +fi + +if [ ! -f "$PROJECT_WORK/$JSON_POS" ]; then + echo "== failed: getpositions" + read -p "Press any key to continue..." + exit 1 +fi + +echo "=== Creating Excel Files for TIA, WSCAD, .. ===" +./portalexport.sh --filename "$JSON_POS" --outname "$FILENAME" + +if [ ! -f "$PROJECT_WORK/$RESULT_TIA" ]; then + echo "== failed: creating .xlsx files" + read -p "Press any key to continue..." + exit 1 +fi + +mkdir -p "$PROJECT_IO_RESULTS/$FILENAME" +echo "move $PROJECT_WORK/${FILENAME}-* $PROJECT_IO_RESULTS/$FILENAME" +mv "$PROJECT_WORK/${FILENAME}"-* "$PROJECT_IO_RESULTS/$FILENAME" +read -p "Press any key to continue..." diff --git a/bin/manage_interpreter.sh b/bin/manage_interpreter.sh new file mode 100755 index 0000000..501fed0 --- /dev/null +++ b/bin/manage_interpreter.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +activate_interpreter() { + if [ -f "$PROJECT/.venv/bin/activate" ]; then + source "$PROJECT/.venv/bin/activate" + else + echo "Virtual environment not found. Run install_py.sh first." + exit 1 + fi +} + +deactivate_interpreter() { + if [ -n "$VIRTUAL_ENV" ]; then + deactivate + fi +} + +# Call function based on argument +case "$1" in + activate_interpreter) + activate_interpreter + ;; + deactivate_interpreter) + deactivate_interpreter + ;; + *) + echo "Usage: $0 {activate_interpreter|deactivate_interpreter}" + exit 1 + ;; +esac diff --git a/bin/portalexport.sh b/bin/portalexport.sh new file mode 100644 index 0000000..ff237ad --- /dev/null +++ b/bin/portalexport.sh @@ -0,0 +1,4 @@ +#!/bin/bash +source manage_interpreter.sh activate_interpreter +python "$PROJECT_LIB/portalexport.py" "$@" +source manage_interpreter.sh deactivate_interpreter diff --git a/bin/routing.sh b/bin/routing.sh new file mode 100755 index 0000000..24779dc --- /dev/null +++ b/bin/routing.sh @@ -0,0 +1,4 @@ +#!/bin/bash +source manage_interpreter.sh activate_interpreter +python "$PROJECT_LIB/routing.py" "$@" +source manage_interpreter.sh deactivate_interpreter diff --git a/bin/setenv.sh b/bin/setenv.sh new file mode 100755 index 0000000..9bccd9d --- /dev/null +++ b/bin/setenv.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +export PROJECT=/opt/dxf-calculator/kabellaengen +export PROJECT_BIN="$PROJECT/bin" +export PROJECT_CFG="$PROJECT/cfg" +export PROJECT_DOC="$PROJECT/doc" +export PROJECT_LIB="$PROJECT/lib" +export PROJECT_DATA="$PROJECT/data" +export PROJECT_WORK="$PROJECT/work" +export PROJECT_TEST="$PROJECT/testdata" + +# Linux executable instead of Windows .exe +export SIVAS_TEILESTAMM="/usr/local/bin/KSbExcelExportSivasTeilestamm" +export SIVAS_EXCEL_EXPORT_DIR="$PROJECT_DATA" + +# Create directories if they don't exist +mkdir -p "$PROJECT/work" +mkdir -p "$PROJECT/data" + +# Samba shares (adjust mount points as needed) +export PROJECT_IO_RESULTS=$PROJECT_WORK +export PROJECT_BOM_RESULTS=$PROJECT_WORK +export INSTALL_DIR="$HOME/kabeltool" + +# Add project bin to PATH +export PATH="$PROJECT_BIN:$PATH" From 76ae8ed22a123e8ee4e2470cb5be123c7c6f3cc0 Mon Sep 17 00:00:00 2001 From: mistangl Date: Thu, 31 Jul 2025 15:11:33 +0200 Subject: [PATCH 6/9] Zum Test /home/mistangl/dxf-calculator als Startverzeichnis gesetzt --- bin/getexdraw.sh | 68 ++++++++++++++++++++++++++++++++++++++++++++++ bin/ioconverter.sh | 2 +- bin/setenv.sh | 2 +- 3 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 bin/getexdraw.sh diff --git a/bin/getexdraw.sh b/bin/getexdraw.sh new file mode 100644 index 0000000..cc453fa --- /dev/null +++ b/bin/getexdraw.sh @@ -0,0 +1,68 @@ +#!/bin/bash + +usage() { + echo "Usage: $0 " + exit 1 +} + +if [ $# -eq 0 ]; then + usage +fi + +INPUT_FILE="$1" +FILENAME=$(basename "$INPUT_FILE" .dxf) +DIR=$(dirname "$INPUT_FILE") + +# Namen der Zwischenergebnis Dateien +JSON_POS="${FILENAME}_positionsdraw.json" +JSON_TODRAW="${FILENAME}_todraw.json" +# Namen der Ergebnisdateien +ERROR_DOUBLE="${FILENAME}_errors.json" +EXCEL_RES="${FILENAME}_cables.xlsx" +DXF_RES="${FILENAME}_cables.dxf" + +source $HOME/dxf-calculator/kabellaengen/bin/setenv.sh + +echo +echo "=== Fetching Positions ===" +./getpositions.sh --filename "$1" -s -r -w "$JSON_POS" -e "$ERROR_DOUBLE" + +if [ -f "$PROJECT_WORK/$ERROR_DOUBLE" ]; then + echo "-failed- duplicate IDs in given layout" + read -p "Press any key to continue..." + mv "$PROJECT_WORK/$ERROR_DOUBLE" "$PROJECT_BOM_RESULTS" + exit 1 +fi + +if [ ! -f "$PROJECT_WORK/$JSON_POS" ]; then + echo "-failed- getpositions" + read -p "Press any key to continue..." + exit 1 +fi + +echo +echo "=== Creating Graph for Routing ===" +./routing.sh --filename "$JSON_POS" -w "$JSON_TODRAW" + +if [ ! -f "$PROJECT_WORK/$JSON_TODRAW" ]; then + echo "-failed- routing" + read -p "Press any key to continue..." + exit 1 +fi + +echo +echo "=== Writing Output Files ===" +./draw_dxf.sh --filename "$JSON_TODRAW" --new "$DXF_RES" -x "$EXCEL_RES" + +if [ ! -f "$PROJECT_WORK/$EXCEL_RES" ]; then + echo "-failed- draw_dxf" + read -p "Press any key to continue..." + exit 1 +fi + +echo + +mkdir -p "$PROJECT_BOM_RESULTS/$FILENAME" +mv "$PROJECT_WORK/${FILENAME}_"* "$PROJECT_BOM_RESULTS/$FILENAME" +read -p "Press any key to continue..." + diff --git a/bin/ioconverter.sh b/bin/ioconverter.sh index 629f810..9ea2236 100755 --- a/bin/ioconverter.sh +++ b/bin/ioconverter.sh @@ -13,7 +13,7 @@ INPUT_FILE="$1" FILENAME=$(basename "$INPUT_FILE" .dxf) DIR=$(dirname "$INPUT_FILE") -source /opt/dxf-calculator/kabellaengen/bin/setenv.sh +source $HOME/dxf-calculator/kabellaengen/bin/setenv.sh # Namen der Zwischenergebnis Dateien JSON_POS="${FILENAME}_positionsconv.json" diff --git a/bin/setenv.sh b/bin/setenv.sh index 9bccd9d..be928da 100755 --- a/bin/setenv.sh +++ b/bin/setenv.sh @@ -1,6 +1,6 @@ #!/bin/bash -export PROJECT=/opt/dxf-calculator/kabellaengen +export PROJECT=$HOME/dxf-calculator/kabellaengen export PROJECT_BIN="$PROJECT/bin" export PROJECT_CFG="$PROJECT/cfg" export PROJECT_DOC="$PROJECT/doc" From 79b795da65c091b8c63798e4fc477981bfd18c6f Mon Sep 17 00:00:00 2001 From: Gertrud Jahn Date: Thu, 7 Aug 2025 12:09:07 +0200 Subject: [PATCH 7/9] setenv.bat Aufruf war verschunden aus getexdraw.bat --- bin/getexdraw.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/getexdraw.bat b/bin/getexdraw.bat index e4c4cc0..8bdfb2d 100644 --- a/bin/getexdraw.bat +++ b/bin/getexdraw.bat @@ -6,6 +6,7 @@ for %%i in ("%~1") do ( set "EXT=%%~xi" set "DIR=%%~dpi" ) +call C:\kabellaengen\bin\setenv.bat REM echo Dateiname ohne Erweiterung: %FILENAME% REM echo Erweiterung: %EXT% From b9bbcb4f78b0b892fbad81df695efb9172ed21a8 Mon Sep 17 00:00:00 2001 From: Gertrud Jahn Date: Tue, 12 Aug 2025 11:51:01 +0200 Subject: [PATCH 8/9] Tunnel sollen in Zukunft auf 0-0_Tunnel Layer zu finden sein --- cfg/allgemein.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/cfg/allgemein.cfg b/cfg/allgemein.cfg index 15d58e5..3061fd9 100644 --- a/cfg/allgemein.cfg +++ b/cfg/allgemein.cfg @@ -38,6 +38,7 @@ UNTERVERTEILER # Layernames of Tunnels [GetPos-Layer_Tunnel] Busverteiler-Kennzeichnung +0-0_Tunnel # Layernamen des Equipments (Sensoren, Motoren, etc.) From ec6d903515c5d36e7c39ad89e572e675f86cade2 Mon Sep 17 00:00:00 2001 From: mistangl Date: Thu, 14 Aug 2025 17:09:16 +0200 Subject: [PATCH 9/9] wenn nur ein Tunnel oder zu viele gleichlautende Tunnel definiert wurden, dann Fehler werfen --- lib/getpositions.py | 20 +++++++++++++++++--- lib/plant.py | 12 +++++++----- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/lib/getpositions.py b/lib/getpositions.py index a705f45..53afb3e 100644 --- a/lib/getpositions.py +++ b/lib/getpositions.py @@ -621,10 +621,11 @@ def check_file_in_work(work_dir: Path, filename: Path) -> tuple[Path, bool]: mypath = filename return mypath, fexists -def check_existance(res_mappings: dict, res_dist: dict, res_pos: dict) -> dict: +def check_existance(res_mappings: dict, res_dist: dict, res_pos: dict, res_tunnel: dict) -> dict: ret = dict() ret["missing_distributors"] = list() ret["missing_sensors"] = list() + ret["missing_tunnel"] = list() for dname in res_mappings.keys(): if dname not in res_dist: ret["missing_distributors"].append(dname) @@ -632,7 +633,13 @@ def check_existance(res_mappings: dict, res_dist: dict, res_pos: dict) -> dict: for s in lofsensors: if s not in res_pos: ret['missing_sensors'].append(s) - + for tname in res_tunnel.keys(): + if len(res_tunnel[tname]) < 2 : + ret["missing_tunnel"].append(tname) + if len(res_tunnel[tname]) > 2 : + if "overdefined_tunnel" not in ret: + ret["overdefined_tunnel"] = list() + ret["overdefined_tunnel"].append(tname) return ret def dxf_is_binary(dxf_path: Path) -> bool: @@ -810,11 +817,18 @@ if __name__ == '__main__': if args.write: basename = os.path.splitext(args.write)[0] - res_not_found = check_existance(res_mappings, res_dist, res_sens) + res_not_found = check_existance(res_mappings, res_dist, res_sens, res_tunnel) + if args.errors and "overdefined_tunnel" in res_not_found: + print("unorrect tunnels found. Writing errors-file.") + err_ids = list(res_not_found["overdefined_tunnel"]) + write_results(to_json(list(err_ids)), work_dir, args.errors) + added_warnings = merge_two_dicts(warnings, missing_attribs) res_not_found["missing_attributes"] = added_warnings output_results["not_found"] = res_not_found output_results["double_ids"] = res_double + + write_results(to_json(output_results), work_dir, f"{basename}.json") else: diff --git a/lib/plant.py b/lib/plant.py index 14e868c..3572531 100644 --- a/lib/plant.py +++ b/lib/plant.py @@ -434,11 +434,13 @@ class Anlage(): die Rückage enthält ein Tuple, welche Tunnel keinem Rack zugeordnet werden konnten ''' for tname, pos in self._tunnels.items(): - tunbeg = pos[0] - tunend = pos[1] - trackname = f"t-Rack-{tname}" - self._racks.add_rack(tunbeg, tunend, trackname) - + if len(pos) == 2: + tunbeg = pos[0] + tunend = pos[1] + trackname = f"t-Rack-{tname}" + self._racks.add_rack(tunbeg, tunend, trackname) + else: + raise Exception("Tunnel has more than one begin and end/ just one begin") errors = list() for name, pos in self._tunnels.items(): p1 = self._tunnels[name][0]