Files
dxfmakros/bin/show_exportcsv.bat
Samer AyadiandClaude Opus 5.5 79fb3df615 show_exportcsv: optional Materialfluss- und Bahnzusammenhang-SVG
Neue Schluesselwoerter (Reihenfolge beliebig, neben all/flow):
  mflow - <name>_material_flow.svg erzeugen (--tosvg) und oeffnen
  track - <name>_track.svg erzeugen (--track --tosvg) und oeffnen
Beide brauchen Graphviz; fehlt die SVG, gibt es nur eine Warnung.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 16:03:25 +02:00

121 lines
4.4 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- und Bahnzusammenhang-Graph.
REM
REM Die Darstellung uebernimmt sps_skel (bin\material_flow.bat,
REM Option --show-bbs). sps_skel wird neben dxfmakros erwartet
REM (..\sps_skel) oder ueber die Umgebungsvariable 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 flow mflow track alles kombiniert
REM
REM mflow/track brauchen Graphviz ('dot' 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 ================================================================
setlocal
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"
)
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
set "MODE=all"
set "MFLOW="
set "TRACK="
for %%A in (%2 %3 %4) 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"
)
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%"
call "%SPS_SKEL_HOME%\bin\material_flow.bat" --file "%CSV%" --show-bbs %MODE% --show-kx %OPTS%
set "RC=%ERRORLEVEL%"
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?^).
)
)
endlocal & exit /b 0