//CATPart 파일들을 저장할 filepath와 part를 인자로 줘서 그곳에 변환한 파일을 저장하게 함 //현재는 그냥 Part를 줬지만 itemNum을 이용하여 Assem변수에서 Part를 가져와서 할수도 있음. //오버로딩 함수 : CATPart파일들을 저장할 filepath들만 인자로 줘서 그곳에 변환하여 저장하게 하는 함수 : Backup ver5_06을 참조 //오버로딩 함수 : CATPart파일들을 저장할 filepath를 임의로 다 저장해놓은 상태에서 변환을 하는 함수 : Backup ver5_06을 참조 public void TranslatePartsT2C(string filepath, int itemNum, TransCAD.Part part) { //일단 itemNum은 사용하지 않음 //savespartname은 예전에 사용했던 변수임 saveaspartname = new string[1]; //실제로 사용되는지는 모르겠다. Task[] TasksPartTranslation = new Task[1]; TransCAD.IPart currentpart = part; Console.WriteLine("Name of part [ " + currentpart.Name + " ]"); Part PartManager = new Part(); PartManager.InitializeTransCAD((int)2); if (ReferenceManager == null) { ReferenceManager = new Reference(PartManager); } TasksPartTranslation[0] = Task.Factory.StartNew(() => { PartManager.InitializeCATIA(" ", (int)1); PartManager.TranslateT2C(currentpart); //1개에 대한 Part post 번역 실행 Console.WriteLine("Name of part [ " + currentpart.Name + " ] was Translated!"); saveaspartname[0] = filepath; PartManager.SaveCATPartFile(saveaspartname[0]); Console.WriteLine("Name of part [ " + currentpart.Name + " ] was saved as " + saveaspartname[0]); PartManager.UninitializeCATIA(); }); TasksPartTranslation[0].Wait(); Part.partNum++; }
/*****************************************************************************************/ /*****************************************************************************************/ // Pre-Processor CATPart private void button1_Click(object sender, EventArgs e) { string filePath = CATPartOpenDialog(); if (filePath != "") { Part PartManager = new Part(); if (PartManager.InitializeCATIA(filePath, (int)0)) { PartManager.InitializeTransCAD((int)0); PartManager.TranslateC2T(); PartManager.UninitializeCATIA(); PartManager.UninitializeTransCAD(); } } }
// Post-Processor CATPart private void button2_Click(object sender, EventArgs e) { string filePath = CATPartSaveDialog(); if (filePath != "") { Part PartManager = new Part(); if (PartManager.InitializeTransCAD((int)1)) { PartManager.InitializeCATIA(filePath, (int)1); PartManager.TranslateT2C(); PartManager.UninitializeTransCAD(); PartManager.UninitializeCATIA(); PartManager.SaveCATPartFile(filePath); } } }
static void Main(string[] args) { if (args.Length == 0) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } else { if (args[0] == "pre") { FileInfo fi = new FileInfo(args[1]); if (fi.Exists) { Part PartManager = new Part(); if (PartManager.InitializeCATIA(args[1], (int)0)) { PartManager.InitializeTransCAD((int)0); PartManager.TranslateC2T(); //pre PartManager.UninitializeCATIA(); PartManager.UninitializeTransCAD(); } } } else if (args[0] == "post") { Part PartManager = new Part(); if (PartManager.InitializeTransCAD((int)1)) { PartManager.InitializeCATIA(args[1], (int)1); PartManager.TranslateT2C(); //post PartManager.UninitializeTransCAD(); PartManager.UninitializeCATIA(); PartManager.SaveCATPartFile(args[1]); } } else if (args[0] == "assypre") { FileInfo fi = new FileInfo(args[1]); if (fi.Exists) { Part PartManager = new Part(); if (PartManager.InitializeCATIA(args[1], (int)2)) { PartManager.InitializeTransCAD(3); PartManager.TranslateC2T(); //pre PartManager.UninitializeCATIA(); PartManager.UninitializeTransCAD(); } } } else if (args[0] == "assypost") { Part PartManager = new Part(); Assembly AssemblyManager = new Assembly(); if (AssemblyManager.InitializeTransCAD((int)1)) { AssemblyManager.InitializeCATIA(args[1], (int)1); //카티아 실행, 최초 초기화 실행 시간이 걸림 //AssemblyManager.TranslatePartsT2C(); 더이상 사용되지 않는 함수 : Backup ver5_06을 참조 //AssemblyManager.TranslateConstraintsT2C(); 더이상 사용되지 않느 함수 : Backup ver5_06을 참조 } } } Console.Read(); }