import inspect
import os
import sys
from time import sleep

from win32com import client

sys.path.append(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()) + "\\..\\..\\..")))

from IFikatia import IFikatia
from IFikoSistem.IFikoAyarlar import IFikoAyarlar

sorgu = """.body.visibility=shown + .'Geometrical Set'.visibility=shown;sel"""


if __name__ == '__main1__':
    catia = client.GetActiveObject("Catia.Application")
    fikatia = IFikatia(catia)
    if not str(fikatia.aktifDokuman.turu).upper() == ".CATPRODUCT":
        print("Dküman Product Değil")
        exit()
    product = fikatia.aktifDokuman.asProductDokuman

    # yeniPart = fikatia.dokumanlar.ekle("Part")
    # yeniPart.asPartDokuman.product.parcaNumarasi = "FikoYT_" + product.secililer.item2(0).nesne.ismi + "_Hepsi"

    print(product.product.altObjeler)

# --------------------------------------------------------------------------------------------------------------->
if __name__ == '__main__':
    catia = client.GetActiveObject("Catia.Application")
    fikatia = IFikatia(catia)
    if not str(fikatia.aktifDokuman.turu).upper() == ".CATPRODUCT":
        print("Dküman Product Değil")
        exit()
    product = fikatia.aktifDokuman.asProductDokuman

    # yeniPart = fikatia.dokumanlar.ekle("Part")
    # yeniPart.asPartDokuman.product.parcaNumarasi = "FikoYT_" + product.secililer.item2(0).nesne.ismi + "_Hepsi"

    yeniPart = product.product.productlar.yeniProduct("Hepsi")
    yeniPart = yeniPart.productlar.yeniBilesen("CATPart","").referansProduct.dokuman.asPartDokuman

    product.secililer.ara(sorgu)



    kopyalanacaklar = []
    dokumanlar = []
    for x in product.secililer():
        kopyalanacaklar.append(x.nesne)
        dokumanlar.append(x.product.dokuman)

    print(kopyalanacaklar[0].ismi)
    for x in range(len(kopyalanacaklar)):
        product.secililer.temizle()
        product.secililer.ekle(dokumanlar[x].asPartDokuman.part.catNesne)
        product.anaProgram.komut("Activate Terminal Node")
        product.secililer.ekle(kopyalanacaklar[x].catNesne)
        product.secililer.kopyala()

        product.secililer.temizle()
        # product.secililer.ekle(yeniPart.catNesne)
        # product.anaProgram.komut("Activate Terminal Node")
        product.secililer.ekle(yeniPart.part.catNesne)
        product.secililer.yapistir()





    # kopyalanacaklar = []
    # dokumanlar = []
    # for x in product.secililer():
    #     kopyalanacaklar.append(x.nesne)
    #     dokumanlar.append(x.product.dokuman)
    #
    # print(kopyalanacaklar[0].ismi)
    # for x in range(len(kopyalanacaklar)):
    #     dokumanlar[x].ac()
    #     dokumanlar[x].secililer.temizle()
    #     dokumanlar[x].secililer.ekle(kopyalanacaklar[x].catNesne)
    #     dokumanlar[x].secililer.kopyala()
    #
    #     yeniPart.secililer.temizle()
    #     yeniPart.secililer.ekle(yeniPart.asPartDokuman.part.catNesne)
    #     yeniPart.secililer.yapistirOzel("CATPrtResult")
    #
    #     dokumanlar[x].kapat()

