NXOPEN/UG二次开发C#---导入igs文件,获得导入的TaggedObject
生活随笔
收集整理的這篇文章主要介紹了
NXOPEN/UG二次开发C#---导入igs文件,获得导入的TaggedObject
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/// <summary>/// 導入igs文件,獲得導入的TaggedObject/// </summary>/// <param name="igsPath">需要導入的igs路徑</param>/// <param name="layer">需要導入的圖層</param>/// <param name="settingsFile">NX目錄下的iges\\igesimport.def"</param>/// <returns></returns>public static TaggedObject[] InputIgs(string igsPath, int layer, string settingsFile){Session theSession = Session.GetSession();Part workPart = theSession.Parts.Work;//獲得導入之前圖層中原始的對象NXOpen.Layer.LayerManager Layers = theSession.Parts.Work.Layers;NXObject[] originalObjs = Layers.GetAllObjectsOnLayer(layer);IgesImporter igesImporter;igesImporter = theSession.DexManager.CreateIgesImporter();igesImporter.CopiousData = NXOpen.IgesImporter.CopiousDataEnum.LinearNURBSpline;igesImporter.SmoothBSurf = true;igesImporter.LayerDefault = 1;igesImporter.GeomFixupTol = 0.001;igesImporter.ObjectTypes.Curves = true;igesImporter.ObjectTypes.Surfaces = true;igesImporter.ObjectTypes.Annotations = true;igesImporter.ObjectTypes.Structures = true;igesImporter.ObjectTypes.Solids = true;igesImporter.SimplifyGeometry = true;igesImporter.SettingsFile = settingsFile;igesImporter.LayerDefault = layer;igesImporter.InputFile = igsPath;string outPutFilePath = igsPath.Substring(0, igsPath.LastIndexOf('.')) + ".part";igesImporter.OutputFile = outPutFilePath;igesImporter.FileOpenFlag = false;igesImporter.LayerMask = "0-99999";igesImporter.Commit();igesImporter.Destroy();try{File.Delete(outPutFilePath + ".log");}catch{}//找出剛導入的對象List<NXObject> presentObjs = Layers.GetAllObjectsOnLayer(layer).ToList<NXObject>();if (originalObjs.Length != 0){for (int i = 0; i < originalObjs.Length; i++){presentObjs.Remove(originalObjs[i]);}}return presentObjs.ToArray();}
總結
以上是生活随笔為你收集整理的NXOPEN/UG二次开发C#---导入igs文件,获得导入的TaggedObject的全部內容,希望文章能夠幫你解決所遇到的問題。