#include "stdafx.h" #include "LaiPuLaser.h" #include "DlgSW_XL_Flow.h" #include "afxdialogex.h" #include "Program_SZ_XL.h" #include "DeviceState.h" #include "CommonFlowMgr.h" #include "ProgramCutMgr.h" #include "ProductMgr.h" #include "MsgBox.h" #include "MarkParMgr.h" #include "PropertieMgr.h" #include "ProgramCutMgr.h" #include "ObjComponentMgr.h" #include "WorkTime.h" #include "MarkAreaMgr.h" #include "WorkFileMgr.h" #include "GlobalFunction.h" #include "DlgMarkArea.h" #include "AuthorityMgr.h" #include "DlgAuthorityMgr.h" #include "DlgAdjustObjPos.h" #include "ServerMgr.h" #include "SmartArchive.h" IMPLEMENT_DYNAMIC(CDlgSW_XL_Flow, CDialogEx) BEGIN_MESSAGE_MAP(CDlgSW_XL_Flow, CDialogEx) ON_WM_TIMER() ON_BN_CLICKED(IDC_START_BTN_1, &CDlgSW_XL_Flow::OnBnClickedStartBtn1) ON_BN_CLICKED(IDC_LOAD_BTN_1, &CDlgSW_XL_Flow::OnBnClickedLoadBtn1) ON_BN_CLICKED(IDC_WAIT_BTN_1, &CDlgSW_XL_Flow::OnBnClickedWaitBtn1) ON_BN_CLICKED(IDC_CATCH_MARK_BTN_1, &CDlgSW_XL_Flow::OnBnClickedCatchMarkBtn1) ON_BN_CLICKED(IDC_LASER_BTN_1, &CDlgSW_XL_Flow::OnBnClickedLaserBtn1) ON_BN_CLICKED(IDC_UNLOAD_BTN_1, &CDlgSW_XL_Flow::OnBnClickedUnloadBtn1) ON_BN_CLICKED(IDC_START_BTN_2, &CDlgSW_XL_Flow::OnBnClickedStartBtn2) ON_BN_CLICKED(IDC_LOAD_BTN_2, &CDlgSW_XL_Flow::OnBnClickedLoadBtn2) ON_BN_CLICKED(IDC_WAIT_BTN_2, &CDlgSW_XL_Flow::OnBnClickedWaitBtn2) ON_BN_CLICKED(IDC_CATCH_MARK_BTN_2, &CDlgSW_XL_Flow::OnBnClickedCatchMarkBtn2) ON_BN_CLICKED(IDC_LASER_BTN_2, &CDlgSW_XL_Flow::OnBnClickedLaserBtn2) ON_BN_CLICKED(IDC_UNLOAD_BTN_2, &CDlgSW_XL_Flow::OnBnClickedUnloadBtn2) ON_BN_CLICKED(IDC_MANUAL_LOAD_BTN_1, &CDlgSW_XL_Flow::OnBnClickedManualLoadBtn1) ON_BN_CLICKED(IDC_MANUAL_LOAD_BTN_2, &CDlgSW_XL_Flow::OnBnClickedManualLoadBtn2) ON_BN_CLICKED(IDC_INIT_DEVICE_BTN, &CDlgSW_XL_Flow::OnBnClickedInitDeviceBtn) ON_BN_CLICKED(IDC_OPEN_DXF, &CDlgSW_XL_Flow::OnBnClickedOpenDxf) ON_BN_CLICKED(IDC_BOOL_SEL_MARK, &CDlgSW_XL_Flow::OnBnClickedBoolSelMark) ON_BN_CLICKED(IDC_TRACK1_PRODUCT_OPEN_CLOSE, &CDlgSW_XL_Flow::OnBnClickedTrack1ProductCarrierOpenClose) ON_BN_CLICKED(IDC_TRACK2_PRODUCT_OPEN_CLOSE, &CDlgSW_XL_Flow::OnBnClickedTrack2ProductCarrierOpenClose) ON_BN_CLICKED(IDC_SAVE_PAR, &CDlgSW_XL_Flow::OnBnClickedSavePar) ON_BN_CLICKED(IDC_SPECIAL_OBJ, &CDlgSW_XL_Flow::OnBnClickedSpecialObj) ON_BN_CLICKED(IDC_OPEN_MAK, &CDlgSW_XL_Flow::OnBnClickedOpenMak) ON_BN_CLICKED(IDC_SAVE_MAK, &CDlgSW_XL_Flow::OnBnClickedSaveMak) ON_BN_CLICKED(IDC_MARK_AREA, &CDlgSW_XL_Flow::OnBnClickedMarkArea) ON_BN_CLICKED(IDC_TRACK2_CLEAR_TIMES, &CDlgSW_XL_Flow::OnBnClickedTrack2ClearTimes) ON_BN_CLICKED(IDC_TRACK1_CLEAR_TIMES, &CDlgSW_XL_Flow::OnBnClickedTrack1ClearTimes) ON_BN_CLICKED(IDC_THROW_EDGE_BTN_2, &CDlgSW_XL_Flow::OnBnClickedThrowEdgeBtn2) ON_BN_CLICKED(IDC_THROW_EDGE_BTN_1, &CDlgSW_XL_Flow::OnBnClickedThrowEdgeBtn1) ON_BN_CLICKED(IDC_MANUAL_OP_CHECK, &CDlgSW_XL_Flow::OnBnClickedManualOpCheck) ON_BN_CLICKED(IDC_CIRCLE_STOP_CHECK2, &CDlgSW_XL_Flow::OnBnClickedCircleStopCheck2) ON_BN_CLICKED(IDC_CIRCLE_STOP_CHECK1, &CDlgSW_XL_Flow::OnBnClickedCircleStopCheck1) ON_BN_CLICKED(IDC_LOGIN_BTN, &CDlgSW_XL_Flow::OnBnClickedLoginBtn) ON_BN_CLICKED(IDC_ADJUST_OBJ_POS, &CDlgSW_XL_Flow::OnBnClickedAdjustObjPos) ON_MESSAGE(OPEN_FILE,OnOpenFile) ON_BN_CLICKED(IDC_SEL_MARK_CHECK, &CDlgSW_XL_Flow::OnBnClickedSelMarkCheck) END_MESSAGE_MAP() #define UPDATE_INFO_TIMER 1 #define UPDATE_INFO_DELAY 200 bool bTrack1ProductFlg = false;//夹紧气缸开关flg bool bTrack2ProductFlg = false;//夹紧气缸开关flg bool bSaveLockFlg = false; CDlgSW_XL_Flow * gDlgSW_XL_Flow; CDlgSW_XL_Flow::CDlgSW_XL_Flow(CWnd* pParent /*=NULL*/) { m_LaserSpeed =800; m_OneObjMarkCnt = 1;//切割次数 m_SpecialOneObjMarkCnt = 1;//特殊切割次数 m_MarkAreaCutCount = 1; } CDlgSW_XL_Flow::~CDlgSW_XL_Flow() { } void CDlgSW_XL_Flow::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_START_BTN_1, m_StartBtn1); DDX_Control(pDX, IDC_LOAD_BTN_1, m_LoadBtn1); DDX_Control(pDX, IDC_MANUAL_LOAD_BTN_1, m_LoadEndBtn1); DDX_Control(pDX, IDC_WAIT_BTN_1, m_WaitBtn1); DDX_Control(pDX, IDC_CATCH_MARK_BTN_1, m_CatchMarkBtn1); DDX_Control(pDX, IDC_LASER_BTN_1, m_CutBtn1); DDX_Control(pDX, IDC_THROW_EDGE_BTN_1, m_ThrowEdgeBtn1); DDX_Control(pDX, IDC_UNLOAD_BTN_1, m_UnloadBtn1); DDX_Control(pDX, IDC_TRACK1_CLEAR_TIMES, m_ClearRecordBtn1); DDX_Control(pDX, IDC_TRACK1_PRODUCT_OPEN_CLOSE, m_OpenCloseProductBtn1); DDX_Control(pDX, IDC_START_BTN_2, m_StartBtn2); DDX_Control(pDX, IDC_LOAD_BTN_2, m_LoadBtn2); DDX_Control(pDX, IDC_MANUAL_LOAD_BTN_2, m_LoadEndBtn2); DDX_Control(pDX, IDC_WAIT_BTN_2, m_WaitBtn2); DDX_Control(pDX, IDC_CATCH_MARK_BTN_2, m_CatchMarkBtn2); DDX_Control(pDX, IDC_LASER_BTN_2, m_CutBtn2); DDX_Control(pDX, IDC_THROW_EDGE_BTN_2, m_ThrowEdgeBtn2); DDX_Control(pDX, IDC_UNLOAD_BTN_2, m_UnloadBtn2); DDX_Control(pDX, IDC_TRACK2_CLEAR_TIMES, m_ClearRecordBtn2); DDX_Control(pDX, IDC_TRACK2_PRODUCT_OPEN_CLOSE, m_OpenCloseProductBtn2); DDX_Control(pDX, IDC_INIT_DEVICE_BTN, m_InitDeviceBtn); DDX_Control(pDX, IDC_BOOL_SEL_MARK, m_SelWorkBtn); DDX_Control(pDX, IDC_OPEN_DXF, m_OpenDxfBtn); DDX_Control(pDX, IDC_OPEN_MAK, m_OpenMarkBtn); DDX_Control(pDX, IDC_SAVE_MAK, m_SaveMarkBtn); DDX_Control(pDX, IDC_SPECIAL_OBJ, m_SetSpecialObjBtn); DDX_Control(pDX, IDC_SAVE_PAR, m_SetParBtn); DDX_Control(pDX, IDC_MARK_AREA, m_MarkAreaBtn); DDX_Control(pDX, IDC_LOGIN_BTN, m_LoginBtn); DDX_Control(pDX, IDC_ADJUST_OBJ_POS, m_AdjustObjPosBtn); DDX_Text(pDX, IDC_CUT_SPEED, m_LaserSpeed); DDX_Text(pDX, IDC_CUT_CNT, m_OneObjMarkCnt); DDX_Text(pDX, IDC_SPECIAL_CUT_CNT, m_SpecialOneObjMarkCnt); DDX_Text(pDX, IDC_AREA_CUT_CNT, m_MarkAreaCutCount); DDX_Text(pDX, IDC_CUT_OFFSET_X, m_Jig2PrtOft_x); DDX_Text(pDX, IDC_CUT_OFFSET_Y, m_Jig2PrtOft_y); DDX_Text(pDX, IDC_CUT_OFFSET_X2, m_Jig4PrtOft_x); DDX_Text(pDX, IDC_CUT_OFFSET_Y2, m_Jig4PrtOft_y); } #include "DxfReadMgr.h" LRESULT CDlgSW_XL_Flow::OnOpenFile(WPARAM wParam, LPARAM lParam) { BOOL bdxf = (BOOL)lParam; if (bdxf) { OnBnClickedOpenDxf(); } else { OnBnClickedOpenMak(); } //DeleteFile(gDxfReadMgr->m_dxfFileName); (gDxfReadMgr->m_dxfFileName).Empty(); return 0L; } BOOL CDlgSW_XL_Flow::OnInitDialog() { gDlgSW_XL_Flow = this; CDialogEx::OnInitDialog(); m_OpenDxfBtn.SetUpColor(RGB_GREEN1); m_OpenMarkBtn.SetUpColor(RGB_GREEN1); m_SaveMarkBtn.SetUpColor(RGB_GREEN1); m_SetSpecialObjBtn.SetUpColor(RGB_GREEN1); m_OpenCloseProductBtn1.SetUpColor(RGB_GREEN1); m_OpenCloseProductBtn2.SetUpColor(RGB_GREEN1); m_ClearRecordBtn1.SetUpColor(RGB_GREEN1); m_ClearRecordBtn2.SetUpColor(RGB_GREEN1); m_SetParBtn.SetUpColor(RGB_GREEN1); m_MarkAreaBtn.SetUpColor(RGB_GREEN1); m_AdjustObjPosBtn.SetUpColor(RGB_GREEN1); m_LoginBtn.SetUpColor(RGB_RED); SetTimer(UPDATE_INFO_TIMER,UPDATE_INFO_DELAY,NULL); UpdateData(FALSE); return TRUE; } void CDlgSW_XL_Flow::OnTimer(UINT nIDEvent) { if(nIDEvent == UPDATE_INFO_TIMER) { KillTimer(UPDATE_INFO_TIMER); UpdateDlgInfo(); SetTimer(UPDATE_INFO_TIMER,UPDATE_INFO_DELAY,NULL); } CDialog::OnTimer(nIDEvent); } #if 1 //更新对话框显示信息 void CDlgSW_XL_Flow::UpdateDlgInfo() { if(gExitApp) return; //初始化按钮 CDeviceState &DeviceState = CDeviceState::GetInstance(); bool bDeviceIni = DeviceState.IsDeviceIni(); if(bDeviceIni) { m_InitDeviceBtn.SetUpColor(RGB_GREEN); } else { m_InitDeviceBtn.SetUpColor(RGB_RED); } //加工时间 CString str = gWorkTime.GetTimeSpanStr(); CString str1 = gWorkTime.GetLastWorkTime(); GetDlgItem(IDC_WORK_TIME)->SetWindowText(str); GetDlgItem(IDC_LAST_WORK_TIME)->SetWindowText(str1); //加工数量 str.Format("%ld",gProgram_SZ_XL->GetCutProductCnt(_ETrackType_Track_1)); GetDlgItem(IDC_CUT_PRODUCT_CNT1)->SetWindowText(str); str.Format("%ld",gProgram_SZ_XL->GetCutProductCnt(_ETrackType_Track_2)); GetDlgItem(IDC_CUT_PRODUCT_CNT2)->SetWindowText(str); if(gProgram_SZ_XL->IsbAutoWorking()) GetDlgItem(IDC_MANUAL_OP_CHECK)->EnableWindow(false); else GetDlgItem(IDC_MANUAL_OP_CHECK)->EnableWindow(true); if (gProgram_SZ_XL->IsbSelMarkMode()) ((CButton*)GetDlgItem(IDC_SEL_MARK_CHECK))->SetCheck(true); else ((CButton*)GetDlgItem(IDC_SEL_MARK_CHECK))->SetCheck(false); UpdateBtnColorExt(gTrackWorkFlow1,m_StartBtn1,IDC_START_BTN_1,m_LoadBtn1,m_LoadEndBtn1,m_WaitBtn1,m_CatchMarkBtn1,m_CutBtn1,m_ThrowEdgeBtn1,m_UnloadBtn1); UpdateBtnColorExt(gTrackWorkFlow2,m_StartBtn2,IDC_START_BTN_2,m_LoadBtn2,m_LoadEndBtn2,m_WaitBtn2,m_CatchMarkBtn2,m_CutBtn2,m_ThrowEdgeBtn2,m_UnloadBtn2); } void CDlgSW_XL_Flow::UpdateBtnColorExt(CTrackWorkFlow &TrackWorkFlow,CMyBttom &StartBtn,int StartBtnID,CMyBttom &LoadBtn,CMyBttom &LoadEndBtn,CMyBttom &WaitBtn,CMyBttom &CatchMarkBtn,CMyBttom &CutBtn,CMyBttom &ThrowEdgeBtn,CMyBttom &UnloadBtn) { CDeviceState &DeviceState = CDeviceState::GetInstance(); bool bDeviceIni = DeviceState.IsDeviceIni(); CString str; if(TrackWorkFlow.IsbAutoWorking()) { StartBtn.SetUpColor(RGB_YELLOW); str = "停止"; } else { if(bDeviceIni) StartBtn.SetUpColor(RGB_GREEN); else StartBtn.SetUpColor(RGB_BLUE1); str = "开始"; } GetDlgItem(StartBtnID)->SetWindowText(str); if(gProgram_SZ_XL->IsbSelMarkMode()) { m_SelWorkBtn.SetUpColor(RGB_PINK); } else { m_SelWorkBtn.SetUpColor(RGB_GREEN1); } if(gProgram_SZ_XL->IsbAutoWorkMode()) { m_LoadEndBtn1.SetUpColor(RGB_GRAY1); m_LoadEndBtn2.SetUpColor(RGB_GRAY1); } else { if(gProgram_SZ_XL->GetCurTrackWorkStep(_ETrackType_Track_1)==_ETrack_Step_Load) m_LoadEndBtn1.SetUpColor(RGB_PINK); else m_LoadEndBtn1.SetUpColor(RGB_GRAY1); if(gProgram_SZ_XL->GetCurTrackWorkStep(_ETrackType_Track_2)==_ETrack_Step_Load) m_LoadEndBtn2.SetUpColor(RGB_PINK); else m_LoadEndBtn2.SetUpColor(RGB_GRAY1); } COLORREF ColorLoadBtn = RGB_BLUE1; COLORREF ColorWaitBtn = RGB_BLUE1; COLORREF ColorCatchMarkBtn = RGB_BLUE1; COLORREF ColorCutBtn = RGB_BLUE1; COLORREF ColorThrowEdgeBtn = RGB_BLUE1; COLORREF ColorUnloadBtn = RGB_BLUE1; ETrackWorkStep TrackWorkStep = TrackWorkFlow.GetCurTrackWorkStep(); switch(TrackWorkStep) { case _ETrack_Step_Load://上料 ColorLoadBtn = RGB_GREEN; break; case _ETrack_Step_Load_Stop://上料,完成,执行停止 ColorLoadBtn = RGB_YELLOW; break; case _ETrack_Step_To_Wait_Pos://移动到等待位置 case _ETrack_Step_Mark_Waiting://等待中 ColorWaitBtn = RGB_GREEN; break; case _ETrack_Step_Catch_mark://抓取定位 ColorCatchMarkBtn = RGB_GREEN; break; case _ETrack_Step_Catch_mark_Err://抓取定位失败 ColorCatchMarkBtn = RGB_RED; break; case _ETrack_Step_Marking://切割 ColorCutBtn = RGB_GREEN; break; case _ETrack_Step_Mark_Stop://切割停止 ColorCutBtn = RGB_YELLOW; break; case _ETrack_Step_Throw_Edge://去边框 ColorThrowEdgeBtn = RGB_GREEN; break; case _ETrack_Step_Unload://下料 ColorUnloadBtn = RGB_GREEN; break; default: break; } LoadBtn.SetUpColor(ColorLoadBtn); WaitBtn.SetUpColor(ColorWaitBtn); CatchMarkBtn.SetUpColor(ColorCatchMarkBtn); CutBtn.SetUpColor(ColorCutBtn); ThrowEdgeBtn.SetUpColor(ColorThrowEdgeBtn); UnloadBtn.SetUpColor(ColorUnloadBtn); CString s; s.Format("Step : %ld",gTrackWorkFlow1.GetCurTrackWorkStepInt()); GetDlgItem(IDC_STEP_1)->SetWindowText(s); s.Format("Step : %ld",gTrackWorkFlow2.GetCurTrackWorkStepInt()); GetDlgItem(IDC_STEP_2)->SetWindowText(s); } //恢复当前循环后停止check void CDlgSW_XL_Flow::ResetCircleStopCheck(ETrackType TrackType) { if(TrackType==_ETrackType_Track_1) ((CButton*)GetDlgItem(IDC_CIRCLE_STOP_CHECK1))->SetCheck(false); else ((CButton*)GetDlgItem(IDC_CIRCLE_STOP_CHECK2))->SetCheck(false); } #endif #if 1 void CDlgSW_XL_Flow::OnBnClickedStartBtn1() { gProgram_SZ_XL->StartAutoWork(_ETrackType_Track_1); } void CDlgSW_XL_Flow::OnBnClickedStartBtn2() { // gServer->BroadCast("中国雅安碧峰峡旅游景区"); gProgram_SZ_XL->StartAutoWork(_ETrackType_Track_2); } #endif #if 1 void CDlgSW_XL_Flow::OnBnClickedLoadBtn1() { gProgram_SZ_XL->ManualOperation(_ETrackType_Track_1,_ETrack_Step_Unload_End); } void CDlgSW_XL_Flow::OnBnClickedLoadBtn2() { gProgram_SZ_XL->ManualOperation(_ETrackType_Track_2,_ETrack_Step_Unload_End); } //手动上料完成 void CDlgSW_XL_Flow::OnBnClickedManualLoadBtn1() { gProgram_SZ_XL->ManualOperation(_ETrackType_Track_1,_ETrack_Step_Load_End); } void CDlgSW_XL_Flow::OnBnClickedManualLoadBtn2() { gProgram_SZ_XL->ManualOperation(_ETrackType_Track_2,_ETrack_Step_Load_End); } //移动到等待位置 void CDlgSW_XL_Flow::OnBnClickedWaitBtn1() { if(gProgram_SZ_XL->IsbAutoWorking()) return; gProgram_SZ_XL->ManualOperation(_ETrackType_Track_1,_ETrack_Step_Load_End); } void CDlgSW_XL_Flow::OnBnClickedWaitBtn2() { if(gProgram_SZ_XL->IsbAutoWorking()) return; gProgram_SZ_XL->ManualOperation(_ETrackType_Track_2,_ETrack_Step_Load_End); } void CDlgSW_XL_Flow::OnBnClickedCatchMarkBtn1() { gProgram_SZ_XL->ManualOperation(_ETrackType_Track_1,_ETrack_Step_Mark_Waiting); } void CDlgSW_XL_Flow::OnBnClickedCatchMarkBtn2() { gProgram_SZ_XL->ManualOperation(_ETrackType_Track_2,_ETrack_Step_Mark_Waiting); } void CDlgSW_XL_Flow::OnBnClickedLaserBtn1() { gProgram_SZ_XL->ManualOperation(_ETrackType_Track_1,_ETrack_Step_Catch_mark_End); } void CDlgSW_XL_Flow::OnBnClickedLaserBtn2() { gProgram_SZ_XL->ManualOperation(_ETrackType_Track_2,_ETrack_Step_Catch_mark_End); } void CDlgSW_XL_Flow::OnBnClickedThrowEdgeBtn1() { gProgram_SZ_XL->ManualOperation(_ETrackType_Track_1,_ETrack_Step_Mark_End); } void CDlgSW_XL_Flow::OnBnClickedThrowEdgeBtn2() { gProgram_SZ_XL->ManualOperation(_ETrackType_Track_2,_ETrack_Step_Mark_End); } void CDlgSW_XL_Flow::OnBnClickedUnloadBtn1() { gProgram_SZ_XL->ManualOperation(_ETrackType_Track_1,_ETrack_Step_Throw_Edge_End); } void CDlgSW_XL_Flow::OnBnClickedUnloadBtn2() { gProgram_SZ_XL->ManualOperation(_ETrackType_Track_2,_ETrack_Step_Throw_Edge_End); } void CDlgSW_XL_Flow::OnBnClickedTrack1ProductCarrierOpenClose() { bTrack1ProductFlg = !bTrack1ProductFlg; gProgram_SZ_XL->ProductCarrierOpenClose(_ETrackType_Track_1,bTrack1ProductFlg); } void CDlgSW_XL_Flow::OnBnClickedTrack2ProductCarrierOpenClose() { bTrack2ProductFlg = !bTrack2ProductFlg; gProgram_SZ_XL->ProductCarrierOpenClose(_ETrackType_Track_2,bTrack2ProductFlg); } void CDlgSW_XL_Flow::OnBnClickedTrack1ClearTimes() { gProgram_SZ_XL->ResetRecordTimes(_ETrackType_Track_1); } void CDlgSW_XL_Flow::OnBnClickedTrack2ClearTimes() { gProgram_SZ_XL->ResetRecordTimes(_ETrackType_Track_2); } //当前循环后停止 void CDlgSW_XL_Flow::OnBnClickedCircleStopCheck1() { bool bStop = ((CButton*)GetDlgItem(IDC_CIRCLE_STOP_CHECK1))->GetCheck(); gProgram_SZ_XL->SetbCircleStop(_ETrackType_Track_1,bStop); } void CDlgSW_XL_Flow::OnBnClickedCircleStopCheck2() { bool bStop = ((CButton*)GetDlgItem(IDC_CIRCLE_STOP_CHECK2))->GetCheck(); gProgram_SZ_XL->SetbCircleStop(_ETrackType_Track_2,bStop); } #endif #if 1 //初始化设备 void CDlgSW_XL_Flow::OnBnClickedInitDeviceBtn() { gProgram_SZ_XL->InitDevice(); } void CDlgSW_XL_Flow::OnBnClickedBoolSelMark() { bool b = gProgram_SZ_XL->IsbSelMarkMode(); gProgram_SZ_XL->SetbSelMarkMode(!b); } #endif #if 1 void CDlgSW_XL_Flow::UpdateCutPar() { //读取dxf 对应的切割参数 gProgram_SZ_XL->ReadCutPar(); m_LaserSpeed = gCommonFlowMgr->m_CutSpeed;//切割速度 m_OneObjMarkCnt = gCommonFlowMgr->m_OneObjMarkCnt;//切割次数 m_SpecialOneObjMarkCnt = gCommonFlowMgr->m_SpecialOneObjMarkCnt;//切割次数 m_MarkAreaCutCount = gCommonFlowMgr->GetAreaCycleCnt();//循环次数 m_Jig2PrtOft_x = gCommonFlowMgr->m_Jig2PrtOft.x;//针对产品的切割偏移 m_Jig2PrtOft_x = gCommonFlowMgr->m_Jig2PrtOft.x;//针对产品的切割偏移 m_Jig2PrtOft_x = gCommonFlowMgr->m_Jig4PrtOft.x;//针对产品的切割偏移 m_Jig2PrtOft_x = gCommonFlowMgr->m_Jig4PrtOft.x;//针对产品的切割偏移 { CString path; gProgram_SZ_XL->GetDxfParFilePath("pjo", path); CSmartArchive ar(path, false); ar + m_Jig2PrtOft_x; ar + m_Jig2PrtOft_y; ar + m_Jig4PrtOft_x; ar + m_Jig4PrtOft_y; gCommonFlowMgr->m_Jig2PrtOft.x= m_Jig2PrtOft_x;//针对产品的切割偏移 gCommonFlowMgr->m_Jig2PrtOft.x = m_Jig2PrtOft_y;//针对产品的切割偏移 gCommonFlowMgr->m_Jig4PrtOft.x = m_Jig4PrtOft_x;//针对产品的切割偏移 gCommonFlowMgr->m_Jig4PrtOft.x = m_Jig4PrtOft_y;//针对产品的切割偏移 } UpdateData(FALSE); } //应用参数 void CDlgSW_XL_Flow::OnBnClickedSavePar() { if(bSaveLockFlg)//防止连续点击 return; bSaveLockFlg = true;//锁定 UpdateData(TRUE); gCommonFlowMgr->m_CutSpeed = m_LaserSpeed;//切割速度 gCommonFlowMgr->m_OneObjMarkCnt = m_OneObjMarkCnt;//切割次数 gCommonFlowMgr->m_SpecialOneObjMarkCnt = m_SpecialOneObjMarkCnt;//切割次数 gCommonFlowMgr->m_AreaCycleCnt = (m_MarkAreaCutCount);//区域循环次数 gCommonFlowMgr->m_Jig2PrtOft.x = m_Jig2PrtOft_x;//针对产品的切割偏移 gCommonFlowMgr->m_Jig2PrtOft.y = m_Jig2PrtOft_y;//针对产品的切割偏移 gCommonFlowMgr->m_Jig4PrtOft.x = m_Jig4PrtOft_x;//针对产品的切割偏移 gCommonFlowMgr->m_Jig4PrtOft.y = m_Jig4PrtOft_y;//针对产品的切割偏移 { CString path; gProgram_SZ_XL->GetDxfParFilePath("pjo", path); CSmartArchive ar(path, true); ar + m_Jig2PrtOft_x; ar + m_Jig2PrtOft_y; ar + m_Jig4PrtOft_x; ar + m_Jig4PrtOft_y; } //保存dxf 对应的切割参数 gProgram_SZ_XL->SaveCutPar(); CMsgBox MsgBox; MsgBox.Show("参数应用成功"); bSaveLockFlg = false;//解锁 } #endif #if 1 void CDlgSW_XL_Flow::OnBnClickedSpecialObj() { gObjComponentMgr->SetSelObjPenNum(); } void CDlgSW_XL_Flow::OpenWorkFile(bool bDxf) { if(gProgram_SZ_XL->IsbAutoWorking()) return; //打开 gProgramCutMgr->OpenWorkFile(bDxf); UpdateCutPar(); //area移动到中心 gMarkAreaMgr->MoveAllAreaToTargetPt(Dbxy(0,0)); GetCurViewPtr()->DoZoomFull(); gServer->m_RcvFileName.Empty(); } void CDlgSW_XL_Flow::OnBnClickedOpenDxf() { if(gProgram_SZ_XL->IsbAutoWorking()) return; OpenWorkFile(true); } void CDlgSW_XL_Flow::OnBnClickedOpenMak() { if(gProgram_SZ_XL->IsbAutoWorking()) return; OpenWorkFile(false); } void CDlgSW_XL_Flow::OnBnClickedSaveMak() { if(gProgram_SZ_XL->IsbAutoWorking()) return; CWorkFileMgr WorkFileMgr; WorkFileMgr.OnSaveFileAs(); } void CDlgSW_XL_Flow::OnBnClickedMarkArea() { if(gProgram_SZ_XL->IsbAutoWorking()) return; CDlgMarkArea dlg(*gMarkAreaMgr); dlg.DoModal(); } //切换自动和手动模式 void CDlgSW_XL_Flow::OnBnClickedManualOpCheck() { if(gProgram_SZ_XL->IsbAutoWorking()) { CMsgBox MsgBox; MsgBox.Show("自动运行中,不能切换模式!"); return; } bool bSel = ((CButton*)GetDlgItem(IDC_MANUAL_OP_CHECK))->GetCheck(); gProgram_SZ_XL->SetbAutoWorkMode(!bSel); } //用户登录 void CDlgSW_XL_Flow::OnBnClickedLoginBtn() { if(gProgram_SZ_XL->IsbAutoWorking()) return; CDlgAuthorityMgr dlg; dlg.DoModal(); if(gAuthorityMgr->IsLogin()) m_LoginBtn.SetUpColor(RGB_GREEN); else m_LoginBtn.SetUpColor(RGB_RED); m_LoginBtn.Refreash(); } //调整选择obj 的位置 void CDlgSW_XL_Flow::OnBnClickedAdjustObjPos() { if(gProgram_SZ_XL->IsbAutoWorking()) return; if(!gAuthorityMgr->CheckAuthority(_ADMIN,true)) return; if(!gObjComponentMgr->HasSelObjComponent()) { CMsgBox MsgBox; MsgBox.Show("没有选择要调整的对象!"); return; } CDlgAdjustObjPos dlg; dlg.DoModal(); } #endif void CDlgSW_XL_Flow::OnBnClickedSelMarkCheck() { bool b = gProgram_SZ_XL->IsbSelMarkMode(); gProgram_SZ_XL->SetbSelMarkMode(!b); }