#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys
import os
import FreeCAD
import FreeCADGui
import Part

# Debug fonksiyonu (CMD’de anında göster)
def debug(msg):
    print(f"[DEBUG] {msg}", flush=True)

debug("Script başlatıldı")

# Dosya yollarını burada hardcode yapıyoruz (CMD argümanı sorun çıkarıyor)
input_file = r"D:\__sistem__\ProgramFiles\FreeCAD\bin\freecad1.stp"   # Burayı kendi dosyana göre değiştir
output_file = r"D:\__sistem__\ProgramFiles\FreeCAD\bin\free-cikti.png"     # Burayı kendi dosyana göre değiştir
debug(f"Girdi dosyası: {input_file}")
debug(f"Çıktı dosyası: {output_file}")

if not os.path.exists(input_file):
    debug("Hata: Girdi dosyası bulunamadı")
    sys.exit(1)

# GUI başlat
try:
    FreeCADGui.showMainWindow()
    debug("GUI başlatıldı")
except Exception as e:
    debug(f"Hata GUI: {e}")
    sys.exit(1)

# Belge oluştur
doc = FreeCAD.newDocument()
debug("Yeni belge oluşturuldu")

# STEP yükle
shape = Part.Shape()
shape.read(input_file)
Part.show(shape)
debug("STEP dosyası yüklendi")

# Görünüm
view = FreeCADGui.ActiveDocument.ActiveView
view.viewAxonometric()
view.fitAll()
debug("Görünüm ayarlandı")

# PNG kaydet
view.saveImage(output_file, 1920, 1080, 'White')
debug(f"Resim kaydedildi: {output_file}")

debug("Script tamamlandı")
