@echo off
REM =========================================================================
REM  CATIA STP -> WRL Tek Dosya Dönüştürücü
REM  FikatiaV2024 - Automatic Batch Conversion System
REM =========================================================================
REM
REM  Kullanım:
REM    convert_stp_to_wrl.bat "C:\dosya.stp"
REM    convert_stp_to_wrl.bat "C:\dosya.stp" "C:\cikti.wrl"
REM
REM =========================================================================

setlocal enabledelayedexpansion

echo.
echo =========================================================================
echo   CATIA STP -^> WRL Converter
echo   FikatiaV2024 Batch System
echo =========================================================================
echo.

REM Parametre kontrolü
if "%~1"=="" (
    echo HATA: Dosya yolu belirtilmedi!
    echo.
    echo Kullanim:
    echo   convert_stp_to_wrl.bat "C:\dosya.stp"
    echo   convert_stp_to_wrl.bat "C:\dosya.stp" "C:\cikti.wrl"
    echo.
    pause
    exit /b 1
)

REM Dosya yollarını ayarla
set "STEPFILE=%~1"
set "STEPFILE_FULLPATH=%~f1"

REM Çıktı dosyası belirtilmişse onu kullan, yoksa aynı klasöre kaydet
if "%~2"=="" (
    set "WRLFILE=%~dpn1.wrl"
) else (
    set "WRLFILE=%~2"
)

REM Dosya varlık kontrolü
if not exist "%STEPFILE_FULLPATH%" (
    echo HATA: Kaynak dosya bulunamadi!
    echo Dosya: %STEPFILE_FULLPATH%
    echo.
    pause
    exit /b 1
)

REM Dosya bilgilerini göster
echo [1/3] Dosya Kontrolleri
echo -------------------------------------------------------------------------
echo   Kaynak STP : %STEPFILE_FULLPATH%
echo   Cikti WRL  : %WRLFILE%
echo.

REM Script dizinini al (macro'nun bulunduğu yer)
set "SCRIPT_DIR=%~dp0"
set "MACRO_PATH=%SCRIPT_DIR%ConvertMacro.catvbs"

REM Macro varlık kontrolü
if not exist "%MACRO_PATH%" (
    echo HATA: CATIA macro dosyasi bulunamadi!
    echo Beklenen: %MACRO_PATH%
    echo.
    pause
    exit /b 1
)

echo   Macro      : %MACRO_PATH%
echo   Durum      : Tum dosyalar hazir
echo.

REM CATIA yolunu ayarla
set "CATIA_PATH=C:\Program Files\Dassault Systemes\B20\win_b64\code\bin\CATSTART.exe"

if not exist "%CATIA_PATH%" (
    echo UYARI: CATIA varsayilan yolda bulunamadi
    echo Beklenen: %CATIA_PATH%
    echo.
    echo CATIA yolunu manuel girin veya scripti duzenleyin
    pause
    exit /b 1
)

echo [2/3] CATIA Calistiriliyor
echo -------------------------------------------------------------------------
echo   CATIA      : %CATIA_PATH%
echo   Mod        : Batch (gorunmez)
echo.
echo   Lutfen bekleyin, donusturme islemi devam ediyor...
echo.

REM CATIA'yı macro ile çalıştır
"%CATIA_PATH%" -batch -run "CNEXT.exe" -macro "%MACRO_PATH%" "%STEPFILE_FULLPATH%" "%WRLFILE%"

REM Sonuç kontrolü
echo.
echo [3/3] Sonuc Kontrolu
echo -------------------------------------------------------------------------

if exist "%WRLFILE%" (
    REM Dosya boyutunu al
    for %%A in ("%WRLFILE%") do set "FILESIZE=%%~zA"

    echo   DURUM      : BASARILI!
    echo   Cikti      : %WRLFILE%
    echo   Boyut      : !FILESIZE! bytes
    echo.
    echo =========================================================================
    echo   Donusturme basariyla tamamlandi!
    echo =========================================================================
) else (
    echo   DURUM      : BASARISIZ!
    echo   WRL dosyasi olusturulamadi.
    echo.
    echo   Log dosyasini kontrol edin:
    echo   %SCRIPT_DIR%conversion.log
    echo.
    echo =========================================================================
    echo   Donusturme basarisiz!
    echo =========================================================================
    pause
    exit /b 1
)

echo.
pause
exit /b 0
