|
|
|
|
#include "StdAfx.h"
|
|
|
|
|
#include "CreaterMarkFlow.h"
|
|
|
|
|
#include "GlobalFunction.h"
|
|
|
|
|
#include "MarkAreaMgr.h"
|
|
|
|
|
#include "WorkCmdMovePlatformXY.h"
|
|
|
|
|
#include "Laser.h"
|
|
|
|
|
#include "WorkCmdMarkArea.h"
|
|
|
|
|
#include "ProductMgr.h"
|
|
|
|
|
#include "Motor.h"
|
|
|
|
|
#include "WorkCmdMoveMotor.h"
|
|
|
|
|
|
|
|
|
|
#define MARK_ALL "ALL"
|
|
|
|
|
#define MARK_SEL "SEL"
|
|
|
|
|
|
|
|
|
|
CCreaterMarkFlow::CCreaterMarkFlow(const CString &str)
|
|
|
|
|
:CCreaterWorkCmd(str)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
CCreaterMarkFlow::~CCreaterMarkFlow(void)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
void CCreaterMarkFlow::Creat()
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>1 <20><>ʾ<EFBFBD>Ƿ<EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>ӹ<EFBFBD>
|
|
|
|
|
CString MarkType = GetPar(1);
|
|
|
|
|
bool bMarkSel = (MarkType == MARK_SEL);
|
|
|
|
|
|
|
|
|
|
vector<CProduct> &ProductVec = gProductMgr->GetProductVec();
|
|
|
|
|
vector<CProduct>::iterator iter = ProductVec.begin();
|
|
|
|
|
vector<CProduct>::iterator iter_end = ProductVec.end();
|
|
|
|
|
for(int i=0;iter!=iter_end;i++,iter++)
|
|
|
|
|
{
|
|
|
|
|
if((*iter).IsUsed())
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>ת
|
|
|
|
|
gProductMgr->SetCurProductIdx(i);
|
|
|
|
|
CreatExt(bMarkSel);
|
|
|
|
|
}
|
|
|
|
|
#if 0
|
|
|
|
|
if(iter!=iter_end-1)//<2F>ӹ<EFBFBD><D3B9><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>ԭ<EFBFBD><D4AD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMovePlatformXY *pCmd = new CWorkCmdMovePlatformXY();
|
|
|
|
|
Dbxy MovePt;
|
|
|
|
|
Dbxy TargetPt;
|
|
|
|
|
pCmd->MoveToTargetPt(MovePt,TargetPt);
|
|
|
|
|
AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
void CCreaterMarkFlow::CreatExt(bool bMarkSel)
|
|
|
|
|
{
|
|
|
|
|
//<2F>Ѽ<EFBFBD><D1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-------------------------------------------------
|
|
|
|
|
CollectWorkData(bMarkSel);
|
|
|
|
|
|
|
|
|
|
//<2F><>area <20><><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-------------------------------
|
|
|
|
|
CMarkAreaMgr *MarkAreaMgr = gMarkAreaMgr;
|
|
|
|
|
//ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>----------------------------
|
|
|
|
|
vector<CMarkArea> &AreaVec = MarkAreaMgr->GetAreaVec();
|
|
|
|
|
vector<CMarkArea>::iterator iter = AreaVec.begin();
|
|
|
|
|
vector<CMarkArea>::iterator iter_end = AreaVec.end();
|
|
|
|
|
for(;iter!=iter_end;iter++)
|
|
|
|
|
{
|
|
|
|
|
if((*iter).HasWorkData())
|
|
|
|
|
{
|
|
|
|
|
//<2F>ƶ<EFBFBD>area ʵ<><CAB5><EFBFBD><EFBFBD><EFBFBD>ĵ㵽<C4B5><E3B5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMovePlatformXY *pCmd = new CWorkCmdMovePlatformXY();
|
|
|
|
|
// pCmd->MoveToTargetPt((*iter).GetRealBasePt(),gLaser->GetCoord());
|
|
|
|
|
pCmd->InWorkState();//<2F><><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|
|
|
|
AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F>佹<EFBFBD><E4BDB9><EFBFBD><EFBFBD>
|
|
|
|
|
int FocalAdjustCnt = gProductMgr->GetFocalAdjustCnt();
|
|
|
|
|
double FocalAdjustDis = gProductMgr->GetFocalAdjustDis();
|
|
|
|
|
|
|
|
|
|
for(int i=0;i<FocalAdjustCnt+1;++i)
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>̵<EFBFBD>ǰarea
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMarkArea *pCmd = new CWorkCmdMarkArea((*iter));
|
|
|
|
|
AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F>佹
|
|
|
|
|
if(FocalAdjustCnt>0 && !IsDbEqualZero(FocalAdjustDis) && i<FocalAdjustCnt)
|
|
|
|
|
{
|
|
|
|
|
CMotor &Motor = *(CMotor::GetMotor(MOTOR_Z));
|
|
|
|
|
CWorkCmdMoveMotor *pCmd = new CWorkCmdMoveMotor(Motor,FocalAdjustDis);
|
|
|
|
|
AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>
|
|
|
|
|
if(FocalAdjustCnt>0 && !IsDbEqualZero(FocalAdjustDis))
|
|
|
|
|
{
|
|
|
|
|
for(int i=0;i<FocalAdjustCnt;i++)
|
|
|
|
|
{
|
|
|
|
|
CMotor &Motor = *(CMotor::GetMotor(MOTOR_Z));
|
|
|
|
|
CWorkCmdMoveMotor *pCmd = new CWorkCmdMoveMotor(Motor,FocalAdjustDis*(-1));
|
|
|
|
|
AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|