import os
from time import sleep
from win32com.client import Dispatch
import inspect
from IFikatia import IFikatia
from IMfgTakim.IMfgTakim import IMfgTakim, TakimTurIsimleri
from IPartOperasyonlari.IPartOperasyonlari import IPartOperasyonlari
from IPartOperasyonlari.IPartOperasyonu import IPartOperasyonu
from IProgram import IProgram

fikatia = IFikatia(Dispatch("Catia.Application"))
fikatia.baslik = "Fikatia"

#aktifDoc = fikatia.aktifDokuman

#aktifDoc.asPPRDokuman.kaynaklar.takim_ekle(takim_tipi=TakimTurIsimleri.T_Cakisi, )

# prg: IPartOperasyonu = fikatia.aktifDokuman.asProcessDokuman.partOperasyonlari[0]
# prg.exportFikoGL()


# prg = fikatia.aktifDokuman.asProcessDokuman.seciliProgramlar
# prg[0].fiko_apt_v1


po = fikatia.aktifDokuman.asProcessDokuman.partOperasyonlari[1]
print(po.fiko_op_gl_v1)



# aktiviteler = prg.aktiviteler

# for akti in range(0, aktiviteler.sayisi+2):
#     akt = aktiviteler[akti]
#     if akt.turu == "ToolChange":
#         tkm = IMfgTakim(akt.catNesne.tool, prg)
#         ppins = prg.ekleKod(
#             f"""\
# $$ FikoYT CAtia Otomasyon Sistemleri
# $$ 0x1011 0x0005 0x1010 0x0101
# $$ 0x1010 0x0000 0x0005 0x001 0x0101
# $$ import sys.env(arg[0].catTool)
# $$ sys.fikoyt.catia.takim.iste()
# INSERT G90 G28 Z0.
# $$ sys.fikoyt.catia.makine.sifir0()
# INSERT G90 G28 Y0.
# $$ sys.fikoyt.catia.makine.sifir1()
# INSERT G90 G28 X0.
# $$ sys.fikoyt.catia.makine.sifir2()
# $$ sys.fikoyt.catia.takim.degistir()
# INSERT T{tkm.takimNo} M06
# $$ sys.fikoyt.catia.takim.boyAl()
# INSERT G43 H{tkm.takimNo}
# $$ sys.fikoyt.catia.makine.sifir1()
# INSERT G0 G90 X0. Y0.
#             """)
#         ppins.name = f"FikoY-T{tkm.takimNo}H{tkm.takimNo}"
#         print(tkm.takimNo)
#         prg.nesneTasi(aktiviteler[akti+1].catNesne, ppins)
# prg.ekleKod(
#             f"""\
# $$ FikoYT CAtia Otomasyon Sistemleri
# $$ 0x1011 0x0005 0x1010 0x0101
# $$ 0x1010 0x0000 0x0005 0x001 0x0101
# $$ import sys.env(arg[0].catTool)
# $$ sys.fikoyt.catia.takim.iste()
# INSERT G90 G28 Z0.
# $$ sys.fikoyt.catia.makine.sifir0()
# INSERT G90 G28 Y0.
# $$ sys.fikoyt.catia.makine.sifir1()
# INSERT G90 G28 X0.
# $$ sys.fikoyt.catia.makine.sifir2()
# $$ sys.fikoyt.catia.takim.degistir()
# INSERT T01 M06
# $$ sys.fikoyt.catia.makine.sifir1()
# """).name="FikoYT-Bitiş"
