@echo off REM ================================================================ REM DXFMAKROS - Export-CSV als Boundingbox-Draufsicht (SVG) anzeigen REM ================================================================ REM Zeichnet jede Zeile der Export-CSV (EXPORTCSV) als achsparalleles REM Rechteck aus Position + Boundingbox, mit Legende und Tooltip je REM Rechteck sowie den Anschluss-Koordinatensystemen K1-K4 (rotes Kreuz, REM blaue Linie K1->K2->K3->K4), und oeffnet das Ergebnis im Browser. REM Optional zusaetzlich Materialfluss-, Bahnzusammenhang- und TRO-Fluss-Graph. REM REM Die Darstellung uebernimmt sps_skel (bin\material_flow.bat, REM Option --show-bbs, bzw. bin\tro_flow.bat fuer 'tro'). sps_skel wird REM neben dxfmakros erwartet (..\sps_skel) oder ueber die Umgebungs- REM variable SPS_SKEL_HOME. REM REM Aufruf: REM bin\show_exportcsv.bat results\export.csv, alle Zeilen REM bin\show_exportcsv.bat meine_export.csv andere CSV in results\ (oder Pfad) REM bin\show_exportcsv.bat export.csv flow ohne VF/GF-Einzelbausteine REM bin\show_exportcsv.bat export.csv mflow zusaetzlich Materialfluss-Graph REM bin\show_exportcsv.bat export.csv track zusaetzlich Bahnzusammenhang-Graph REM bin\show_exportcsv.bat export.csv tro zusaetzlich TRO-Fluss-Graph (lagerichtig) REM bin\show_exportcsv.bat export.csv flow mflow track tro alles kombiniert REM REM mflow/track/tro brauchen Graphviz ('dot' bzw. 'neato' im PATH). REM REM Ergebnis: %SKEL_RESULTS%\_bbs.svg REM %SKEL_RESULTS%\_material_flow.svg (nur mit 'mflow') REM %SKEL_RESULTS%\_track.svg (nur mit 'track') REM %SKEL_RESULTS%\_tro_flow.svg (nur mit 'tro') REM ================================================================ setlocal if /i "%~1"=="--help" goto :help if /i "%~1"=="-h" goto :help if "%~1"=="/?" goto :help goto :main :help echo Aufruf: echo bin\show_exportcsv.bat results\export.csv, alle Zeilen echo bin\show_exportcsv.bat meine_export.csv andere CSV in results\ ^(oder Pfad^) echo bin\show_exportcsv.bat export.csv flow ohne VF/GF-Einzelbausteine echo bin\show_exportcsv.bat export.csv mflow zusaetzlich Materialfluss-Graph echo bin\show_exportcsv.bat export.csv track zusaetzlich Bahnzusammenhang-Graph echo bin\show_exportcsv.bat export.csv tro zusaetzlich TRO-Fluss-Graph ^(lagerichtig^) echo bin\show_exportcsv.bat export.csv flow mflow track tro alles kombiniert echo. echo Schalter ^(2.-5. Argument, Reihenfolge beliebig^): echo all Darstellungsmodus: alle Zeilen ^(Default^) echo flow Darstellungsmodus: ohne VF/GF-Einzelbausteine echo mflow zusaetzlich Materialfluss-SVG erzeugen und oeffnen echo track zusaetzlich Bahnzusammenhang-SVG erzeugen und oeffnen echo tro zusaetzlich TRO-Fluss-SVG ^(lagerichtig^) erzeugen und oeffnen echo. echo mflow/track/tro brauchen Graphviz ^('dot' bzw. 'neato' im PATH^). echo. echo Ergebnis: echo %%SKEL_RESULTS%%\^_bbs.svg echo %%SKEL_RESULTS%%\^_material_flow.svg ^(nur mit 'mflow'^) echo %%SKEL_RESULTS%%\^_track.svg ^(nur mit 'track'^) echo %%SKEL_RESULTS%%\^_tro_flow.svg ^(nur mit 'tro'^) endlocal & exit /b 0 :main REM Umgebung dxfmakros (DXFM_RESULTS ...) call "%~dp0setenv.bat" >nul REM sps_skel suchen if not defined SPS_SKEL_HOME set "SPS_SKEL_HOME=%DXFMAKRO%\..\sps_skel" if not exist "%SPS_SKEL_HOME%\bin\material_flow.bat" ( echo FEHLER: sps_skel nicht gefunden: %SPS_SKEL_HOME% echo SPS_SKEL_HOME auf den sps_skel-Ordner setzen. endlocal & exit /b 1 ) REM Umgebung sps_skel (SKEL_RESULTS ...) - material_flow.bat ruft setenv REM zwar selbst auf, SKEL_RESULTS wird hier aber zum Oeffnen der SVG gebraucht. call "%SPS_SKEL_HOME%\bin\setenv.bat" >nul REM Eingabe-CSV: Dateiname wird in DXFM_RESULTS gesucht, Pfade bleiben set "CSV=%~1" if "%CSV%"=="" set "CSV=export.csv" if exist "%DXFM_RESULTS%\%CSV%" set "CSV=%DXFM_RESULTS%\%CSV%" if not exist "%CSV%" ( echo FEHLER: CSV nicht gefunden: %CSV% echo Erst in BricsCAD EXPORTCSV ausfuehren. endlocal & exit /b 1 ) for %%F in ("%CSV%") do ( set "CSV=%%~fF" set "SVG=%SKEL_RESULTS%\%%~nF_bbs.svg" set "MF_SVG=%SKEL_RESULTS%\%%~nF_material_flow.svg" set "TRACK_SVG=%SKEL_RESULTS%\%%~nF_track.svg" set "TRO_SVG=%SKEL_RESULTS%\%%~nF_tro_flow.svg" ) REM Weitere Argumente (Reihenfolge beliebig): REM all (Default) / flow - Darstellungsmodus der Boundingbox-Ansicht REM mflow - zusaetzlich Materialfluss-SVG erzeugen und oeffnen REM track - zusaetzlich Bahnzusammenhang-SVG erzeugen und oeffnen REM tro - zusaetzlich TRO-Fluss-SVG (lagerichtig) erzeugen und oeffnen set "MODE=all" set "MFLOW=" set "TRACK=" set "TRO=" for %%A in (%2 %3 %4 %5) do ( if /i "%%~A"=="all" set "MODE=all" if /i "%%~A"=="flow" set "MODE=flow" if /i "%%~A"=="mflow" set "MFLOW=1" if /i "%%~A"=="track" set "TRACK=1" if /i "%%~A"=="tro" set "TRO=1" ) REM Beide Graphen entstehen erst mit --tosvg (Graphviz 'dot') set "OPTS=" if defined MFLOW set "OPTS=--tosvg" if defined TRACK set "OPTS=--track --tosvg" REM Alte SVGs entfernen, damit nie eine veraltete Ansicht geoeffnet wird if exist "%SVG%" del "%SVG%" if defined MFLOW if exist "%MF_SVG%" del "%MF_SVG%" if defined TRACK if exist "%TRACK_SVG%" del "%TRACK_SVG%" if defined TRO if exist "%TRO_SVG%" del "%TRO_SVG%" call "%SPS_SKEL_HOME%\bin\material_flow.bat" --file "%CSV%" --show-bbs %MODE% --show-kx %OPTS% set "RC=%ERRORLEVEL%" if defined TRO ( call "%SPS_SKEL_HOME%\bin\tro_flow.bat" --file "%CSV%" --tosvg --use-cords ) if not exist "%SVG%" ( echo FEHLER: SVG wurde nicht erzeugt ^(material_flow Exit-Code %RC%^). endlocal & exit /b 1 ) echo. echo Boundingbox-Ansicht: %SVG% REM Vorschau direkt im Standardprogramm fuer .svg (Browser) oeffnen start "" "%SVG%" REM Graphen: material_flow meldet Graphviz-Fehler teils nur, ohne REM abzubrechen - daher hier ueber die Datei pruefen. if defined MFLOW ( if exist "%MF_SVG%" ( echo Materialfluss: %MF_SVG% start "" "%MF_SVG%" ) else ( echo WARNUNG: Materialfluss-SVG wurde nicht erzeugt ^(Graphviz 'dot' vorhanden?^). ) ) if defined TRACK ( if exist "%TRACK_SVG%" ( echo Bahnzusammenhang: %TRACK_SVG% start "" "%TRACK_SVG%" ) else ( echo WARNUNG: Bahnzusammenhang-SVG wurde nicht erzeugt ^(Graphviz 'dot' vorhanden?^). ) ) if defined TRO ( if exist "%TRO_SVG%" ( echo TRO-Fluss: %TRO_SVG% start "" "%TRO_SVG%" ) else ( echo WARNUNG: TRO-Fluss-SVG wurde nicht erzeugt ^(Graphviz 'neato' vorhanden?^). ) ) endlocal & exit /b 0