示例#1
0
        public override AbstractCreateOperation CopyOperation(int programNumber)
        {
            FlowCutCreateOperation fo = new FlowCutCreateOperation(this.site, this.toolName);

            fo.CreateOperationName(programNumber);
            return(fo);
        }
示例#2
0
        public override void CreateProgramName()
        {
            int count = 1;

            string rough = tool.GetRoughTool();
            AbstractCreateOperation ro = new RoughCreateOperation(count, rough);  //开粗

            ro.CreateOperationName(1);
            Programs.Add(new ProgramOperationName(count, ro));
            count++;
            string twice = rough;

            foreach (string tl in tool.GetTwiceRoughTool()) //二次开粗
            {
                TwiceRoughCreateOperation to = new TwiceRoughCreateOperation(count, tl);
                to.CreateOperationName(1);
                to.SetReferencetool(twice);
                if (twice.Equals(rough, StringComparison.CurrentCultureIgnoreCase))
                {
                    RounghSurfaceCreateOperation rso = new RounghSurfaceCreateOperation(count, tl);
                    rso.CreateOperationName(2);
                    Programs.Add(new ProgramOperationName(count, new AbstractCreateOperation[] { to, rso }));
                    twice = tl;
                    count++;
                    continue;
                }
                Programs.Add(new ProgramOperationName(count, to));
                twice = tl;
                count++;
            }


            string toolName = tool.GetFinishBallTool();
            ZLevelMillingCreateOperation zo = new ZLevelMillingCreateOperation(count, "BN0.98"); //等高

            zo.CreateOperationName(1);
            zo.SetSteep(true, true);
            SurfaceContourCreateOperation so = new SurfaceContourCreateOperation(count, "BN0.98"); //等宽

            so.CreateOperationName(2);
            so.SetFlat(true, true);
            Programs.Add(new ProgramOperationName(count, new AbstractCreateOperation[] { zo, so }));
            count++;

            FlowCutCreateOperation fc = new FlowCutCreateOperation(count, toolName);  //清根

            fc.CreateOperationName(1);
            Programs.Add(new ProgramOperationName(count, fc));
            count++;


            AbstractCreateOperation bfo = new BaseFaceCreateOperation(count, tool.GetBaseFaceTool()); //光基准平面

            bfo.CreateOperationName(1);
            Programs.Add(new ProgramOperationName(count, bfo));
            count++;
            AbstractCreateOperation bsf = new BaseStationCreateOperation(count, tool.GetBaseStationTool()); //光基准台

            bsf.CreateOperationName(1);
            Programs.Add(new ProgramOperationName(count, bsf));
        }