# FikoYT Çıkarıcı Dialog (IFikoCikariciDialog)

**Hızlı Kurulum ve Kullanım Rehberi**

---

## 📋 Hızlı Başlangıç (2 Dakika)

### 1️⃣ COM Kaydını Yapın (Bir Kez)

**Yönetici olarak komut istemini aç:**

```batch
cd D:\__sistem__\Masaustu\FikatiaV2024\__register__\komponentler
REGISTER_IFikoCikariciDialog.bat
```

**Başarı Mesajı:**
```
[OK] IFikoCikariciDialog COM nesnesi başarıyla kayıt edildi
Registered: FikoYT.IFikoCikariciDialog
```

### 2️⃣ CATIA'da Makroyu Çalıştır

1. **CATIA'yı aç** (yeni veya mevcut CATPart/CATProduct)
2. **Tools → Macros → Run Macro**
3. **Bu dosyayı seç:**
   ```
   D:\__sistem__\Masaustu\FikatiaV2024\IDialoglar\IFikoCikariciDialog\CATIA_MAKRO_Cikarici.catvbs
   ```
4. **Run** butonuna tıkla

### 3️⃣ Dialog Açılmalı!

```
╔════════════════════════════════════════╗
║  FikoYT - Çıkarıcı Dialog              ║
╠════════════════════════════════════════╣
║  ☑ WRL (3D Model) Kaydı                ║
║  ☑ PNG Resim Çekme                     ║
║  ☑ JSON Dokümantasyon                  ║
║                                        ║
║  [WRL Olarak Kaydet]                   ║
║  [Resim Çek (PNG)]                     ║
║  [Dokümantasyon Oluştur]               ║
║  [Çıkış]                               ║
╚════════════════════════════════════════╝
```

---

## ✨ Yapılan İşlevler

### 1. WRL Kaydı (3D Model)
- CATIA'daki 3D modeli VRML formatına çıkartır
- Başka yazılımlarla açılabilir
- Dosya: `.fikoyt/model.wrl`

### 2. PNG/JPEG Resim Çekme
- Belgenin ekran görüntüsünü alır (PNG + JPEG formatı)
- `IGosterim3d.resimDosyaya()` metodu kullanılır
- CaptureToFile ile yüksek kaliteli resim
- Beyaz arka plan otomatik ayarlanır
- Dosyalar: `.fikoyt/screenshot.png` ve `.fikoyt/screenshot.jpg`

### 3. JSON Dokümantasyon
- Teknik bilgiler kaydedilir
- Tarih, dosya adı, durum bilgileri
- Dosya: `.fikoyt/dokumantasyon.json`

### 4. Gizli Klasör (.fikoyt)
- Windows tarafından otomatik gizlenir
- Tüm çıktılar buraya kaydedilir
- Konumu: `[Dokuman_Klasoru]\.fikoyt\`

---

## 📂 Dosya Yapısı

```
IFikoCikariciDialog/
├── __init__.py                      # Paket
├── registerCom.py                   # COM kaydı
├── IFikoCikariciDialog.py           # Ana dialog sınıfı (520+ satır)
├── threadManager.py                 # Async işlemler (descriptor)
├── formAna.ui                       # PyQt6 form (QMainWindow)
├── CATIA_MAKRO_Cikarici.catvbs     # CATIA makrosu (VBScript)
├── Resimler/
│   ├── hiper.gif                   # Loading animasyonu
│   └── ok.png                       # İkonlar
└── README.md                        # Bu dosya
```

## 📁 Çıktı Yapısı (.fikoyt Gizli Klasörü)

```
[Dokuman_Klasoru]/.fikoyt/
├── model.wrl                        # 3D Model (VRML formatı)
├── screenshot.png                   # PNG resim (ExportData)
├── screenshot.jpg                   # JPEG resim (CaptureToFile)
└── dokumantasyon.json              # Teknik dokümantasyon
```

---

## 🔧 Teknik Detaylar

### COM Entegrasyonu
- **ProgID:** `FikoYT.IFikoCikariciDialog`
- **CLSID:** `{F2E4C6A8-B1D5-49E8-92F1-C3D7E9B2A4F6}`
- **Registry Path:** `HKEY_CLASSES_ROOT\FikoYT.IFikoCikariciDialog`

### PyQt6 Dialog
- QMainWindow tabanlı
- Signal/Slot sistemi
- Async @Decorator ile thread safety

### Thread Safety
- COM nesneleri `pythoncom.CoMarshalInterThreadInterfaceInStream()` ile aktarılır
- Arka planda işlem yapılırken UI responsive kalır

---

## 🐛 Hata Çözümleme

### "COM nesnesi yüklenemedi"

**Çözüm:**
```bash
# Yönetici olarak komut istemini aç
cd D:\__sistem__\Masaustu\FikatiaV2024\__register__\komponentler
REGISTER_IFikoCikariciDialog.bat

# CATIA'yı yeniden başlat
```

### ".fikoyt klasörü oluşturulamadı"

**Çözüm:**
- Dosya/klasör izinlerini kontrol et
- Yazma yetkisine sahip olduğundan emin ol

### "Resim çekilemedi"

**Çözüm:**
- CATIA belgesini yenile (View → Recompute)
- Gosterim penceresinin açık olduğundan emin ol

---

## 📝 Örnek JSON Çıktı

```json
{
  "olusturma_tarihi": "2024-11-22T15:30:45.123456",
  "dokuman_adi": "Part1.CATPart",
  "dokuman_tam_yolu": "C:\\Projeler\\Part1.CATPart",
  "belge_turu": ".CATPart",
  "kaydedilmis": true,
  "islemler": {
    "wrl_kayit": true,
    "resim_cikti": true
  }
}
```

---

## 🚀 Gelişmiş Kullanım

### Makroyu CATIA Toolbar'ına Ekle

1. **Tools → Customize**
2. **Macros** sekmesine git
3. Makroyu toolbar'a sürükle
4. Simge seç → Tamam

### Debug Mode

`registerCom.py` dosyasında:

```python
debugging = True  # Debug dispatcher aktif et
```

---

## 📞 İletişim

Sorunlar için:

1. **Batch dosyası çalıştır:** `REGISTER_IFikoCikariciDialog.bat`
2. **Python yolunu kontrol et:** `python312.2\python.exe`
3. **CATIA kapalıysa açıp yeniden başlat**
4. **Registry kontrol et:**
   ```bash
   reg query "HKEY_CLASSES_ROOT\FikoYT.IFikoCikariciDialog"
   ```

---

**Versiyon:** 1.0
**Tarih:** 2024-11-22
**Durum:** ✅ Hazır
