@echo off REM ================================================================ REM TEST - Umgebungsvariablen Setup REM ================================================================ echo Setting up environment variables for DXFMAKROS ... REM Basis-Projektpfad (aktueller Ordner) set "DXFMAKRO=%~dp0.." if "%DXFMAKRO:~-6%"=="bin\.." set "DXFMAKRO=%DXFMAKRO:~0,-6%" if "%DXFMAKRO:~-1%"=="\" set "DXFMAKRO=%DXFMAKRO:~0,-1%" REM Pfade fuer verschiedene Komponenten set "DXFM_BIN=%DXFMAKRO%\bin" set "DXFM_LIB=%DXFMAKRO%\lib" set "DXFM_DATA=%DXFMAKRO%\data" set "DXFM_TESTS=%DXFMAKRO%\tests" set "DXFM_TESTDATA=%DXFM_TESTS%\testdata" set "DXFM_TESTOUT=%DXFM_TESTS%\output" set "DXFM_TESTREF=%DXFM_TESTS%\reference" set "DXFM_CFG=%DXFMAKRO%\cfg" set "DXFM_LOG=%DXFMAKRO%\logs" set "DXFM_LISP=%DXFMAKRO%\Lisp" set "DXFM_DCL=%DXFMAKRO%\dcl" set "DXFM_RESULTS=%DXFMAKRO%\results" REM 2D/3D-Modus: Standard ist 3D (alle Module nutzen data\ils\3D\) set "DXFM_DIM=3D" set BRICSCAD="C:\Program Files\Bricsys\BricsCAD V25 de_DE\bricscad.exe" if exist "C:\Program Files\Bricsys\BricsCAD V25 de_DE\bricscad.exe" ( set "BRICSCAD=C:\Program Files\Bricsys\BricsCAD V25 de_DE\bricscad.exe" ) else if exist "C:\Program Files\Bricsys\BricsCAD V22 de_DE\bricscad.exe" ( set "BRICSCAD=C:\Program Files\Bricsys\BricsCAD V22 de_DE\bricscad.exe" ) else if exist "D:\Programme\BricsCAD\bricscad.exe" ( set "BRICSCAD=D:\Programme\BricsCAD\bricscad.exe" ) else ( echo Keine BricsCAD-Installation gefunden. ) REM Ueberladen von Umgebungsvariablen durch _setenv.bat (z.B. DXFM_DIM=3D) if exist "%~dp0_setenv.bat" ( echo Lade lokale Umgebungseinstellungen aus _setenv.bat... call "%~dp0_setenv.bat" ) REM Kommandozeilenparameter hat hoechste Prioritaet if /i "%1"=="3D" set "DXFM_DIM=3D" if /i "%1"=="2D" set "DXFM_DIM=2D" REM Abhaengige Pfade nach Override berechnen set "DXFM_BLOCKS=%DXFMAKRO%\data\ils\%DXFM_DIM%" set "DXFM_OMNIFLO=%DXFMAKRO%\data\omniflo\%DXFM_DIM%" REM Ordner erstellen falls sie nicht existieren if not exist "%DXFM_BIN%" mkdir "%DXFM_BIN%" if not exist "%DXFM_CFG%" mkdir "%DXFM_CFG%" if not exist "%DXFM_LIB%" mkdir "%DXFM_LIB%" if not exist "%DXFM_DATA%" mkdir "%DXFM_DATA%" if not exist "%DXFM_BLOCKS%" mkdir "%DXFM_BLOCKS%" if not exist "%DXFM_OMNIFLO%" mkdir "%DXFM_OMNIFLO%" if not exist "%DXFM_LISP%" mkdir "%DXFM_LISP%" if not exist "%DXFM_LOG%" mkdir "%DXFM_LOG%" if not exist "%DXFM_RESULTS%" mkdir "%DXFM_RESULTS%" if not exist "%DXFM_TESTDATA%" mkdir "%DXFM_TESTDATA%" if not exist "%DXFM_TESTOUT%" mkdir "%DXFM_TESTOUT%" if not exist "%DXFM_TESTREF%" mkdir "%DXFM_TESTREF%" REM Hinweis: setx (dauerhaft) wird hier nicht verwendet. REM Variablen gelten nur fuer diesen Prozess und Kindprozesse (z.B. BricsCAD). REM Falls dauerhafte Registry-Eintraege benoetigt werden: setenv.bat --persist aufrufen. if /i "%1"=="--persist" ( echo Setze Umgebungsvariablen dauerhaft in der Registry ^(setx^)... setx DXFMAKRO "%DXFMAKRO%" >nul setx DXFM_LISP "%DXFM_LISP%" >nul setx DXFM_DATA "%DXFM_DATA%" >nul setx DXFM_DCL "%DXFM_DCL%" >nul setx DXFM_CFG "%DXFM_CFG%" >nul setx DXFM_LOG "%DXFM_LOG%" >nul setx DXFM_DIM "%DXFM_DIM%" >nul setx DXFM_BLOCKS "%DXFM_BLOCKS%" >nul echo Dauerhaft gesetzt. Gilt fuer alle neuen Prozesse. ) REM Umgebungsvariablen anzeigen echo. echo ================================================================ echo DXFMAKRO = %DXFMAKRO% echo DXFM_DIM = %DXFM_DIM% echo DXFM_BLOCKS = %DXFM_BLOCKS% echo DXFM_OMNIFLO = %DXFM_OMNIFLO% echo ================================================================ echo. REM Optionally keep window open if "%1"=="--keep-open" pause