![]() | TaskManagerRunTask Method |
Namespace: VIZCLASH.NET
public bool RunTask( int taskId )
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Examples { public class VIZCLASHExample { public void Example() { // Initialize VIZCLASH.NET VIZCLASH.NET.ModuleInitializer.Run(); // Construction VIZCLASH.NET.TaskManager manager = new VIZCLASH.NET.TaskManager(); manager.OnProgressChangedEvent += VIZCLASH_OnProgressChangedEvent; // License VIZCLASH.NET.LicenseManager.LicenseResults lResult = manager.License.LicenseFile("C:\\License\\VIZCLASH.lic"); Console.WriteLine(lResult.ToString()); // Option : Multithread manager.MultiThreadOption = true; // Add New Task int taskId = manager.AddTask(); if (taskId < 0) return; string taskName = "CLASH TASK"; string machineName = Environment.MachineName.ToUpper(); string userName = Environment.UserName.ToUpper(); manager.SetTaskName(taskId, taskName); // Set Task Name manager.SetMachineName(taskId, machineName); // Set Machine Name manager.SetUserName(taskId, userName); // Set User Name Console.WriteLine(string.Format("TASK NAME : {0}", manager.GetTaskName(taskId))); Console.WriteLine(string.Format("MACHINE NAME : {0}", manager.GetMachineName(taskId))); Console.WriteLine(string.Format("USER NAME : {0}", manager.GetUserName(taskId))); // Set Option manager.SetTestOptions( taskId , VIZCLASH.NET.TestKind.GROUP_VS_GROUP /* 그룹검사 */ , false /* 근접허용범위 */ , 2.0f /* 근접허용범위 */ , false /* 여유허용범위 */ , 3.0f /* 여유허용범위 */ , true /* 접촉허용오차 */ , 1.0f /* 접촉허용오차 */ , false /* 보이는모델만 검사 */ , 2 /* 간섭제외 끝레벨 */ ); // Add Models List<string> models = new List<string>(); models.Add("C:\\MODELS\\CLASH_HULL.viz"); models.Add("C:\\MODELS\\CLASH_PIPE.viz"); models.Add("C:\\MODELS\\CLASH_EQUI.viz"); models.Add("C:\\MODELS\\CLASH_STRU.viz"); models.Add("C:\\MODELS\\CLASH_ELEC.viz"); bool result_model = manager.SetModels(taskId, models); Console.WriteLine(string.Format("MODELS : {0}", result_model == true ? "OK" : "NG")); if (result_model == false) return; // Set Group manager.SetGroup(taskId, VIZCLASH.NET.GroupKind.GroupA, "CLASH_HULL"); manager.SetGroup(taskId, VIZCLASH.NET.GroupKind.GroupB, "CLASH_STRU"); // Run Task bool result_run = manager.RunTask(taskId); Console.WriteLine(string.Format("RUN : {0}", result_run == true ? "OK" : "NG")); // Get Result Item Count int result_count = manager.GetResultCount(taskId); Console.WriteLine(string.Format("Result Count : {0:#,0}", result_count)); // Get Result Data List<VIZCLASH.NET.ClashResult> items = manager.GetResults(taskId); foreach (VIZCLASH.NET.ClashResult item in items) { string result = string.Format( "{0} {1} {2} {3} {4} {5} {6}" , item.NodeNameA , item.NodeNameB , item.ResultKind , item.GetResultKindString() , item.HotPoint.ToString() , item.Distance , item.Path.ToString() ); System.Diagnostics.Debug.WriteLine(result); } // Export Clash Result Image manager.ExportImages(taskId, "C:\\Temp\\CLASH", true, true, true, true); // Clear manager.Close(); } private void VIZCLASH_OnProgressChangedEvent(object sender, VIZCLASH.NET.ProgressEventArgs e) { System.Diagnostics.Debug.WriteLine( string.Format( "Task Id : {0} / Progress : {1:D3} % / Found : {2:#,0} EA" , e.TaskId , e.Progress , e.Count ) ); } } }