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); Programs.Add(new ProgramOperationName(count, to)); twice = tl; count++; } AbstractCreateOperation fo1 = new FaceMillingCreateOperation(count, tool.GetFinishFlatTool()); //光平面 fo1.CreateOperationName(1); AbstractCreateOperation po1 = new PlanarMillingCreateOperation(count, tool.GetFinishFlatTool()); //光侧面 po1.CreateOperationName(2); Programs.Add(new ProgramOperationName(count, new AbstractCreateOperation[] { fo1, po1 })); count++; ZLevelMillingCreateOperation zo = new ZLevelMillingCreateOperation(count, tool.GetFinishBallTool()); //等高 zo.CreateOperationName(1); zo.SetSteep(false, false); Programs.Add(new ProgramOperationName(count, zo)); count++; AbstractCreateOperation fo2 = new FaceMillingCreateOperation(count, tool.GetFinishFlatTool()); //去毛刺 fo2.CreateOperationName(1); PlanarMillingCreateOperation po2 = new PlanarMillingCreateOperation(count, tool.GetFinishFlatTool()); //去毛刺 po2.CreateOperationName(2); po2.SetBurringBool(true); Programs.Add(new ProgramOperationName(count, new AbstractCreateOperation[] { fo2, po2 })); 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)); }
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, toolName); //等高 zo.CreateOperationName(1); zo.SetSteep(true, true); SurfaceContourCreateOperation so = new SurfaceContourCreateOperation(count, toolName); //等宽 so.CreateOperationName(2); so.SetFlat(true, true); Programs.Add(new ProgramOperationName(count, new AbstractCreateOperation[] { zo, so })); 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)); }
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); Programs.Add(new ProgramOperationName(count, to)); twice = tl; count++; } string toolName = tool.GetFinishBallTool(); ZLevelMillingCreateOperation zo = new ZLevelMillingCreateOperation(count, toolName); //等高 zo.CreateOperationName(1); zo.SetSteep(false, true); Programs.Add(new ProgramOperationName(count, zo)); 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)); }
private void CreateOper() { int count = 1; AbstractCreateOperation rough = new RoughCreateOperation(count, tool.GetRoughTool()); //开粗 this.Oper.Add(rough); count++; string temp = tool.GetTwiceRoughTool(); if (!temp.Equals("")) { TwiceRoughCreateOperation twice = new TwiceRoughCreateOperation(count, temp); //二次开粗 twice.SetReferencetool(tool.GetRoughTool()); this.Oper.Add(twice); count++; } SurfaceContourCreateOperation so = new SurfaceContourCreateOperation(count, "BN1.98"); so.SetFaces(this.CamInfo.GetAllFaces().ToArray()); so.SetSteep(true); this.Oper.Add(so); ZLevelMillingCreateOperation zl = new ZLevelMillingCreateOperation(count, "BN1.98"); zl.SetFaces(this.CamInfo.GetAllFaces().ToArray()); zl.SetCutLevel(this.CamInfo.BaseFace.Face); zl.SetSteep(true); this.Oper.Add(zl); count++; BaseStationCreateOperation station = new BaseStationCreateOperation(count, tool.GetBaseStationTool());//光基准台 BoundaryModel model; double blank; this.CamInfo.BasePlanarPlanarBoundary.GetPeripheralBoundary(out model, out blank); model.ToolSide = NXOpen.CAM.BoundarySet.ToolSideTypes.OutsideOrRight; station.SetBoundary(new Point3d(0, 0, this.CamInfo.BaseSubfaceFace.BoxMinCorner.Z), model); this.Oper.Add(station); }