/// <summary> /// 加载部件 /// </summary> /// <param name="part">部件下面</param> /// <param name="partPath">部件地址</param> /// <param name="partName">部件名字</param> /// <param name="csys">加载坐标</param> /// <param name="basePoint">装配位置点</param> /// <returns>Component</returns> public static NXOpen.Assemblies.Component PartLoad(Part part, string partPath, string partName, Matrix4 matr, Point3d basePoint) { // Part workPart = theSession.Parts.Work; NXOpen.PartLoadStatus partLoadStatus1 = null; NXOpen.Assemblies.Component component1; try { component1 = part.ComponentAssembly.AddComponent(partPath, "None", partName, basePoint, matr.GetMatrix3(), -1, out partLoadStatus1, true); return(component1); } catch (Exception ex) { LogMgr.WriteLog("AssmbliesUtils:PartLoad:" + ex.Message); return(null); } finally { partLoadStatus1.Dispose(); } }
/// <summary> /// 设置显示部件 /// </summary> /// <param name="part"></param> public static void SetPartWork(NXOpen.Assemblies.Component comp) { Part workPart = theSession.Parts.Work; Part displayPart = theSession.Parts.Display; NXOpen.PartLoadStatus partLoadStatus1 = null; try { theSession.Parts.SetWorkComponent(comp, NXOpen.PartCollection.RefsetOption.Entire, NXOpen.PartCollection.WorkComponentOption.Visible, out partLoadStatus1); } catch (Exception ex) { LogMgr.WriteLog("PartUtils.SetPartWork" + ex.Message); } finally { workPart = theSession.Parts.Work; if (partLoadStatus1 != null) { partLoadStatus1.Dispose(); } } }