You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

634 lines
21 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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;//<2F>н<EFBFBD><D0BD><EFBFBD><EFBFBD>׿<EFBFBD><D7BF><EFBFBD>flg
bool bTrack2ProductFlg = false;//<2F>н<EFBFBD><D0BD><EFBFBD><EFBFBD>׿<EFBFBD><D7BF><EFBFBD>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;//<2F>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
m_SpecialOneObjMarkCnt = 1;//<2F><><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
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
//<2F><><EFBFBD>¶Ի<C2B6><D4BB><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Ϣ
void CDlgSW_XL_Flow::UpdateDlgInfo()
{
if(gExitApp)
return;
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ť
CDeviceState &DeviceState = CDeviceState::GetInstance();
bool bDeviceIni = DeviceState.IsDeviceIni();
if(bDeviceIni)
{
m_InitDeviceBtn.SetUpColor(RGB_GREEN);
}
else
{
m_InitDeviceBtn.SetUpColor(RGB_RED);
}
//<2F>ӹ<EFBFBD>ʱ<EFBFBD><CAB1>
CString str = gWorkTime.GetTimeSpanStr();
CString str1 = gWorkTime.GetLastWorkTime();
GetDlgItem(IDC_WORK_TIME)->SetWindowText(str);
GetDlgItem(IDC_LAST_WORK_TIME)->SetWindowText(str1);
//<2F>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>
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 = "<EFBFBD><EFBFBD>ʼ";
}
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://<2F><><EFBFBD><EFBFBD>
ColorLoadBtn = RGB_GREEN;
break;
case _ETrack_Step_Load_Stop://<2F><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><><D6B4>ֹͣ
ColorLoadBtn = RGB_YELLOW;
break;
case _ETrack_Step_To_Wait_Pos://<2F>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD>ȴ<EFBFBD>λ<EFBFBD><CEBB>
case _ETrack_Step_Mark_Waiting://<2F>ȴ<EFBFBD><C8B4><EFBFBD>
ColorWaitBtn = RGB_GREEN;
break;
case _ETrack_Step_Catch_mark://ץȡ<D7A5><C8A1>λ
ColorCatchMarkBtn = RGB_GREEN;
break;
case _ETrack_Step_Catch_mark_Err://ץȡ<D7A5><C8A1>λʧ<CEBB><CAA7>
ColorCatchMarkBtn = RGB_RED;
break;
case _ETrack_Step_Marking://<2F>и<EFBFBD>
ColorCutBtn = RGB_GREEN;
break;
case _ETrack_Step_Mark_Stop://<2F>и<EFBFBD>ֹͣ
ColorCutBtn = RGB_YELLOW;
break;
case _ETrack_Step_Throw_Edge://ȥ<>߿<EFBFBD>
ColorThrowEdgeBtn = RGB_GREEN;
break;
case _ETrack_Step_Unload://<2F><><EFBFBD><EFBFBD>
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);
}
//<2F>ָ<EFBFBD><D6B8><EFBFBD>ǰѭ<C7B0><D1AD><EFBFBD><EFBFBD>ֹͣ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("<22>й<EFBFBD><D0B9>Ű<EFBFBD><C5B0>̷<EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD>");
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);
}
//<2F>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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);
}
//<2F>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD>ȴ<EFBFBD>λ<EFBFBD><CEBB>
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);
}
//<2F><>ǰѭ<C7B0><D1AD><EFBFBD><EFBFBD>ֹͣ
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
//<2F><>ʼ<EFBFBD><CABC><EFBFBD>
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()
{
//<2F><>ȡdxf <20><>Ӧ<EFBFBD><D3A6><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
gProgram_SZ_XL->ReadCutPar();
m_LaserSpeed = gCommonFlowMgr->m_CutSpeed;//<2F>и<EFBFBD><D0B8>ٶ<EFBFBD>
m_OneObjMarkCnt = gCommonFlowMgr->m_OneObjMarkCnt;//<2F>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
m_SpecialOneObjMarkCnt = gCommonFlowMgr->m_SpecialOneObjMarkCnt;//<2F>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
m_MarkAreaCutCount = gCommonFlowMgr->GetAreaCycleCnt();//ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_Jig2PrtOft_x = gCommonFlowMgr->m_Jig2PrtOft.x;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB>
m_Jig2PrtOft_x = gCommonFlowMgr->m_Jig2PrtOft.x;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB>
m_Jig2PrtOft_x = gCommonFlowMgr->m_Jig4PrtOft.x;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB>
m_Jig2PrtOft_x = gCommonFlowMgr->m_Jig4PrtOft.x;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB>
{
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;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB>
gCommonFlowMgr->m_Jig2PrtOft.x = m_Jig2PrtOft_y;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB>
gCommonFlowMgr->m_Jig4PrtOft.x = m_Jig4PrtOft_x;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB>
gCommonFlowMgr->m_Jig4PrtOft.x = m_Jig4PrtOft_y;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB>
}
UpdateData(FALSE);
}
//Ӧ<>ò<EFBFBD><C3B2><EFBFBD>
void CDlgSW_XL_Flow::OnBnClickedSavePar()
{
if(bSaveLockFlg)//<2F><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
return;
bSaveLockFlg = true;//<2F><><EFBFBD><EFBFBD>
UpdateData(TRUE);
gCommonFlowMgr->m_CutSpeed = m_LaserSpeed;//<2F>и<EFBFBD><D0B8>ٶ<EFBFBD>
gCommonFlowMgr->m_OneObjMarkCnt = m_OneObjMarkCnt;//<2F>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
gCommonFlowMgr->m_SpecialOneObjMarkCnt = m_SpecialOneObjMarkCnt;//<2F>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
gCommonFlowMgr->m_AreaCycleCnt = (m_MarkAreaCutCount);//<2F><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gCommonFlowMgr->m_Jig2PrtOft.x = m_Jig2PrtOft_x;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB>
gCommonFlowMgr->m_Jig2PrtOft.y = m_Jig2PrtOft_y;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB>
gCommonFlowMgr->m_Jig4PrtOft.x = m_Jig4PrtOft_x;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB>
gCommonFlowMgr->m_Jig4PrtOft.y = m_Jig4PrtOft_y;//<2F><><EFBFBD>Բ<EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD>и<EFBFBD>ƫ<EFBFBD><C6AB>
{
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;
}
//<2F><><EFBFBD><EFBFBD>dxf <20><>Ӧ<EFBFBD><D3A6><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
gProgram_SZ_XL->SaveCutPar();
CMsgBox MsgBox;
MsgBox.Show("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>óɹ<EFBFBD>");
bSaveLockFlg = false;//<2F><><EFBFBD><EFBFBD>
}
#endif
#if 1
void CDlgSW_XL_Flow::OnBnClickedSpecialObj()
{
gObjComponentMgr->SetSelObjPenNum();
}
void CDlgSW_XL_Flow::OpenWorkFile(bool bDxf)
{
if(gProgram_SZ_XL->IsbAutoWorking())
return;
//<2F><><EFBFBD><EFBFBD>
gProgramCutMgr->OpenWorkFile(bDxf);
UpdateCutPar();
//area<65>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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();
}
//<2F>л<EFBFBD><D0BB>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ֶ<EFBFBD>ģʽ
void CDlgSW_XL_Flow::OnBnClickedManualOpCheck()
{
if(gProgram_SZ_XL->IsbAutoWorking())
{
CMsgBox MsgBox;
MsgBox.Show("<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>ģʽ!");
return;
}
bool bSel = ((CButton*)GetDlgItem(IDC_MANUAL_OP_CHECK))->GetCheck();
gProgram_SZ_XL->SetbAutoWorkMode(!bSel);
}
//<2F>û<EFBFBD><C3BB><EFBFBD>¼
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();
}
//<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1>obj <20><>λ<EFBFBD><CEBB>
void CDlgSW_XL_Flow::OnBnClickedAdjustObjPos()
{
if(gProgram_SZ_XL->IsbAutoWorking())
return;
if(!gAuthorityMgr->CheckAuthority(_ADMIN,true))
return;
if(!gObjComponentMgr->HasSelObjComponent())
{
CMsgBox MsgBox;
MsgBox.Show("û<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD>!");
return;
}
CDlgAdjustObjPos dlg;
dlg.DoModal();
}
#endif
void CDlgSW_XL_Flow::OnBnClickedSelMarkCheck()
{
bool b = gProgram_SZ_XL->IsbSelMarkMode();
gProgram_SZ_XL->SetbSelMarkMode(!b);
}