public override AbstractCreateOperation CopyOperation(int programNumber) { FlowCutCreateOperation fo = new FlowCutCreateOperation(this.site, this.toolName); fo.CreateOperationName(programNumber); return(fo); }
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)); }