|
|
|
|
#include "StdAfx.h"
|
|
|
|
|
#include "CreaterCutFlow.h"
|
|
|
|
|
#include "GlobalFunction.h"
|
|
|
|
|
#include "MarkAreaMgr.h"
|
|
|
|
|
#include "WorkCmdMovePlatformXY.h"
|
|
|
|
|
#include "WorkCmdPciPortSwitch.h"
|
|
|
|
|
#include "Laser.h"
|
|
|
|
|
#include "PciPortMgr.h"
|
|
|
|
|
|
|
|
|
|
#define MARK_ALL "ALL"
|
|
|
|
|
#define MARK_SEL "SEL"
|
|
|
|
|
|
|
|
|
|
CCreaterCutFlow::CCreaterCutFlow(const CString &str)
|
|
|
|
|
:CCreaterWorkCmd(str)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
CCreaterCutFlow::~CCreaterCutFlow(void)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void CCreaterCutFlow::Creat()
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>1 <20><>ʾ<EFBFBD>Ƿ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>ӹ<EFBFBD>
|
|
|
|
|
CString MarkType = GetPar(1);
|
|
|
|
|
//<2F>Ѽ<EFBFBD><D1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-------------------------------------------------
|
|
|
|
|
if(MarkType == MARK_SEL)
|
|
|
|
|
CollectWorkData(true);
|
|
|
|
|
else
|
|
|
|
|
CollectWorkData(false);
|
|
|
|
|
|
|
|
|
|
//ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
vector<CMarkArea> &AreaVec = gMarkAreaMgr->GetAreaVec();
|
|
|
|
|
vector<CMarkArea>::iterator iter = AreaVec.begin();
|
|
|
|
|
vector<CMarkArea>::iterator iter_end = AreaVec.end();
|
|
|
|
|
for(;iter!=iter_end;iter++)
|
|
|
|
|
{
|
|
|
|
|
vector<vector<Dbxy>> &Vec = (*iter).GetDataVec();
|
|
|
|
|
CreatExt(Vec);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void CCreaterCutFlow::CreatExt(vector<vector<Dbxy>> &Vec)
|
|
|
|
|
{
|
|
|
|
|
vector<vector<Dbxy>>::iterator iter = Vec.begin();
|
|
|
|
|
vector<vector<Dbxy>>::iterator iter_end = Vec.end();
|
|
|
|
|
for(int i=0;iter!=iter_end;i++,iter++)
|
|
|
|
|
{
|
|
|
|
|
vector<Dbxy>::iterator iter1 = (*iter).begin();
|
|
|
|
|
vector<Dbxy>::iterator iter1_end = (*iter).end();
|
|
|
|
|
for(;iter1!=iter1_end;iter1++)
|
|
|
|
|
{
|
|
|
|
|
//<2F>ƶ<EFBFBD>ƽ̨---------------------------------------------
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMovePlatformXY *pCmd = new CWorkCmdMovePlatformXY();
|
|
|
|
|
pCmd->MoveToTargetPt((*iter1),gLaser->GetCoord());
|
|
|
|
|
if(iter1 != (*iter).begin())//<2F>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
pCmd->InWorkState();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-------------------------------------------------
|
|
|
|
|
if(iter1==(*iter).begin())
|
|
|
|
|
{
|
|
|
|
|
CWorkCmd *pCmd = new CWorkCmdPciPortSwitch(PCI_PORT_LASER,true);
|
|
|
|
|
AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//<2F>ؼ<EFBFBD><D8BC><EFBFBD>-------------------------------------------------
|
|
|
|
|
{
|
|
|
|
|
CWorkCmd *pCmd = new CWorkCmdPciPortSwitch(PCI_PORT_LASER,false);
|
|
|
|
|
pCmd->CanNotCancel();//<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
|
|
|
|
|
AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|