コード例 #1
0
        /// <summary>
        /// 设置层为可见
        /// </summary>
        /// <param name="view"></param>
        /// <param name="layers"></param>
        public static void SetLayerVisible(int[] layers, params NXObject[] view)
        {
            Part workPart = theSession.Parts.Work;

            NXOpen.Layer.StateInfo[] stateArray1 = new NXOpen.Layer.StateInfo[layers.Length];
            for (int i = 0; i < layers.Length; i++)
            {
                stateArray1[i] = new NXOpen.Layer.StateInfo(layers[i], NXOpen.Layer.State.Visible);
            }
            for (int i = 0; i < view.Length; i++)
            {
                workPart.Layers.SetObjectsVisibilityOnLayer((NXOpen.Drawings.DraftingView)view[i], stateArray1, true);
            }
        }
コード例 #2
0
        /// <summary>
        /// 设置所层不可见
        /// </summary>
        /// <param name="view"></param>
        /// <param name="layers"></param>
        public static void SetLayerHidden(params NXObject[] view)
        {
            Part workPart = theSession.Parts.Work;

            NXOpen.Layer.StateInfo[] stateArray1 = new NXOpen.Layer.StateInfo[256];
            for (int i = 0; i < 256; i++)
            {
                stateArray1[i] = new NXOpen.Layer.StateInfo(i, NXOpen.Layer.State.Hidden);
            }
            for (int i = 0; i < view.Length; i++)
            {
                workPart.Layers.SetObjectsVisibilityOnLayer((NXOpen.Drawings.DraftingView)view[i], stateArray1, true);
            }
        }
コード例 #3
0
    public void ConstraintCreate()
    {
        System.IO.StreamWriter SW = new System.IO.StreamWriter("D:\\GIT\\AUTO_BOLTS_PLACE\\NXDebugLog.log");
        Component Comp            = Assembly.ComponentAssembly.RootComponent;

        //now what does NX tags do? Need to know.
        //how to make use of tags to obtain the parts
        //https://community.plm.automation.siemens.com/t5/NX-Programming-Customization-Forum/Creating-Assesbly-Constraint-using-NXopen/td-p/476978

        NXOpen.Layer.StateInfo[] stateArray1 = new NXOpen.Layer.StateInfo[1];
        stateArray1[0] = new NXOpen.Layer.StateInfo(32, NXOpen.Layer.State.Selectable);
        Assembly.Layers.ChangeStates(stateArray1, false);

        foreach (Component C in Comp.GetChildren())
        {
            string name = C.Name;

            Part owningpart = (NXOpen.Part)C.OwningPart;
            owningpart.LoadFully();

            DatumCollection dc = owningpart.Datums;

            try
            {
                foreach (DatumPlane d in dc)
                {
                    string nam2 = d.Feature.Name;
                    string nam3 = d.Layer.ToString();
                    SW.WriteLine(nam3);
                    //string nam3 = d.
                }
            }
            catch (Exception E3)
            { }
        }

        SW.Close();
    }