public void UninitializeCATIA() { /* * 어셈블리 특화 함수 구현 */ cProduct = null; cProducts = null; cProductDoc = null; }
//// 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); }