173 lines
6.7 KiB
Batchfile
173 lines
6.7 KiB
Batchfile
@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%\<name>_bbs.svg
|
|
REM %SKEL_RESULTS%\<name>_material_flow.svg (nur mit 'mflow')
|
|
REM %SKEL_RESULTS%\<name>_track.svg (nur mit 'track')
|
|
REM %SKEL_RESULTS%\<name>_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%%\^<name^>_bbs.svg
|
|
echo %%SKEL_RESULTS%%\^<name^>_material_flow.svg ^(nur mit 'mflow'^)
|
|
echo %%SKEL_RESULTS%%\^<name^>_track.svg ^(nur mit 'track'^)
|
|
echo %%SKEL_RESULTS%%\^<name^>_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
|
|
|