Пример #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
        private static ObjectTypes.SubType GetFaceType(Snap.NX.Face snapFace)
        {
            ObjectTypes.SubType  faceUnknown = ObjectTypes.SubType.FaceUnknown;
            NXOpen.Face.FaceType undefined   = NXOpen.Face.FaceType.Undefined;
            try
            {
                undefined = snapFace.NXOpenFace.SolidFaceType;
            }
            catch
            {
            }
            switch (undefined)
            {
            case NXOpen.Face.FaceType.Planar:
                faceUnknown = ObjectTypes.SubType.FacePlane;
                break;

            case NXOpen.Face.FaceType.Cylindrical:
                faceUnknown = ObjectTypes.SubType.FaceCylinder;
                break;

            case NXOpen.Face.FaceType.Conical:
                faceUnknown = ObjectTypes.SubType.FaceCone;
                break;

            case NXOpen.Face.FaceType.Spherical:
                faceUnknown = ObjectTypes.SubType.FaceSphere;
                break;

            case NXOpen.Face.FaceType.Parametric:
                faceUnknown = ObjectTypes.SubType.FaceBsurface;
                break;

            case NXOpen.Face.FaceType.Blending:
                faceUnknown = ObjectTypes.SubType.FaceBlend;
                break;

            case NXOpen.Face.FaceType.Offset:
                faceUnknown = ObjectTypes.SubType.FaceOffset;
                break;

            case NXOpen.Face.FaceType.Swept:
                faceUnknown = ObjectTypes.SubType.FaceExtruded;
                break;
            }
            if (undefined != NXOpen.Face.FaceType.SurfaceOfRevolution)
            {
                return(faceUnknown);
            }
            double num = GetSurfaceRadii(snapFace)[1];

            if (num != 0.0)
            {
                return(ObjectTypes.SubType.FaceTorus);
            }
            return(ObjectTypes.SubType.FaceRevolved);
        }
Пример #4
0
 internal static ObjectTypes.SubType GetBodySubType(Snap.NX.Body body)
 {
     ObjectTypes.SubType bodyGeneral = ObjectTypes.SubType.BodyGeneral;
     if (body.NXOpenBody.IsSolidBody)
     {
         bodyGeneral = ObjectTypes.SubType.BodySolid;
     }
     if (body.NXOpenBody.IsSheetBody)
     {
         bodyGeneral = ObjectTypes.SubType.BodySheet;
     }
     return(bodyGeneral);
 }
Пример #5
0
        private static ObjectTypes.SubType GetEdgeType(Snap.NX.Edge snapEdge)
        {
            ObjectTypes.SubType  edgeUnknown = ObjectTypes.SubType.EdgeUnknown;
            NXOpen.Edge.EdgeType undefined   = NXOpen.Edge.EdgeType.Undefined;
            try
            {
                undefined = snapEdge.NXOpenEdge.SolidEdgeType;
            }
            catch
            {
            }
            switch (undefined)
            {
            case NXOpen.Edge.EdgeType.Linear:
                edgeUnknown = ObjectTypes.SubType.EdgeLine;
                break;

            case NXOpen.Edge.EdgeType.Circular:
                edgeUnknown = ObjectTypes.SubType.EdgeArc;
                break;

            case NXOpen.Edge.EdgeType.Elliptical:
                edgeUnknown = ObjectTypes.SubType.EdgeEllipse;
                break;

            case NXOpen.Edge.EdgeType.Intersection:
                edgeUnknown = ObjectTypes.SubType.EdgeIntersection;
                break;

            case NXOpen.Edge.EdgeType.Spline:
                edgeUnknown = ObjectTypes.SubType.EdgeSpline;
                break;

            case NXOpen.Edge.EdgeType.SpCurve:
                edgeUnknown = ObjectTypes.SubType.EdgeSpCurve;
                break;

            case NXOpen.Edge.EdgeType.ConstantParameter:
                edgeUnknown = ObjectTypes.SubType.EdgeIsoCurve;
                break;
            }
            return(edgeUnknown);
        }
Пример #6
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);
        }
Пример #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));
 }