public override OperationData GetOperationData()
        {
            OperationData data = base.GetOperationData();

            NXOpen.CAM.CavityMillingBuilder operBuilder = null;
            try
            {
                operBuilder = workPart.CAMSetup.CAMOperationCollection.CreateCavityMillingBuilder(this.Oper);
                if (operBuilder.CutParameters.FloorSameAsPartStock)
                {
                    data.FloorStock = operBuilder.CutParameters.PartStock.Value;
                    data.SideStock  = operBuilder.CutParameters.PartStock.Value;
                }
                else
                {
                    data.SideStock  = operBuilder.CutParameters.PartStock.Value;
                    data.FloorStock = operBuilder.CutParameters.FloorStock.Value;
                }
                data.Depth = operBuilder.CutLevel.GlobalDepthPerCut.DistanceBuilder.Value;
                if (operBuilder.BndStepover.DistanceBuilder.Intent == NXOpen.CAM.ParamValueIntent.ToolDep)
                {
                    double toolDia = data.Tool.ToolDia;
                    double dep     = operBuilder.BndStepover.DistanceBuilder.Value;
                    data.Stepover = toolDia * dep / 100;
                }
                else
                {
                    data.Stepover = operBuilder.BndStepover.DistanceBuilder.Value;
                }

                data.Speed = operBuilder.FeedsBuilder.SpindleRpmBuilder.Value;
                data.Feed  = operBuilder.FeedsBuilder.FeedCutBuilder.Value;
                return(data);
            }
            catch (NXException ex)
            {
                throw ex;
            }
            finally
            {
                if (operBuilder != null)
                {
                    operBuilder.Destroy();
                }
            }
        }
        public static OperationData GetOperationData(NXOpen.CAM.Operation oper)
        {
            int type, subtype;
            AbstractOperationModel model;
            OperationData          data = null;
            UFSession theUFSession      = UFSession.GetUFSession();

            theUFSession.Obj.AskTypeAndSubtype(oper.Tag, out type, out subtype);
            switch (subtype)
            {
            case 260:
                model = new CavityMillingModel(oper);
                data  = model.GetOperationData();
                break;

            case 263:
                model = new ZLevelMillingModel(oper);
                data  = model.GetOperationData();
                break;

            case 210:
                model = new SurfaceContourModel(oper);
                data  = model.GetOperationData();
                break;

            case 110:
                model = new PlanarMillingModel(oper);
                data  = model.GetOperationData();
                break;

            case 261:
                model = new FaceMillingModel(oper);
                data  = model.GetOperationData();
                break;

            case 450:
                PointToPointModel point = new PointToPointModel(oper);
                data = point.GetOperationData();
                break;

            default:
                break;
            }
            return(data);
        }
        public override OperationData GetOperationData()
        {
            OperationData data = base.GetOperationData();

            NXOpen.CAM.SurfaceContourBuilder operBuilder;
            try
            {
                operBuilder = workPart.CAMSetup.CAMOperationCollection.CreateSurfaceContourBuilder(this.Oper);
            }
            catch (NXException ex)
            {
                throw ex;
            }
            data.FloorStock = operBuilder.CutParameters.PartStock.Value;
            data.SideStock  = operBuilder.CutParameters.PartStock.Value;
            data.Depth      = operBuilder.DmareaMillingBuilder.StepoverBuilder.DistanceBuilder.Value;
            data.Stepover   = operBuilder.DmareaMillingBuilder.StepoverBuilder.DistanceBuilder.Value;
            data.Speed      = operBuilder.FeedsBuilder.SpindleRpmBuilder.Value;
            data.Feed       = operBuilder.FeedsBuilder.FeedCutBuilder.Value;
            operBuilder.Destroy();
            return(data);
        }
        public override OperationData GetOperationData()
        {
            OperationData data = base.GetOperationData();

            NXOpen.CAM.ZLevelMillingBuilder operBuilder;
            try
            {
                operBuilder = workPart.CAMSetup.CAMOperationCollection.CreateZlevelMillingBuilder(this.Oper);
            }
            catch (NXException ex)
            {
                throw ex;
            }
            if (operBuilder.CutParameters.FloorSameAsPartStock)
            {
                data.FloorStock = operBuilder.CutParameters.PartStock.Value;
                data.SideStock  = operBuilder.CutParameters.PartStock.Value;
            }
            else
            {
                data.SideStock  = operBuilder.CutParameters.PartStock.Value;
                data.FloorStock = operBuilder.CutParameters.FloorStock.Value;
            }
            data.Depth = operBuilder.CutLevel.GlobalDepthPerCut.DistanceBuilder.Value;
            if (operBuilder.CutParameters.CutBetweenLevels)
            {
                data.Stepover = operBuilder.CutParameters.Stepover.DistanceBuilder.Value;
            }
            else
            {
                data.Stepover = 0;
            }

            data.Speed = operBuilder.FeedsBuilder.SpindleRpmBuilder.Value;
            data.Feed  = operBuilder.FeedsBuilder.FeedCutBuilder.Value;
            operBuilder.Destroy();
            return(data);
        }
Example #5
0
        public override OperationData GetOperationData()
        {
            OperationData data = base.GetOperationData();

            NXOpen.CAM.PlanarMillingBuilder operBuilder;
            operBuilder     = workPart.CAMSetup.CAMOperationCollection.CreatePlanarMillingBuilder(this.Oper);
            data.FloorStock = operBuilder.CutParameters.FloorStock.Value;
            data.SideStock  = operBuilder.CutParameters.PartStock.Value;
            if (operBuilder.BndStepover.DistanceBuilder.Intent == NXOpen.CAM.ParamValueIntent.ToolDep)
            {
                double toolDia = data.Tool.ToolDia;
                double dep     = operBuilder.BndStepover.DistanceBuilder.Value;
                data.Stepover = toolDia * dep / 100;
            }
            else
            {
                data.Stepover = operBuilder.BndStepover.DistanceBuilder.Value;
            }
            data.Depth = operBuilder.CutLevel.CommonDepth.Value;
            data.Speed = operBuilder.FeedsBuilder.SpindleRpmBuilder.Value;
            data.Feed  = operBuilder.FeedsBuilder.FeedCutBuilder.Value;
            operBuilder.Destroy();
            return(data);
        }