---
name: fikatia-v2024
description: FikatiaV2024 — CATIA COM otomasyon çerçevesini (Python, imalat/CAM süreç otomasyonu, FikoPost post-işleme, takım yönetimi) Fikri'nin tarzında BOZMADAN geliştirme. COM sarmalama deseni, IFikoObject/IFikomObject taban sınıfları, sinyal sistemi, tezgah/NC-DB. Bu skill "fikatia v2024", "catia", "com", "pywin32", "Dispatch", "IFikatia", "IFikomObject", "FikoPost", "tezgah", "takım", "NC", "fikprcs", "imalat", "MfgOperasyon", "aktivite", "post işlem" anahtar kelimeleriyle tetiklenir.
---

# fikatia-v2024 — CATIA otomasyon çerçevesi geliştirme

Konum: `D:\__sistem__\Masaustu\FikatiaV2024` · Python 3.12.2 (projede gömülü: `python312.2/`) · pywin32 COM ile canlı CATIA sürülür.
Dizindeki `CLAUDE.md` genel rehberdir — bu skill onun üstüne Fikri'nin tarzını ve kırılgan noktaları ekler.

## Fikri'nin tarzı
- Küçük iş → direkt uygula; büyük iş (3+ dosya) → 2-3 maddelik kısa plan. Soru sormadan ilerle, kısa yanıt, özet tekrarı yok.
- **Commit yalnız istenince.** CATIA'ya bağlı canlı testi kullanıcı yapar — sen sözdizimi/derleme/birim testiyle doğrula, "RUNTIME TEST (CATIA açıkken)" notu düş.
- Türkçe isimlendirme (kullanıcıya açık sınıf/özellik/mesajlar Türkçe — mevcut kod tamamen bu dilde, koru). Gereksiz yorum ekleme.
- Önce mevcut kodu ara: `I<Kavram>.py` (tekil) + `I<Kavram>lar.py` (koleksiyon) adlandırma deseni — yeni kavram eklerken aynı ikili deseni kullan, koleksiyon mantığını yeniden icat etme.

## Mimari değişmezler (bozması kolay, DİKKAT)
- **COM sarmalama deseni:** her CATIA nesnesi `IFikoObject`/`IFikomObject` türevi bir Türkçe arayüzle sarılır (sahip/anaProgram zinciri + `tipi` alanı). Ham `Dispatch` çağrısını iş koduna sızdırma — sarmalayıcıya ekle.
- **Global sinyal sistemi:** `IFikoSinyaller` global tekildir (`globalSinyal`) — olay yayını bu kanaldan; ikinci bir olay mekanizması kurma.
- **Tip dönüştürme/marshalling** (`IFikoSistem/IFikoToDic.fiko2Dict` vb.) korunur: COM variant ↔ Python dönüşümlerini elle yapmak yerine mevcut araçları kullan (thread-safe marshalling kuralı).
- **COM yaşam döngüsü:** `pythoncom.CoInitialize`/tembel yükleme kalıplarına dokunma; COM nesnesini thread'ler arası ham geçirme (marshalling şart). CATIA kapalıyken Dispatch patlar — kullanıcıya dönük yollarda zarif hata.
- `FTK.pyd` derli native modül — yeniden üretilemez varsay, API'sini değiştirmeye çalışma.
- `.fikprcs` süreç dosyaları ve `FikoPost/OrnekFikoNCDB` veri formatları geriye-uyumlu kalmalı (alan ekle, silme/yeniden adlandırma yok).

## Alan haritası
- `IAktiviteler/`, `IMfgOperasyon/`, `IMfgTakim/`, `IPartOperasyonlari/` — imalat/CAM operasyonları ve takım yönetimi.
- `FikoPost/` — post-işleme: `IFikoPost` (APT→NC), `ITezgah/ITezgahlar` (tezgah profilleri), `IFikoDBNC` (NC veritabanı). Yeni tezgah = mevcut ITezgah kalıbını kopyala-uyarla.
- `IFikoSistem/` konfigürasyon, `IFikoSinyaller/` olaylar, `IDialoglar/` UI (PyQt6/Flet), `Fikomantasyon/` dokümantasyon.
- Kök `I*.py` dosyaları: Dokuman/Product/Part/Body/Eksen/Kamera... CATIA belge modeli sarmalayıcıları.

## Doğrulama döngüsü (CATIA'sız yapılabilenler)
```
cd D:\__sistem__\Masaustu\FikatiaV2024
python -m compileall -q .        # sözdizimi/derleme hızlı kontrol
python __test__.py               # ana test paketi (CATIA gerektirenler atlanabilir)
```
- Gömülü Python'u kullan (python312.2) — sistem Python'u ile sürüm farkı sürprizi yaşama.
- COM etkileşimli değişikliklerde birim test yazılamıyorsa en azından sarmalayıcının CATIA'sız import edilebilir kaldığını doğrula (modül import yan etkisi ekleme).
- ⚠️ Dizinde `nul`, `nul)`, `null` adlı çöp dosyalar var — dokunma/kullanma; Windows'ta silmesi özel yol ister, kullanıcıya bırak.
