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.

119 lines
3.7 KiB
C++

#include "StdAfx.h"
#include "DeviceCut.h"
#include "Propertie.h"
#include "PropertieMgr.h"
#include "WorkAreaMgr.h"
#include "MsgBox.h"
#include "GlobalDrawMgr.h"
#include "WorkCmdMotorToMachineOrigin.h"
CDeviceCut::CDeviceCut(void)
{
m_DelayAfterOpenLaser = 3000;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>ʱ
m_DelayAfterCloseLaser = 1000;//<2F>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ(<28><><EFBFBD><EFBFBD>)
m_bPrepareState = false;//<2F><EFBFBD>Ƿ񱻳<C7B7>ʼ<EFBFBD><CABC><><CEB4>ʼ<EFBFBD><CABC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>ijЩ<C4B3><D0A9><EFBFBD><EFBFBD>)
}
CDeviceCut::~CDeviceCut(void)
{
}
#if 1//<2F><>дmodule <20>ĺ<EFBFBD><C4BA><EFBFBD>
CMFCPropertyGridProperty *CDeviceCut::CreatGridProperty()
{
CString PropertyName;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CString Description;//<2F><><EFBFBD><EFBFBD>
CString Path = _T("cut");//<2F>洢·<E6B4A2><C2B7>
CString Name;
//-------------------------------------------------------------------------------//
PropertyName = _T("<EFBFBD>и<EFBFBD>");
CMFCPropertyGridProperty* pGroup = new CMFCPropertyGridProperty(PropertyName);
//-------------------------------------------------------------------------------//
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_DelayAfterOpenLaser");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_DelayAfterOpenLaser);
pPropertie->SetType(_PROP_TYPE_INT);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ");
Description = _T("(<28><>λ: <20><><EFBFBD><EFBFBD>)<29>򿪼<EFBFBD><F2BFAABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱһ<CAB1><D2BB>ʱ<EFBFBD><CAB1>ƽ̨<C6BD><CCA8><EFBFBD>˶<EFBFBD>,<2C><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_DelayAfterOpenLaser, Description);
pGroup->AddSubItem(p);
gDevicePropertieMgr.Insert(p, pPropertie);
}
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
Name = _T("m_DelayAfterCloseLaser");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CPropertie *pPropertie = new CPropertie;
pPropertie->SetpVal((void*)&m_DelayAfterCloseLaser);
pPropertie->SetType(_PROP_TYPE_INT);
pPropertie->SetpModule(this);
pPropertie->SetPath(Path);
pPropertie->SetName(Name);
pPropertie->WriteRead(true);//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
PropertyName = _T("<EFBFBD>ؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ");
Description = _T("(<28><>λ: <20><><EFBFBD><EFBFBD>)<29>رռ<D8B1><D5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱһ<CAB1><D2BB>ʱ<EFBFBD><CAB1>ƽ̨<C6BD><CCA8><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD>");
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_DelayAfterCloseLaser, Description);
pGroup->AddSubItem(p);
gDevicePropertieMgr.Insert(p, pPropertie);
}
return pGroup;
}
void CDeviceCut::ExportPar(ofstream *pFile)
{
(*pFile)<<"<><C4A3>] [CDeviceCut]------------------------------------------------"<<endl;
(*pFile)<<"[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ(<28><><EFBFBD><EFBFBD>)][m_DelayAfterOpenLaser] = "<<m_DelayAfterOpenLaser<<endl;
(*pFile)<<"[<5B>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ(<28><><EFBFBD><EFBFBD>)][m_DelayAfterCloseLaser] = "<<m_DelayAfterCloseLaser<<endl;
}
#endif
//<2F><><EFBFBD><EFBFBD>׼<EFBFBD><D7BC>״̬
void CDeviceCut::SetPrepareState(bool b)
{
m_bPrepareState = b;
if(b)
gLogMgr->WriteDebugLog("<EFBFBD>豸׼<EFBFBD><EFBFBD>״̬--OK");
else
gLogMgr->WriteDebugLog("<EFBFBD>豸׼<EFBFBD><EFBFBD>״̬--ERROR",_LOG_ERROR);
};
//<2F><>ȡ<EFBFBD><EFBFBD><E8B1B8>׼<EFBFBD><D7BC>״̬
bool CDeviceCut::GetPrepareState()
{
if(!m_bPrepareState)
{
CMsgBox MsgBox;
MsgBox.Show("<EFBFBD>豸δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD>״̬,<2C><><EFBFBD>ȳ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>豸!",true);
}
return m_bPrepareState;
}
#if 1
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void CDeviceCut::StartWork()
{
Work(false);
}
//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><E2B9A4>
void CDeviceCut::StartSimulateWork()
{
Work(true);
}
#endif
#if 1
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void CDeviceCut::GetPointData(CObjContainer &ObjContainer,vector<Dbxy> &vec)
{
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>obj <20><><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>vec <20><>--------------------------------------------------
ObjContainer.GetOnePoint(vec);
}
#endif