/// <summary> /// 设置刀具名 /// </summary> /// <param name="tool"></param> public void SetToolName(string tool) { this.toolName = tool; if (operModel != null) { if (template == null) { template = new ElectrodeCAMTemplateModel(); } NCGroup toolGroup = template.FindTool(tool); if (toolGroup == null) { throw new Exception("无法找到" + tool + "刀具!"); } operModel.MoveOperationToTool(toolGroup); } }
/// <summary> /// 设置程序名 /// </summary> /// <param name="program"></param> public void SetProgramName(int site) { string preName = "O" + string.Format("{0:D4}", site); this.site = site; this.nameModel.ProgramName = preName; if (operModel != null) { if (template == null) { template = new ElectrodeCAMTemplateModel(); } NCGroup preGroup = template.FindTool(preName); if (preGroup == null) { preGroup = template.CreateProgram(preName); } operModel.MoveOpreationToProgram(preGroup); } }
/// <summary> /// 设置程序名 /// </summary> /// <param name="program"></param> public void SetProgramName(string program) { this.nameModel.ProgramName = program; int k = program.LastIndexOf("0"); if (k != -1) { this.site = Int32.Parse(program.Substring(k + 1)); } if (operModel != null) { if (template == null) { template = new ElectrodeCAMTemplateModel(); } NCGroup preGroup = template.FindTool(program); if (preGroup == null) { preGroup = template.CreateProgram(program); } operModel.MoveOpreationToProgram(preGroup); } }
private static NCGroupModel GetNcGroupModelOfName(OperationNameModel model, ElectrodeCAMTemplateModel template) { Part workPart = Session.GetSession().Parts.Work; NCGroupModel group = new NCGroupModel() { GeometryGroup = template.FindGeometry("WORKPIECE"), MethodGroup = template.MethodGroup.Find(a => a.Name.ToUpper().Equals("CU")), ToolGroup = template.FindTool(model.ToolName) }; if (group.GeometryGroup == null) { throw new Exception("无法获取加工模板WORKPIECE!"); } if (group.MethodGroup == null) { throw new Exception("无法获取加工模板加工方法!"); } if (group.ToolGroup == null) { throw new Exception("无法获取加工模板刀具!"); } NCGroup temp = template.FindProgram(model.ProgramName); if (temp == null) { NXOpen.CAM.NCGroup nCGroup1 = (NXOpen.CAM.NCGroup)workPart.CAMSetup.CAMGroupCollection.FindObject("AAA"); NXOpen.CAM.NCGroup nCGroup2 = workPart.CAMSetup.CAMGroupCollection.CreateProgram(nCGroup1, "electrode", "AAA_1", NXOpen.CAM.NCGroupCollection.UseDefaultName.True, model.ProgramName); group.ProgramGroup = nCGroup2; } else { group.ProgramGroup = temp; } return(group); }
/// <summary> /// 创建固定轮廓铣 /// </summary> /// <param name="model"></param> /// <param name="cam"></param> /// <returns></returns> public static AbstractOperationModel CreateOperationOfSurfaceContour(OperationNameModel model, ElectrodeCAMTemplateModel template) { NCGroupModel group = GetNcGroupModelOfName(model, template); SurfaceContourModel sur = new SurfaceContourModel(group, model.templateName, model.templateOperName); return(sur); }
/// <summary> /// 创建平面铣 /// </summary> /// <param name="model"></param> /// <param name="cam"></param> /// <returns></returns> public static AbstractOperationModel CreateOperationOfPlanarMilling(OperationNameModel model, ElectrodeCAMTemplateModel template) { NCGroupModel group = GetNcGroupModelOfName(model, template); return(new PlanarMillingModel(group, model.templateName, model.templateOperName)); }
/// <summary> /// 创建型腔铣 /// </summary> /// <param name="model"></param> /// <param name="cam"></param> /// <returns></returns> public static AbstractOperationModel CreateOperationOfCavityMilling(OperationNameModel model, ElectrodeCAMTemplateModel template) { return(new CavityMillingModel(GetNcGroupModelOfName(model, template), model.templateName, model.templateOperName)); }
/// <summary> /// /// </summary> /// <param name="site">程序条数</param> /// <param name="programNumber">在程序组第几条</param> /// <param name="tool"></param> public AbstractCreateOperation(int site, string tool) { this.site = site; this.toolName = tool; template = new ElectrodeCAMTemplateModel(); }