예제 #1
0
 internal Dialog(bool allowMultiple, string cue, ObjectTypes.Type type, ObjectTypes.SubType subtype) : this(allowMultiple, cue)
 {
     this.Cue = cue;
     ObjectTypes.TypeCombo         combo       = new ObjectTypes.TypeCombo(type, subtype);
     NXOpen.Selection.MaskTriple[] tripleArray = new NXOpen.Selection.MaskTriple[] { Snap.UI.MaskTriple.BuildFromTypeCombo(combo) };
     this.MaskTripleArray = tripleArray;
 }
예제 #2
0
 public static Dialog SelectObjects(string cue, ObjectTypes.Type type, ObjectTypes.SubType subtype)
 {
     return(new Dialog(true, cue, type, subtype)
     {
         Title = "Select Objects"
     });
 }
예제 #3
0
 internal static NXOpen.Selection.MaskTriple[] BuildFromICurveType(ObjectTypes.Type curveType)
 {
     ObjectTypes.TypeCombo[] combos = new ObjectTypes.TypeCombo[2];
     if (curveType == ObjectTypes.Type.Line)
     {
         combos[0] = new ObjectTypes.TypeCombo(ObjectTypes.Type.Line, (ObjectTypes.SubType) 0);
         combos[1] = new ObjectTypes.TypeCombo(ObjectTypes.Type.Edge, ObjectTypes.SubType.EdgeLine);
     }
     if (curveType == ObjectTypes.Type.Arc)
     {
         combos[0] = new ObjectTypes.TypeCombo(ObjectTypes.Type.Arc, (ObjectTypes.SubType) 0);
         combos[1] = new ObjectTypes.TypeCombo(ObjectTypes.Type.Edge, ObjectTypes.SubType.EdgeArc);
     }
     if (curveType == ObjectTypes.Type.Conic)
     {
         combos[0] = new ObjectTypes.TypeCombo(ObjectTypes.Type.Conic, (ObjectTypes.SubType) 0);
         combos[1] = new ObjectTypes.TypeCombo(ObjectTypes.Type.Edge, ObjectTypes.SubType.EdgeEllipse);
     }
     if (curveType == ObjectTypes.Type.Spline)
     {
         combos[0] = new ObjectTypes.TypeCombo(ObjectTypes.Type.Spline, (ObjectTypes.SubType) 0);
         combos[1] = new ObjectTypes.TypeCombo(ObjectTypes.Type.Edge, ObjectTypes.SubType.EdgeSpline);
     }
     return(BuildFromTypeCombos(combos));
 }
예제 #4
0
 internal static NXOpen.Selection.MaskTriple BuildFromType(ObjectTypes.Type type)
 {
     NXOpen.Selection.MaskTriple triple = new NXOpen.Selection.MaskTriple();
     if (type == ObjectTypes.Type.Body)
     {
         triple.Type             = 70;
         triple.Subtype          = 0;
         triple.SolidBodySubtype = 0;
         return(triple);
     }
     if (type == ObjectTypes.Type.Face)
     {
         triple.Type             = 70;
         triple.Subtype          = 2;
         triple.SolidBodySubtype = 20;
         return(triple);
     }
     if (type == ObjectTypes.Type.Edge)
     {
         triple.Type             = 70;
         triple.Subtype          = 3;
         triple.SolidBodySubtype = 1;
         return(triple);
     }
     triple.Type             = (int)type;
     triple.Subtype          = 0;
     triple.SolidBodySubtype = 0;
     return(triple);
 }
예제 #5
0
        internal static Snap.NX.Curve CreateCurve(NXOpen.Curve nxopenCurve)
        {
            Snap.NX.Curve       curve         = new Snap.NX.Curve(nxopenCurve);
            ObjectTypes.Type    objectType    = curve.ObjectType;
            ObjectTypes.SubType objectSubType = curve.ObjectSubType;
            switch (objectType)
            {
            case ObjectTypes.Type.Line:
                return(new Snap.NX.Line((NXOpen.Line)nxopenCurve));

            case ObjectTypes.Type.Arc:
                return(new Snap.NX.Arc((NXOpen.Arc)nxopenCurve));

            case ObjectTypes.Type.Spline:
                return(new Snap.NX.Spline((NXOpen.Spline)nxopenCurve));
            }
            if (objectSubType == ObjectTypes.SubType.ConicEllipse)
            {
                curve = new Snap.NX.Ellipse((NXOpen.Ellipse)nxopenCurve);
            }
            return(curve);
        }
예제 #6
0
        internal static ObjectTypes.Type GetTypeFromTag(Tag nxopenTag)
        {
            int num;
            int num2;

            Globals.UFSession.Obj.AskTypeAndSubtype(nxopenTag, out num, out num2);
            ObjectTypes.Type body = (ObjectTypes.Type)num;
            if (num == 70)
            {
                switch (num2)
                {
                case 0:
                    body = ObjectTypes.Type.Body;
                    break;

                case 2:
                    body = ObjectTypes.Type.Face;
                    break;

                case 3:
                    body = ObjectTypes.Type.Edge;
                    break;
                }
            }
            if (num == 0xcd)
            {
                NXOpen.Features.Feature objectFromTag = (NXOpen.Features.Feature)GetObjectFromTag(nxopenTag);
                if (objectFromTag is DatumAxisFeature)
                {
                    body = ObjectTypes.Type.DatumAxis;
                }
                if (objectFromTag is DatumPlaneFeature)
                {
                    body = ObjectTypes.Type.DatumPlane;
                }
            }
            return(body);
        }
예제 #7
0
        internal static NXOpen.Selection.MaskTriple BuildFromTypeCombo(ObjectTypes.TypeCombo combo)
        {
            ObjectTypes.Type            type    = combo.Type;
            ObjectTypes.SubType         subType = combo.SubType;
            NXOpen.Selection.MaskTriple triple  = BuildFromType(type);
            if (type == ObjectTypes.Type.Body)
            {
                triple.Subtype          = 0;
                triple.SolidBodySubtype = 0x24;
                switch (subType)
                {
                case ObjectTypes.SubType.BodySolid:
                    triple.SolidBodySubtype = 0x24;
                    break;

                case ObjectTypes.SubType.BodySheet:
                    triple.SolidBodySubtype = 0x23;
                    break;
                }
                return(triple);
            }
            if (type == ObjectTypes.Type.Face)
            {
                triple.Subtype          = 2;
                triple.SolidBodySubtype = ((int)combo.SubType) % ((int)type);
                return(triple);
            }
            if (type == ObjectTypes.Type.Edge)
            {
                triple.Subtype          = 3;
                triple.SolidBodySubtype = ((int)combo.SubType % (int)type);
                return(triple);
            }
            triple.Type             = (int)type;
            triple.Subtype          = (int)combo.SubType % (int)type;
            triple.SolidBodySubtype = 0;
            return(triple);
        }
예제 #8
0
 public void SetFilter(ObjectTypes.Type type, ObjectTypes.SubType subtype)
 {
     ObjectTypes.TypeCombo         combo       = new ObjectTypes.TypeCombo(type, subtype);
     NXOpen.Selection.MaskTriple[] tripleArray = new NXOpen.Selection.MaskTriple[] { Snap.UI.MaskTriple.BuildFromTypeCombo(combo) };
     this.MaskTriples = tripleArray;
 }
예제 #9
0
 public static Dialog SelectObject(string cue, ObjectTypes.Type type, ObjectTypes.SubType subtype)
 {
     return(new Dialog(false, cue, type, subtype));
 }