예제 #1
0
        /// <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();
            }
        }
예제 #2
0
        /// <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();
                }
            }
        }