Beispiel #1
0
 public void UninitializeCATIA()
 {
     /*
      *  어셈블리 특화 함수 구현
      */
     cProduct    = null;
     cProducts   = null;
     cProductDoc = null;
 }
Beispiel #2
0
        //// CATIA 관련 함수
        public bool InitializeCATIA(string filePath, int mode)
        {
            /*
             *  어셈블리 특화 함수 구현
             */

            try
            {
                cApp = (INFITF.Application)Marshal.GetActiveObject("CATIA.Application");
            }
            catch
            {
                cApp = (INFITF.Application)Activator.CreateInstance(Type.GetTypeFromProgID("CATIA.Application"));
            }

            if (cApp == null)
            {
                return(false);
            }

            cDocs = cApp.Documents;

            if (mode == 0)
            {
                cProductDoc = (ProductStructureTypeLib.ProductDocument)cDocs.Read(filePath); //CATProduct read
            }
            //cProductDoc = null;
            else if (mode == 1)
            {
                cProductDoc = (ProductStructureTypeLib.ProductDocument)cDocs.Add("Product"); //new CATProduct 생성
            }
            cApp.Visible = true;

            cProduct  = cProductDoc.Product;
            cProducts = cProduct.Products;

            cConstraints = (MECMOD.Constraints)cProduct.Connections("CATIAConstraints");

            return(true);
        }