|
|
|
|
#include "StdAfx.h"
|
|
|
|
|
#include "CommonFlowMgr.h"
|
|
|
|
|
#include "WorkCmdMovePlatformXY.h"
|
|
|
|
|
#include "MsgBox.h"
|
|
|
|
|
#include "WorkCmdInvoker.h"
|
|
|
|
|
#include "Propertie.h"
|
|
|
|
|
#include "PropertieMgr.h"
|
|
|
|
|
#include "AuthorityMgr.h"
|
|
|
|
|
#include "LogMgr.h"
|
|
|
|
|
#include "Camera.h"
|
|
|
|
|
#include "Product.h"
|
|
|
|
|
#include "WorkCmdCameraCatch.h"
|
|
|
|
|
#include "CStringFuc.h"
|
|
|
|
|
#include "PlatformXY.h"
|
|
|
|
|
#include "Laser.h"
|
|
|
|
|
#include "MarkAreaMgr.h"
|
|
|
|
|
#include "WorkCmdMarkArea.h"
|
|
|
|
|
#include "WorkCmdMoveMotor.h"
|
|
|
|
|
#include "ObjComponentMgr.h"
|
|
|
|
|
#include "WorkCmdPciPortSwitch.h"
|
|
|
|
|
#include "PciPortMgr.h"
|
|
|
|
|
#include "MeasureMgr.h"
|
|
|
|
|
#include "ExceptionMsg.h"
|
|
|
|
|
#include "FileMgr.h"
|
|
|
|
|
#include "CameraHawkvis.h"
|
|
|
|
|
#include "WorkCmdMotorToOffsetPos.h"
|
|
|
|
|
#include "WorkCmdMotorToMachineOrigin.h"
|
|
|
|
|
#include "Motor.h"
|
|
|
|
|
#include "WorkCmdDeviceParReset.h"
|
|
|
|
|
#include "WorkCmdWorkStart.h"
|
|
|
|
|
#include "WorkCmdWorkEnd.h"
|
|
|
|
|
#include "ProductMgr.h"
|
|
|
|
|
#include "DeviceState.h"
|
|
|
|
|
#include "WorkFileMgr.h"
|
|
|
|
|
#include "CommPortMgr.h"
|
|
|
|
|
#include "PlcIOMgr.h"
|
|
|
|
|
#include "PciCh365Mgr.h"
|
|
|
|
|
#include "WorkCmdResetAllMotorErr.h"
|
|
|
|
|
#include "WorkCmdWaitMotorStop.h"
|
|
|
|
|
#include "WorkCmdSetMotorSpeed.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CCommonFlowMgr *gCommonFlowMgr = new CCommonFlowMgr;
|
|
|
|
|
CCommonFlowMgr::CCommonFlowMgr(void)
|
|
|
|
|
{
|
|
|
|
|
m_bIniPlatfrom = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ̨
|
|
|
|
|
m_bIniConfirmMsgBox = true;//<2F>Ƿ<C7B7><F1B5AFB3><EFBFBD>ʼ<EFBFBD><CABC>ȷ<EFBFBD>϶Ի<CFB6><D4BB><EFBFBD>
|
|
|
|
|
m_bIniMotorX = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X
|
|
|
|
|
m_bIniMotorY = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y
|
|
|
|
|
m_bIniMotorZ = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z
|
|
|
|
|
m_bInitedToProductPt = false;//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA>Ƿ<C7B7><F1B7B5BB><EFBFBD><EFBFBD>ϵ<EFBFBD>
|
|
|
|
|
|
|
|
|
|
m_bFocalAdjust = false;//<2F>ӹ<EFBFBD><D3B9><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Ƿ<EFBFBD>ʵʱ<CAB5><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_FocalAdjustDis = 0;//<2F>佹<EFBFBD><E4BDB9><EFBFBD><EFBFBD>mm
|
|
|
|
|
m_FocalAdjustCnt = 0;//<2F>佹<EFBFBD><E4BDB9><EFBFBD><EFBFBD>(ÿ<>佹һ<E4BDB9>ΰ<EFBFBD><CEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD>ӹ<EFBFBD>һ<EFBFBD><D2BB>)
|
|
|
|
|
m_AreaCycleCnt = 1;//ÿ<><C3BF>һ<EFBFBD><D2BB>workarea <20><>ѭ<EFBFBD><D1AD><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_OneObjMarkCnt = 1;//<2F><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_SpecialOneObjMarkCnt = 1;//<2F><><EFBFBD><EFBFBD><EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_CutSpeed = 800;//<2F>и<EFBFBD><D0B8>ٶ<EFBFBD>
|
|
|
|
|
m_bBackToProductPt = false;//<2F>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA>Ƿ<C7B7>ȡ<EFBFBD>ϵ<EFBFBD>
|
|
|
|
|
m_bSetLightState = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>þ<EFBFBD>ʾ<EFBFBD><CABE>״̬
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m_bUseLaser = false;//<2F>Ƿؼ<F1BFAAB9><D8BC><EFBFBD>
|
|
|
|
|
|
|
|
|
|
m_CalibrationPointGap = 2;//<2F><><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>mm
|
|
|
|
|
m_CalibrationRange = 50;//<2F><><EFBFBD><EFBFBD>У<D0A3><D7BC>Χmm
|
|
|
|
|
|
|
|
|
|
m_AlamDelay = 1000;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ(ms)
|
|
|
|
|
|
|
|
|
|
m_bConnectObj = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD>obj <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
m_bVacuum = false;//<2F>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>ӹ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ſ<EFBFBD>)
|
|
|
|
|
|
|
|
|
|
m_ConcentricCnt = 0;//ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_FirstGap = 0;//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD>
|
|
|
|
|
m_ConcentricGap = 0.05;//ͬ<><CDAC><EFBFBD><EFBFBD><EFBFBD>ݵļ<DDB5><C4BC><EFBFBD>mm(<28><><EFBFBD><EFBFBD>0 <20><><EFBFBD><EFBFBD>)(С<><D0A1>0 <20><><EFBFBD><EFBFBD>)
|
|
|
|
|
|
|
|
|
|
m_RotatoAdjust = 0;//<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>mm
|
|
|
|
|
m_NoMarkCanWork = true;//û<>ж<EFBFBD>λ<EFBFBD><CEBB>ʱҲ<CAB1><D2B2><EFBFBD>Լӹ<D4BC>
|
|
|
|
|
m_bCheckObjDataConsistency = true;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>obj <20><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
|
|
|
|
|
m_bWorkStop = false;//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ֹͣ
|
|
|
|
|
|
|
|
|
|
m_FindOriginTimes = 5;//<2F>Զ<EFBFBD><D4B6><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD>ļӹ<C4BC><D3B9><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>0 ʱ<><CAB1>Ч)
|
|
|
|
|
m_CurWorktimes = 1;//<2F><>ǰ<EFBFBD>ļӹ<C4BC><D3B9><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
m_bStartWorkMsg = true;//<2F>ӹ<EFBFBD>ǰ<EFBFBD><C7B0>ʾ
|
|
|
|
|
m_AllWorkExecTimes = 1;//<2F>ظ<EFBFBD>ִ<EFBFBD>д<EFBFBD><D0B4><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
m_CurWorkExecTimes = 0;//<2F><>ǰִ<C7B0>д<EFBFBD><D0B4><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
|
|
|
|
|
m_bCollectSpecialObj = false;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
m_bStretchDataToRealSize = false;//<2F><><EFBFBD><EFBFBD>ץȡ<D7A5><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
CCommonFlowMgr::~CCommonFlowMgr(void)
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
CMFCPropertyGridProperty * CCommonFlowMgr::CreatGridProperty()
|
|
|
|
|
{
|
|
|
|
|
CString PropertyName;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CString Description;//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
CString Path = _T("CommonFlowMgr");;//<2F>洢·<E6B4A2><C2B7>
|
|
|
|
|
CString Name;
|
|
|
|
|
//-------------------------------------------------------------------------------//
|
|
|
|
|
PropertyName = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* pGroup = new CMFCPropertyGridProperty(PropertyName);
|
|
|
|
|
if (gAuthorityMgr->CheckAuthority(_FACTORY))
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bSetLightState");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bSetLightState);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>");
|
|
|
|
|
Description = _T("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>þ<EFBFBD>ʾ<EFBFBD><EFBFBD>״̬");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bSetLightState, Description);
|
|
|
|
|
pGroup->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bStartWorkMsg");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bStartWorkMsg);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>ʾ");
|
|
|
|
|
Description = _T("<EFBFBD>ӹ<EFBFBD>ǰ<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ի<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bStartWorkMsg, Description);
|
|
|
|
|
pGroup->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_AllWorkExecTimes");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_AllWorkExecTimes);
|
|
|
|
|
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("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD>ʱ<EFBFBD>ظ<EFBFBD>ִ<EFBFBD>еĴ<EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_AllWorkExecTimes, Description);
|
|
|
|
|
pGroup->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_FindOriginTimes");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_FindOriginTimes);
|
|
|
|
|
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("ÿ<EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٴλ<EFBFBD>һ<EFBFBD><EFBFBD>ԭ<EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>0 ʱ<><CAB1>Ч)");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_FindOriginTimes, Description);
|
|
|
|
|
pGroup->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_AlamDelay");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_AlamDelay);
|
|
|
|
|
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("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD><EFBFBD>(ms)");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_AlamDelay, Description);
|
|
|
|
|
pGroup->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bCheckObjDataConsistency");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bCheckObjDataConsistency);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>obj <20><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD><EFBFBD><EFBFBD>)");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bCheckObjDataConsistency, Description);
|
|
|
|
|
pGroup->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_NoMarkCanWork");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_NoMarkCanWork);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>");
|
|
|
|
|
Description = _T("û<EFBFBD>ж<EFBFBD>λ<EFBFBD><EFBFBD>ʱҲ<EFBFBD><EFBFBD><EFBFBD>Լӹ<EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_NoMarkCanWork, Description);
|
|
|
|
|
pGroup->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//-------------------------------------------------------------------------------//
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(_T("<EFBFBD>豸<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>"));
|
|
|
|
|
if (gAuthorityMgr->CheckAuthority(_FACTORY))
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bIniConfirmMsgBox");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bIniConfirmMsgBox);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>msgbox");
|
|
|
|
|
Description = _T("<EFBFBD>Ƿ<EFBFBD><EFBFBD>Ի<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bIniConfirmMsgBox, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bIniPlatfrom");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bIniPlatfrom);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>ƽ̨");
|
|
|
|
|
Description = _T("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>XY <20><><EFBFBD><EFBFBD>ƽ̨");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bIniPlatfrom, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bIniMotorX");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bIniMotorX);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>X");
|
|
|
|
|
Description = _T("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>X");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bIniMotorX, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bIniMotorY");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bIniMotorY);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>Y");
|
|
|
|
|
Description = _T("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bIniMotorY, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bIniMotorZ");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bIniMotorZ);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>Z");
|
|
|
|
|
Description = _T("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bIniMotorZ, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bInitedToProductPt");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bInitedToProductPt);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bInitedToProductPt, Description);
|
|
|
|
|
pGroup1->AddSubItem(p1);
|
|
|
|
|
gDevicePropertieMgr.Insert(p1, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
pGroup->AddSubItem(pGroup1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӹ<EFBFBD>"));
|
|
|
|
|
if (gAuthorityMgr->CheckAuthority(_FACTORY))
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bStretchDataToRealSize");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bStretchDataToRealSize);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>");
|
|
|
|
|
Description = _T("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץȡmark <20><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD>ߴ<EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bStretchDataToRealSize, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_AdjustOffset_X");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_AdjustOffset.x);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
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>X");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>X (mm)");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_AdjustOffset.x, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_AdjustOffset_Y");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_AdjustOffset.y);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
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>Y");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Y(mm)");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_AdjustOffset.y, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_SizeAdjust_X");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_SizeAdjust.x);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
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>X");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD>Ʒ<EFBFBD>ߴ<EFBFBD><EFBFBD><EFBFBD>X (mm)");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_SizeAdjust.x, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_SizeAdjust_Y");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_SizeAdjust.y);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
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>Y");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD>Ʒ<EFBFBD>ߴ<EFBFBD><EFBFBD><EFBFBD>Y(mm)");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_SizeAdjust.y, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
#if 0
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_RotatoAdjust");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_RotatoAdjust);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
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>");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(mm)");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_RotatoAdjust, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bFocalAdjust");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bFocalAdjust);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>佹");
|
|
|
|
|
Description = _T("<EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ʵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ڼӹ<DABC><D3B9>ȽϺ<C8BD><CFBA>IJ<EFBFBD>Ʒ(<28><><EFBFBD><EFBFBD>Z <20><><EFBFBD>綯)");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bFocalAdjust, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_FocalAdjustCnt");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_FocalAdjustCnt);
|
|
|
|
|
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>");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD>ڱȽϺ<EFBFBD><EFBFBD>IJ<EFBFBD>Ʒ,<2C>ӹ<EFBFBD>һ<EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>࣬<EFBFBD>ٴμӹ<CEBC>");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_FocalAdjustCnt, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_FocalAdjustDis");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_FocalAdjustDis);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
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>");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD>Ӧ<EFBFBD>佹<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ν<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>,<2C><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>(<28><>λ:mm)");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_FocalAdjustDis, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bConnectObj");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bConnectObj);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>obj <20><><EFBFBD><EFBFBD>");
|
|
|
|
|
Description = _T("<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD>obj <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bConnectObj, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_ConcentricCnt");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_ConcentricCnt);
|
|
|
|
|
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>");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>1 <20><>ʱ<EFBFBD><CAB1>ֻ<EFBFBD><D6BB>һ<EFBFBD><D2BB>Բ,<2C><><EFBFBD><EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF>Ե<EFBFBD><D4B5><EFBFBD>obj <20><><EFBFBD>ݵijߴ<C4B3>");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_ConcentricCnt, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_FirstGap");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_FirstGap);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
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("Frist <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
Description = _T("<EFBFBD>ı<EFBFBD>ԭ<EFBFBD><EFBFBD><EFBFBD>ߴ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_FirstGap, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_ConcentricGap");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_ConcentricGap);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
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>");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵļ<EFBFBD><EFBFBD><EFBFBD>mm(<28><><EFBFBD><EFBFBD>0 <20><><EFBFBD><EFBFBD>)");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_ConcentricGap, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bBackToProductPt");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bBackToProductPt);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>");
|
|
|
|
|
Description = _T("<EFBFBD>ӹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD>ƽ̨<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bBackToProductPt, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
pGroup->AddSubItem(pGroup1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(_T("ƽ̨<EFBFBD>и<EFBFBD>"));
|
|
|
|
|
if (gAuthorityMgr->CheckAuthority(_FACTORY))
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_bUseLaser");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_bUseLaser);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_BOOL);
|
|
|
|
|
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>");
|
|
|
|
|
Description = _T("ΪFALSE <20><>ʱ<EFBFBD><CAB1>ֻ<EFBFBD>ƶ<EFBFBD>ƽ̨");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bUseLaser, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
pGroup->AddSubItem(pGroup1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CMFCPropertyGridProperty* pGroup1 = new CMFCPropertyGridProperty(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>У"));
|
|
|
|
|
if (gAuthorityMgr->CheckAuthority(_FACTORY))
|
|
|
|
|
{
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_CalibrationRange");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_CalibrationRange);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
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>Χ");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ķ<EFBFBD>Χ(mm)");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_CalibrationRange, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>ӳ<EFBFBD><D3B3>
|
|
|
|
|
Name = _T("m_CalibrationPointGap");//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CPropertie *pPropertie = new CPropertie;
|
|
|
|
|
pPropertie->SetpVal((void*)&m_CalibrationPointGap);
|
|
|
|
|
pPropertie->SetType(_PROP_TYPE_DOUBLE);
|
|
|
|
|
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>");
|
|
|
|
|
Description = _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>(mm)");
|
|
|
|
|
CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_CalibrationPointGap, Description);
|
|
|
|
|
pGroup1->AddSubItem(p);
|
|
|
|
|
gDevicePropertieMgr.Insert(p, pPropertie);
|
|
|
|
|
}
|
|
|
|
|
pGroup->AddSubItem(pGroup1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return pGroup;
|
|
|
|
|
}
|
|
|
|
|
void CCommonFlowMgr::Ini()
|
|
|
|
|
{
|
|
|
|
|
m_CurCamera = gCameraHawkvis;//<2F><EFBFBD>ǰʹ<C7B0>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
#if 1
|
|
|
|
|
void CCommonFlowMgr::WriteWorkFileExt(vector<CLab> &LabVec)
|
|
|
|
|
{
|
|
|
|
|
LabVec.push_back(CLab(LAB_ONE_OBJ_CUT_TIMES, m_OneObjMarkCnt));
|
|
|
|
|
LabVec.push_back(CLab(LAB_SPECIAL_ONE_OBJ_CUT_TIMES, m_SpecialOneObjMarkCnt));
|
|
|
|
|
LabVec.push_back(CLab(LAB_ONE_AREA_CUT_TIMES, m_AreaCycleCnt));
|
|
|
|
|
LabVec.push_back(CLab(LAB_ONE_CUT_SPEED, m_CutSpeed));
|
|
|
|
|
LabVec.push_back(CLab(LAB_ADJUST_OFFSET_X, m_Jig2PrtOft.x));
|
|
|
|
|
LabVec.push_back(CLab(LAB_ADJUST_OFFSET_Y, m_Jig2PrtOft.y));
|
|
|
|
|
}
|
|
|
|
|
void CCommonFlowMgr::ReadWorkFile(CLabVecRang &LabVecRang)
|
|
|
|
|
{
|
|
|
|
|
CWorkFileMgr WorkFileMgr;
|
|
|
|
|
{
|
|
|
|
|
CLab Lab = WorkFileMgr.FindLab(LabVecRang, LAB_ONE_OBJ_CUT_TIMES);
|
|
|
|
|
if (Lab.m_ValType != _TYPE_NULL)
|
|
|
|
|
{
|
|
|
|
|
m_OneObjMarkCnt = Lab.m_Int;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CLab Lab = WorkFileMgr.FindLab(LabVecRang, LAB_SPECIAL_ONE_OBJ_CUT_TIMES);
|
|
|
|
|
if (Lab.m_ValType != _TYPE_NULL)
|
|
|
|
|
{
|
|
|
|
|
m_SpecialOneObjMarkCnt = Lab.m_Int;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CLab Lab = WorkFileMgr.FindLab(LabVecRang, LAB_ONE_AREA_CUT_TIMES);
|
|
|
|
|
if (Lab.m_ValType != _TYPE_NULL)
|
|
|
|
|
{
|
|
|
|
|
m_AreaCycleCnt = Lab.m_Int;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CLab Lab = WorkFileMgr.FindLab(LabVecRang, LAB_ONE_CUT_SPEED);
|
|
|
|
|
if (Lab.m_ValType != _TYPE_NULL)
|
|
|
|
|
{
|
|
|
|
|
m_CutSpeed = Lab.m_Int;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CLab Lab = WorkFileMgr.FindLab(LabVecRang, LAB_ADJUST_OFFSET_X);
|
|
|
|
|
if (Lab.m_ValType != _TYPE_NULL)
|
|
|
|
|
{
|
|
|
|
|
m_Jig2PrtOft.x = Lab.m_Double;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CLab Lab = WorkFileMgr.FindLab(LabVecRang, LAB_ADJUST_OFFSET_Y);
|
|
|
|
|
if (Lab.m_ValType != _TYPE_NULL)
|
|
|
|
|
{
|
|
|
|
|
m_Jig2PrtOft.y = Lab.m_Double;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
#if 1
|
|
|
|
|
bool CCommonFlowMgr::StartWorkConfirm(bool bSelMark)
|
|
|
|
|
{
|
|
|
|
|
if (!m_bStartWorkMsg)
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
CString str;
|
|
|
|
|
if (bSelMark)
|
|
|
|
|
str = "<EFBFBD><EFBFBD>ʼѡ<EFBFBD><EFBFBD><EFBFBD>и<EFBFBD>?";
|
|
|
|
|
else
|
|
|
|
|
str = "<EFBFBD><EFBFBD>ʼȫ<EFBFBD><EFBFBD><EFBFBD>и<EFBFBD>?";
|
|
|
|
|
|
|
|
|
|
CMsgBox MsgBox;
|
|
|
|
|
return MsgBox.ConfirmOkCancel(str);
|
|
|
|
|
}
|
|
|
|
|
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD>ٴ<EFBFBD>ִ<EFBFBD><D6B4>
|
|
|
|
|
bool CCommonFlowMgr::IsNeedExecAgain()
|
|
|
|
|
{
|
|
|
|
|
//<2F><>ѯ<EFBFBD><D1AF><EFBFBD>Ƿ<EFBFBD><C7B7>ۼӵ<DBBC>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|
|
|
|
m_CurWorkExecTimes++;
|
|
|
|
|
if (m_CurWorkExecTimes >= m_AllWorkExecTimes)
|
|
|
|
|
{
|
|
|
|
|
m_CurWorkExecTimes = 0;//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD>þ<EFBFBD>ʾ<EFBFBD><CABE>
|
|
|
|
|
void CCommonFlowMgr::SetLightStateCmd(CWorkCmdContainer &CmdContainer, bool bStart)
|
|
|
|
|
{
|
|
|
|
|
if (!m_bSetLightState)
|
|
|
|
|
return;
|
|
|
|
|
#if 1
|
|
|
|
|
if (bStart)
|
|
|
|
|
{
|
|
|
|
|
//<2F>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>еƺͷ<C6BA><CDB7><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmd *pCmd = new CWorkCmdPciPortSwitch(PCI_PORT_LIGHT_R, false);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWorkCmd *pCmd = new CWorkCmdPciPortSwitch(PCI_PORT_LIGHT_Y, false);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWorkCmd *pCmd = new CWorkCmdPciPortSwitch(PCI_PORT_LIGHT_G, false);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWorkCmd *pCmd = new CWorkCmdPciPortSwitch(PCI_PORT_ALARM, false);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD>Ƶ<EFBFBD>------------------------------------
|
|
|
|
|
{
|
|
|
|
|
CWorkCmd *pCmd = new CWorkCmdPciPortSwitch(PCI_PORT_LIGHT_Y, true);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWorkCmd *pCmd = new CWorkCmdPciPortSwitch(PCI_PORT_LIGHT_R, false);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWorkCmd *pCmd = new CWorkCmdPciPortSwitch(PCI_PORT_LIGHT_G, false);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ-----------------------------
|
|
|
|
|
{
|
|
|
|
|
CWorkCmd *pCmd = new CWorkCmdPciPortSwitch(PCI_PORT_ALARM, true);
|
|
|
|
|
pCmd->SetAfterDelay(m_AlamDelay);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
CWorkCmd *pCmd = new CWorkCmdPciPortSwitch(PCI_PORT_ALARM, false);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD>þ<EFBFBD>ʾ<EFBFBD><CABE>
|
|
|
|
|
void CCommonFlowMgr::SetLightStateCmd(bool bStart)
|
|
|
|
|
{
|
|
|
|
|
if (!m_bSetLightState)
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
CCommPortMgr com;
|
|
|
|
|
//<2F><EFBFBD><F2BFAAB4><EFBFBD>
|
|
|
|
|
if (com.Open(gPlcIOMgr->GetComPort(), 115200) == false)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
CString strY = "$(KQ1)#";//<2F>Ƶ<EFBFBD>
|
|
|
|
|
CString strG = "$(KQ2)#";//<2F>̵<EFBFBD>
|
|
|
|
|
CString strR = "$(KQ3)#";//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
CString str;
|
|
|
|
|
com.Write(str);
|
|
|
|
|
if (bStart)
|
|
|
|
|
{
|
|
|
|
|
str = strG + char(13) + char(10);
|
|
|
|
|
com.Write(str);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
str = strR + char(13) + char(10);
|
|
|
|
|
com.Write(str);
|
|
|
|
|
Sleep(m_AlamDelay);
|
|
|
|
|
str = strY + char(13) + char(10);
|
|
|
|
|
com.Write(str);
|
|
|
|
|
}
|
|
|
|
|
com.Close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD>豸(ƽ̨,Z <20><>)
|
|
|
|
|
bool CCommonFlowMgr::InitDevice()
|
|
|
|
|
{
|
|
|
|
|
CMsgBox MsgBox;
|
|
|
|
|
if (m_bIniConfirmMsgBox)
|
|
|
|
|
{
|
|
|
|
|
if (MsgBox.ConfirmOkCancel(_T("<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>豸?")) == false)
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CDeviceState &DeviceState = CDeviceState::GetInstance();
|
|
|
|
|
DeviceState.SetIniState(false);
|
|
|
|
|
|
|
|
|
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><F2B2BBBC><EFBFBD>ƽ̨<C6BD><CCA8>Χ
|
|
|
|
|
bool OldbUseMoveRange = gPlatformXY->GetbUseMoveRange();
|
|
|
|
|
gPlatformXY->SetbUseMoveRange(false);
|
|
|
|
|
|
|
|
|
|
//<2F>رռ<D8B1><D5BC><EFBFBD><EFBFBD>˿<EFBFBD>
|
|
|
|
|
gPciCh365Mgr->CloseLaserPort();
|
|
|
|
|
|
|
|
|
|
gLogMgr->WriteDebugLog("Fuc---->InitDevice");
|
|
|
|
|
|
|
|
|
|
CWorkCmdInvoker Invoker;
|
|
|
|
|
CWorkCmdContainer &CmdContainer = CWorkCmdContainer::GetInstance();//ָ<>
|
|
|
|
|
CmdContainer.Clear();
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdSetMotorSpeed *pCmd = new CWorkCmdSetMotorSpeed();
|
|
|
|
|
pCmd->SetbSetMotorX();
|
|
|
|
|
pCmd->SetbSetMotorX2();
|
|
|
|
|
pCmd->SetbSetMotorY();
|
|
|
|
|
pCmd->SetbSetMotorZ();
|
|
|
|
|
pCmd->SetSpeedType(_SpeedType_Org);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>һ<EFBFBD>ξ<EFBFBD><CEBE><EFBFBD>
|
|
|
|
|
if (m_bIniMotorZ)
|
|
|
|
|
{
|
|
|
|
|
CMotor *pMotorZ = CMotor::GetMotor(MOTOR_Z);
|
|
|
|
|
double Dis = pMotorZ->GetReverseMoveDis();
|
|
|
|
|
CWorkCmdMoveMotor *pCmd = new CWorkCmdMoveMotor(*pMotorZ, Dis);
|
|
|
|
|
pCmd->SetMoveFlg(true);//<2F>ƶ<EFBFBD>һ<EFBFBD>ξ<EFBFBD><CEBE><EFBFBD>
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
if (m_bIniMotorZ)//<2F>ȴ<EFBFBD><C8B4>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdWaitMotorStop *pCmd = new CWorkCmdWaitMotorStop();
|
|
|
|
|
pCmd->SetbWaitMotorZ();
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
if (m_bIniMotorZ)
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMotorToMachineOrigin *pCmd = new CWorkCmdMotorToMachineOrigin(*(CMotor::GetMotor("Z")));
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F>ȴ<EFBFBD><C8B4>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if (m_bIniMotorZ)
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdWaitMotorStop *pCmd = new CWorkCmdWaitMotorStop();
|
|
|
|
|
pCmd->SetbWaitMotorZ();
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//XY ƽ̨<C6BD><CCA8><EFBFBD><EFBFBD>------------------------------------------------------------
|
|
|
|
|
if (m_bIniPlatfrom)
|
|
|
|
|
{
|
|
|
|
|
if (m_bIniMotorX)
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMotorToMachineOrigin *pCmd = new CWorkCmdMotorToMachineOrigin(*(CMotor::GetMotor("X")));
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
if (m_bIniMotorX)
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMotorToMachineOrigin *pCmd = new CWorkCmdMotorToMachineOrigin(*(CMotor::GetMotor("X2")));
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
if (m_bIniMotorY)
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMotorToMachineOrigin *pCmd = new CWorkCmdMotorToMachineOrigin(*(CMotor::GetMotor("Y")));
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F>ȴ<EFBFBD><C8B4>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdWaitMotorStop *pCmd = new CWorkCmdWaitMotorStop();
|
|
|
|
|
pCmd->SetbWaitMotorX();
|
|
|
|
|
pCmd->SetbWaitMotorX2();
|
|
|
|
|
pCmd->SetbWaitMotorY();
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>״̬
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdResetAllMotorErr *pCmd = new CWorkCmdResetAllMotorErr();
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdSetMotorSpeed *pCmd = new CWorkCmdSetMotorSpeed();
|
|
|
|
|
pCmd->SetbSetMotorX();
|
|
|
|
|
pCmd->SetbSetMotorX2();
|
|
|
|
|
pCmd->SetbSetMotorY();
|
|
|
|
|
pCmd->SetbSetMotorZ();
|
|
|
|
|
pCmd->SetSpeedType(_SpeedType_Move);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F>ƶ<EFBFBD><C6B6><EFBFBD>ԭ<EFBFBD><D4AD>ƫ<EFBFBD><C6AB>λ<EFBFBD><CEBB>
|
|
|
|
|
if (m_bIniMotorY)
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMotorToOffsetPos *pCmd = new CWorkCmdMotorToOffsetPos(*(CMotor::GetMotor("Y")));
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
if (m_bIniMotorX)
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMotorToOffsetPos *pCmd = new CWorkCmdMotorToOffsetPos(*(CMotor::GetMotor("X")));
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
if (m_bIniMotorX)
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMotorToOffsetPos *pCmd = new CWorkCmdMotorToOffsetPos(*(CMotor::GetMotor("X2")));
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F>ȴ<EFBFBD><C8B4>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdWaitMotorStop *pCmd = new CWorkCmdWaitMotorStop();
|
|
|
|
|
pCmd->SetbWaitMotorX();
|
|
|
|
|
pCmd->SetbWaitMotorX2();
|
|
|
|
|
pCmd->SetbWaitMotorY();
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (m_bIniMotorZ)
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMotorToOffsetPos *pCmd = new CWorkCmdMotorToOffsetPos(*(CMotor::GetMotor("Z")));
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F>ȴ<EFBFBD><C8B4>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
if (m_bIniMotorZ)
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdWaitMotorStop *pCmd = new CWorkCmdWaitMotorStop();
|
|
|
|
|
pCmd->SetbWaitMotorZ();
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>豸״̬(<28><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0>Ϊԭ<CEAA><D4AD>)
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdDeviceParReset *pCmd = new CWorkCmdDeviceParReset;
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//ִ<><D6B4>ָ<EFBFBD><D6B8>-----------------------------------------------------
|
|
|
|
|
Invoker.ExcuteAllCmd();
|
|
|
|
|
//<2F>ָ<EFBFBD>
|
|
|
|
|
gPlatformXY->SetbUseMoveRange(OldbUseMoveRange);
|
|
|
|
|
|
|
|
|
|
bool Ret = !Invoker.IsCancel();
|
|
|
|
|
if (Ret)
|
|
|
|
|
{
|
|
|
|
|
gCameraHawkvis->OpenCamera();
|
|
|
|
|
}
|
|
|
|
|
return Ret;
|
|
|
|
|
}
|
|
|
|
|
//<2F><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><F1BEB5B4>깦<EFBFBD><EAB9A6>(layer <20>е<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ƽ̨<C6BD><CCA8><EFBFBD>ƶ<EFBFBD>)
|
|
|
|
|
//ʹ<><CAB9>pci <20><>(times <20>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>) (CyclicTimes ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
bool CCommonFlowMgr::NormalMarkByPciCard(bool bSel, int times, int CyclicTimes)
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("Fuc---->NormalMarkByPciCard : bSel = " + Bool2Str(bSel));
|
|
|
|
|
//<2F><>ʱProduct
|
|
|
|
|
CProduct Product;
|
|
|
|
|
Product.m_bManualMark = true;
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>area
|
|
|
|
|
CMarkArea MarkArea(Dbxy(0, 0), DbSize(100, 100));
|
|
|
|
|
//<2F>ռ<EFBFBD><D5BC>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
MarkArea.CollectOrgWorkData(bSel, Product);
|
|
|
|
|
MarkArea.CollectWorkData(bSel, Product);
|
|
|
|
|
|
|
|
|
|
if (MarkArea.HasWorkData())
|
|
|
|
|
{
|
|
|
|
|
for (int k = 0;k < CyclicTimes;k++)
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdInvoker Invoker;
|
|
|
|
|
CWorkCmdContainer &CmdContainer = CWorkCmdContainer::GetInstance();//ָ<>
|
|
|
|
|
CmdContainer.Clear();
|
|
|
|
|
CWorkCmdMarkArea *pCmd = new CWorkCmdMarkArea(MarkArea);
|
|
|
|
|
pCmd->CreatWorkDataByTimes(times);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
//ִ<><D6B4>ָ<EFBFBD><D6B8>-----------------------------------------------------
|
|
|
|
|
Invoker.ExcuteAllCmd(false);//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>ִ<EFBFBD><D6B4>
|
|
|
|
|
if (Invoker.IsCancel())
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
gLogMgr->WriteDebugLog("Error---->Not Have Wrok Data");
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
//<2F>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>area (<28><><EFBFBD>ȴ<EFBFBD><C8B4>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
void CCommonFlowMgr::MoveToFirstArea()
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("Fuc---->MoveToFirstArea");
|
|
|
|
|
CWorkCmdContainer CmdContainer;
|
|
|
|
|
//<2F><>һ<EFBFBD><D2BB>area <20>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdSetMotorSpeed *pCmd = new CWorkCmdSetMotorSpeed();
|
|
|
|
|
if (gMotionCard_PCI1245->GetCurGpIdx() == 0)
|
|
|
|
|
pCmd->SetbSetMotorX();
|
|
|
|
|
else
|
|
|
|
|
pCmd->SetbSetMotorX2();
|
|
|
|
|
|
|
|
|
|
pCmd->SetbSetMotorY();
|
|
|
|
|
pCmd->SetSpeedType(_SpeedType_Move);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
vector<CMarkArea> &AreaVec = gMarkAreaMgr->GetAreaVec();
|
|
|
|
|
if (AreaVec.empty())
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
Dbxy TargetPt = gLaser->GetCoord();//<2F>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD>ĵ<EFBFBD>
|
|
|
|
|
//<2F>ƶ<EFBFBD>area <20><><EFBFBD>ĵ㵽<C4B5><E3B5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
Dbxy AreaRealBasePt = AreaVec[0].GetRealBasePt();//<2F>ƶ<EFBFBD><C6B6><EFBFBD>ʵ<EFBFBD><CAB5>λ<EFBFBD><CEBB>
|
|
|
|
|
Dbxy MovePt;//<2F>ƶ<EFBFBD><C6B6><EFBFBD>= area <20><><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>
|
|
|
|
|
MovePt.x = AreaRealBasePt.x;
|
|
|
|
|
MovePt.y = AreaRealBasePt.y;
|
|
|
|
|
CWorkCmdMovePlatformXY *pCmd = new CWorkCmdMovePlatformXY();
|
|
|
|
|
pCmd->MoveToTargetPt(MovePt, TargetPt);
|
|
|
|
|
pCmd->InWorkState();
|
|
|
|
|
pCmd->SetAfterDelay(500);//ִ<>к<EFBFBD>ǿ<EFBFBD>Ƶȴ<C6B5>
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CWorkCmdInvoker Invoker;
|
|
|
|
|
Invoker.Excute(CmdContainer);
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƴ<EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD>(ƽ̨<C6BD>ƶ<EFBFBD>,<2C><><EFBFBD><EFBFBD>ƴ<EFBFBD><C6B4>,<2C><><EFBFBD><EFBFBD>Ϊobj <20><><EFBFBD><EFBFBD>) (bSel ==true <20><>ʱ<EFBFBD><CAB1>Ϊѡ<CEAA><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
bool CCommonFlowMgr::MultipleAreaMark(CProduct &Product, bool bSel)
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("Fuc---->MultipleAreaMark : bSel = " + Bool2Str(bSel));
|
|
|
|
|
|
|
|
|
|
//<2F>Ѽ<EFBFBD><D1BC>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>ȽϺķ<CFBA>ʱ<EFBFBD><CAB1>)
|
|
|
|
|
gMarkAreaMgr->CollectWorkData(bSel, Product);
|
|
|
|
|
if (!gMarkAreaMgr->HasWorkData())
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
gProductMgr->WorkTimesInc();
|
|
|
|
|
return true;//ȫ<><C8AB><EFBFBD>ӹ<EFBFBD>һ<EFBFBD>βŷ<CEB2><C5B7><EFBFBD>true
|
|
|
|
|
}
|
|
|
|
|
//ͨ<><CDA8>ƽ̨<C6BD><CCA8>λ<EFBFBD><CEBB><EFBFBD>и<EFBFBD>layer <20>е<EFBFBD>ͼ<EFBFBD><CDBC>(<28><><EFBFBD>ⲻ<EFBFBD><E2B2BB>,ֻ<><D6BB>ƽ̨)
|
|
|
|
|
bool CCommonFlowMgr::CutShapeByPlatform(CProduct &Product, bool bSel)
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("Fuc---->CutShapeByPlatform : bSel = " + Bool2Str(bSel));
|
|
|
|
|
//<2F>Ѽ<EFBFBD><D1BC>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD>----------------------------
|
|
|
|
|
gMarkAreaMgr->CollectWorkData(bSel, Product);
|
|
|
|
|
if (!gMarkAreaMgr->HasWorkData())
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
CWorkCmdInvoker Invoker;
|
|
|
|
|
CWorkCmdContainer &CmdContainer = CWorkCmdContainer::GetInstance();//ָ<>
|
|
|
|
|
CmdContainer.Clear();
|
|
|
|
|
|
|
|
|
|
Dbxy TargetPt = gLaser->GetCoord();//<2F>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD>ĵ<EFBFBD>
|
|
|
|
|
//ʹ<><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();
|
|
|
|
|
vector<vector<Dbxy>>::iterator iter1 = Vec.begin();
|
|
|
|
|
vector<vector<Dbxy>>::iterator iter1_end = Vec.end();
|
|
|
|
|
for (int i = 0;iter1 != iter1_end;i++, iter1++)
|
|
|
|
|
{
|
|
|
|
|
vector<Dbxy>::iterator iter2 = (*iter1).begin();
|
|
|
|
|
vector<Dbxy>::iterator iter2_end = (*iter1).end();
|
|
|
|
|
for (;iter2 != iter2_end;iter2++)
|
|
|
|
|
{
|
|
|
|
|
//<2F>ƶ<EFBFBD>ƽ̨---------------------------------------------
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMovePlatformXY *pCmd = new CWorkCmdMovePlatformXY();
|
|
|
|
|
pCmd->MoveToTargetPt((*iter2), TargetPt);
|
|
|
|
|
if (iter2 != (*iter1).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>
|
|
|
|
|
}
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
if (m_bUseLaser)
|
|
|
|
|
{
|
|
|
|
|
if (iter2 == (*iter1).begin())//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmd *pCmd = new CWorkCmdPciPortSwitch(PCI_PORT_LASER, true);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (m_bUseLaser)//<2F>ؼ<EFBFBD><D8BC><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmd *pCmd = new CWorkCmdPciPortSwitch(PCI_PORT_LASER, false);
|
|
|
|
|
pCmd->CanNotCancel();//<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//ִ<><D6B4>ָ<EFBFBD><D6B8>-----------------------------------------------------
|
|
|
|
|
Invoker.ExcuteAllCmd();
|
|
|
|
|
return !Invoker.IsCancel();
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#if 1
|
|
|
|
|
//CCD ʶ<><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>
|
|
|
|
|
bool CCommonFlowMgr::CameraCatch()
|
|
|
|
|
{
|
|
|
|
|
CCamera &Camera = *m_CurCamera;
|
|
|
|
|
CWorkCmdInvoker Invoker;
|
|
|
|
|
CWorkCmdContainer &CmdContainer = CWorkCmdContainer::GetInstance();//ָ<>
|
|
|
|
|
CmdContainer.Clear();
|
|
|
|
|
|
|
|
|
|
vector<Dbxy> ResultVec;
|
|
|
|
|
//ץȡ--------------------------------------------------------
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdCameraCatch *pCmd = new CWorkCmdCameraCatch(Camera);
|
|
|
|
|
pCmd->SetResultVec(ResultVec);//<2F><EFBFBD><F3B6A8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//ִ<><D6B4>ָ<EFBFBD><D6B8>-----------------------------------------------------
|
|
|
|
|
Invoker.ExcuteAllCmd(false);//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>ִ<EFBFBD><D6B4>
|
|
|
|
|
|
|
|
|
|
if (!ResultVec.empty())
|
|
|
|
|
{
|
|
|
|
|
gMeasureMgr.SetNewPt(ResultVec[0]);//<2F><><EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
//ץȡ<D7A5><C8A1><EFBFBD><EFBFBD>mark <20><>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7>ƫ<EFBFBD>ƺ<EFBFBD><C6BA><EFBFBD>ת(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Product )
|
|
|
|
|
bool CCommonFlowMgr::CameraCatchTwoMark()
|
|
|
|
|
{
|
|
|
|
|
CDeviceState &DeviceState = CDeviceState::GetInstance();
|
|
|
|
|
if (!DeviceState.CheckInitState())
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
bool ret = true;
|
|
|
|
|
vector<CProduct> &ProductVec = gProductMgr->GetProductVec();
|
|
|
|
|
int size = ProductVec.size();
|
|
|
|
|
for (int i = 0;i < size;i++)
|
|
|
|
|
{
|
|
|
|
|
CProduct &Product = ProductVec[i];
|
|
|
|
|
Dbxy MarkPt1;
|
|
|
|
|
Dbxy MarkPt2;
|
|
|
|
|
if (gObjComponentMgr->GetTwoMarkPt(MarkPt1, MarkPt2))//<2F><>ȡ<EFBFBD><C8A1>λ<EFBFBD><CEBB>
|
|
|
|
|
{
|
|
|
|
|
Product.SetTheoryMarkPt(MarkPt1, MarkPt2);//<2F><><EFBFBD>ö<EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
CameraCatchMarkExt(Product);
|
|
|
|
|
}
|
|
|
|
|
else//û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
{
|
|
|
|
|
ret = false;
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ƫ<EFBFBD><C6AB>
|
|
|
|
|
Product.UseDefualtOffset();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
void CCommonFlowMgr::CameraCatchTwoMark(CProduct &Product)
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("CCommonFlowMgr::CameraCatchTwoMark");
|
|
|
|
|
Dbxy MarkPt1;
|
|
|
|
|
Dbxy MarkPt2;
|
|
|
|
|
if (gObjComponentMgr->GetTwoMarkPt(MarkPt1, MarkPt2))//<2F><>ObjComponent <20>л<EFBFBD>ȡ<EFBFBD><C8A1>λ<EFBFBD><CEBB>
|
|
|
|
|
{
|
|
|
|
|
Product.SetTheoryMarkPt(MarkPt1, MarkPt2);//<2F><><EFBFBD>ö<EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
CameraCatchMarkExt(Product);
|
|
|
|
|
}
|
|
|
|
|
else//û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
{
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ƫ<EFBFBD><C6AB>
|
|
|
|
|
Product.UseDefualtOffset();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//ʶ<><CAB6><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>3
|
|
|
|
|
bool CCommonFlowMgr::CameraCatchMark3(CProduct &Product)
|
|
|
|
|
{
|
|
|
|
|
CCamera &Camera = *m_CurCamera;
|
|
|
|
|
gLogMgr->WriteDebugLog("Fuc---->CameraCatchMark3");
|
|
|
|
|
//<2F><>ȡmark <20><><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
Dbxy MarkPt3;
|
|
|
|
|
//<2F>ƶ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>(ccd <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
Dbxy CameraPt = Camera.GetCenterPt();
|
|
|
|
|
|
|
|
|
|
CWorkCmdInvoker Invoker;
|
|
|
|
|
CWorkCmdContainer &CmdContainer = CWorkCmdContainer::GetInstance();//ָ<>
|
|
|
|
|
CmdContainer.Clear();
|
|
|
|
|
//<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6>ٶ<EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdSetMotorSpeed *pCmd = new CWorkCmdSetMotorSpeed();
|
|
|
|
|
if (gMotionCard_PCI1245->GetCurGpIdx() == 0)
|
|
|
|
|
pCmd->SetbSetMotorX();
|
|
|
|
|
else
|
|
|
|
|
pCmd->SetbSetMotorX2();
|
|
|
|
|
pCmd->SetbSetMotorY();
|
|
|
|
|
pCmd->SetSpeedType(_SpeedType_Move);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>mark3 <20><>ʶ<EFBFBD><CAB6>mark3
|
|
|
|
|
Product.SetbHasMarkPt3(false);
|
|
|
|
|
if (gObjComponentMgr->GetMark3Pt(MarkPt3))
|
|
|
|
|
{
|
|
|
|
|
Product.SetbHasMarkPt3(true);
|
|
|
|
|
Product.SetTheoryMark3Pt(MarkPt3);
|
|
|
|
|
//<2F>ƶ<EFBFBD>mark 1 <20><>CCD <20><><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMovePlatformXY *pCmd = new CWorkCmdMovePlatformXY();
|
|
|
|
|
pCmd->MoveToTargetPt(MarkPt3, CameraPt);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F>ȴ<EFBFBD><C8B4>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdWaitMotorStop *pCmd = new CWorkCmdWaitMotorStop();
|
|
|
|
|
if (gMotionCard_PCI1245->GetCurGpIdx() == 0)
|
|
|
|
|
pCmd->SetbWaitMotorX();
|
|
|
|
|
else
|
|
|
|
|
pCmd->SetbWaitMotorX2();
|
|
|
|
|
pCmd->SetbWaitMotorY();
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//ץȡmark <20><>3
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdCameraCatch *pCmd = new CWorkCmdCameraCatch(Camera);
|
|
|
|
|
pCmd->SetFrontDelay(Camera.GetCatchFrontDelay());
|
|
|
|
|
pCmd->SetProduct(Product);
|
|
|
|
|
pCmd->SetbCatchMark3(true);//<2F><>ʶץȡmark3
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//ִ<><D6B4>ָ<EFBFBD><D6B8>-----------------------------------------------------
|
|
|
|
|
Invoker.ExcuteAllCmd(false);//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>ִ<EFBFBD><D6B4>
|
|
|
|
|
if (Invoker.IsCancel())//<2F>жϵ<D0B6>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
Product.ResetRealMarkPt();
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CCommonFlowMgr::MarkAreaByIdx(int AreaIndex)
|
|
|
|
|
{
|
|
|
|
|
vector<CMarkArea> &AreaVec = gMarkAreaMgr->GetAreaVec();
|
|
|
|
|
if (AreaVec.size() == 0)
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("No Mark Data.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
if (AreaVec[AreaIndex].HasWorkData())//ֻ<>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>area
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdInvoker Invoker;
|
|
|
|
|
CWorkCmdContainer &CmdContainer = CWorkCmdContainer::GetInstance();//ָ<>
|
|
|
|
|
CmdContainer.Clear();
|
|
|
|
|
CWorkCmdMarkArea *pCmd = new CWorkCmdMarkArea(AreaVec[AreaIndex]);
|
|
|
|
|
//pCmd->SetbSelMark(bSel);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
Invoker.ExcuteAllCmd();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool CCommonFlowMgr::CameraCatchMarkExt(CProduct &Product)
|
|
|
|
|
{
|
|
|
|
|
CCamera &Camera = *m_CurCamera;
|
|
|
|
|
gLogMgr->WriteDebugLog("Fuc---->CameraCatchTwoMark");
|
|
|
|
|
//<2F><>ȡmark <20><><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>λ<EFBFBD><CEBB>
|
|
|
|
|
Dbxy MarkPt1, MarkPt2, MarkPt3;
|
|
|
|
|
Product.GetMarkCoord(MarkPt1, MarkPt2);
|
|
|
|
|
//<2F>ƶ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>(ccd <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|
|
|
|
Dbxy CameraPt = Camera.GetCenterPt();
|
|
|
|
|
|
|
|
|
|
CWorkCmdInvoker Invoker;
|
|
|
|
|
CWorkCmdContainer &CmdContainer = CWorkCmdContainer::GetInstance();//ָ<>
|
|
|
|
|
CmdContainer.Clear();
|
|
|
|
|
//<2F><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6>ٶ<EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdSetMotorSpeed *pCmd = new CWorkCmdSetMotorSpeed();
|
|
|
|
|
if (gMotionCard_PCI1245->GetCurGpIdx() == 0)
|
|
|
|
|
pCmd->SetbSetMotorX();
|
|
|
|
|
else
|
|
|
|
|
pCmd->SetbSetMotorX2();
|
|
|
|
|
pCmd->SetbSetMotorY();
|
|
|
|
|
pCmd->SetSpeedType(_SpeedType_Move);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//ʶ<><CAB6>mark1 <20><>mark2
|
|
|
|
|
if (!Product.IsSetRealMarkPt1() || (Product.IsSetRealMarkPt1() && Product.IsSetRealMarkPt2()))
|
|
|
|
|
{
|
|
|
|
|
//<2F>ƶ<EFBFBD>mark 1 <20><>CCD <20><><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMovePlatformXY *pCmd = new CWorkCmdMovePlatformXY();
|
|
|
|
|
pCmd->MoveToTargetPt(MarkPt1, CameraPt);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F>ȴ<EFBFBD><C8B4>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdWaitMotorStop *pCmd = new CWorkCmdWaitMotorStop();
|
|
|
|
|
if (gMotionCard_PCI1245->GetCurGpIdx() == 0)
|
|
|
|
|
pCmd->SetbWaitMotorX();
|
|
|
|
|
else
|
|
|
|
|
pCmd->SetbWaitMotorX2();
|
|
|
|
|
pCmd->SetbWaitMotorY();
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//ץȡmark <20><>1
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdCameraCatch *pCmd = new CWorkCmdCameraCatch(Camera);
|
|
|
|
|
pCmd->SetFrontDelay(Camera.GetCatchFrontDelay());
|
|
|
|
|
pCmd->SetProduct(Product);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
//<2F>ƶ<EFBFBD>mark 2 <20><>CCD <20><><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMovePlatformXY *pCmd = new CWorkCmdMovePlatformXY();
|
|
|
|
|
pCmd->MoveToTargetPt(MarkPt2, CameraPt);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//<2F>ȴ<EFBFBD><C8B4>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdWaitMotorStop *pCmd = new CWorkCmdWaitMotorStop();
|
|
|
|
|
if (gMotionCard_PCI1245->GetCurGpIdx() == 0)
|
|
|
|
|
pCmd->SetbWaitMotorX();
|
|
|
|
|
else
|
|
|
|
|
pCmd->SetbWaitMotorX2();
|
|
|
|
|
pCmd->SetbWaitMotorY();
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//ץȡmark <20><>2
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdCameraCatch *pCmd = new CWorkCmdCameraCatch(Camera);
|
|
|
|
|
pCmd->SetProduct(Product);
|
|
|
|
|
pCmd->SetFrontDelay(Camera.GetCatchFrontDelay());
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//ִ<><D6B4>ָ<EFBFBD><D6B8>-----------------------------------------------------
|
|
|
|
|
Invoker.ExcuteAllCmd(false);//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>ִ<EFBFBD><D6B4>
|
|
|
|
|
if (Invoker.IsCancel())//<2F>жϵ<D0B6>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
{
|
|
|
|
|
Product.ResetRealMarkPt();
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*<2A><><EFBFBD><EFBFBD>У<D0A3>õ<EFBFBD>vision.data
|
|
|
|
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>marking_pci <EFBFBD><EFBFBD><EFBFBD>ܲ<EFBFBD><EFBFBD><EFBFBD>ʱʹ<EFBFBD><EFBFBD>
|
|
|
|
|
1.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>marking_pci <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD>
|
|
|
|
|
2.<EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD><EFBFBD>½<EFBFBD>)
|
|
|
|
|
3.<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵõ<EFBFBD>vision.dat
|
|
|
|
|
4.<EFBFBD><EFBFBD><EFBFBD><EFBFBD>marking_pci ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>ļ<EFBFBD>
|
|
|
|
|
*/
|
|
|
|
|
bool CCommonFlowMgr::AutoMeasureVisionData()
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("func---->AutoMeasureVisionData");
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
vector<Dbxy> PtVec;
|
|
|
|
|
Dbxy CurPlatCoord = gPlatformXY->GetCoord();//<2F><>ǰƽ̨<C6BD><CCA8><EFBFBD><EFBFBD>
|
|
|
|
|
int PtCnt = m_CalibrationRange / m_CalibrationPointGap + 1;//һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
CString LogStr;
|
|
|
|
|
LogStr.Format(_T("[<5B><EFBFBD>Χ] = [%f] ,[<5B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] = [%f]"), m_CalibrationRange, m_CalibrationPointGap);
|
|
|
|
|
gLogMgr->WriteDebugLog(LogStr);
|
|
|
|
|
LogStr.Format(_T("[<5B><><EFBFBD><EFBFBD>] = [%d]"), PtCnt*PtCnt);
|
|
|
|
|
gLogMgr->WriteDebugLog(LogStr);
|
|
|
|
|
|
|
|
|
|
for (int i = 0;i < PtCnt;i++)//<2F><>
|
|
|
|
|
{
|
|
|
|
|
for (int k = 0;k < PtCnt;k++)//<2F><>
|
|
|
|
|
{
|
|
|
|
|
Dbxy pt;
|
|
|
|
|
pt.x = CurPlatCoord.x - m_CalibrationPointGap*k;
|
|
|
|
|
pt.y = CurPlatCoord.y - m_CalibrationPointGap*i;
|
|
|
|
|
PtVec.push_back(pt);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ƽ̨<C6BD>۲<EFBFBD>-----------------------------------
|
|
|
|
|
vector<Dbxy> ResultVec;//<2F><><EFBFBD><EFBFBD>
|
|
|
|
|
MovePtToCamera(PtVec, ResultVec, true);
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>vision.dat <20>ļ<EFBFBD>-----------------------------
|
|
|
|
|
if (!ResultVec.empty())
|
|
|
|
|
{
|
|
|
|
|
CString FilePath;
|
|
|
|
|
CFileMgr FileMgr;
|
|
|
|
|
FileMgr.GetFullFilePath(FilePath, "\\vision_data.dat");
|
|
|
|
|
|
|
|
|
|
ofstream file;
|
|
|
|
|
file.open(FilePath);
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>
|
|
|
|
|
file << m_CalibrationRange << "," << m_CalibrationRange << "," << m_CalibrationPointGap << "," << m_CalibrationPointGap << endl;
|
|
|
|
|
FileMgr.WriteDbxyVecToFile(ResultVec, &file);
|
|
|
|
|
file.close();
|
|
|
|
|
//<2F><><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼
|
|
|
|
|
CString DestPath = "C:\\Program Files\\Laipu Soft\\Marking System\\vision_data.dat";
|
|
|
|
|
if (!CopyFile(FilePath, DestPath, false))
|
|
|
|
|
{
|
|
|
|
|
AfxMessageBox("<EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>vision_data.dat<61><74><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼ʧ<C2BC><CAA7>!\r\n<EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!");
|
|
|
|
|
}
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ƽ̨<C6BD><CCA8>һϵ<D2BB><CFB5><EFBFBD><EFBFBD><EFBFBD>꣬ResultVec<65><63><EFBFBD><EFBFBD>ץȡ<D7A5>Ľ<EFBFBD><C4BD><EFBFBD>
|
|
|
|
|
void CCommonFlowMgr::MovePtToCamera(vector<Dbxy> &PtVec, vector<Dbxy> &ResultVec, bool bCatch)
|
|
|
|
|
{
|
|
|
|
|
CCamera &Camera = *m_CurCamera;
|
|
|
|
|
|
|
|
|
|
CWorkCmdInvoker Invoker;
|
|
|
|
|
CWorkCmdContainer &CmdContainer = CWorkCmdContainer::GetInstance();//ָ<>
|
|
|
|
|
CmdContainer.Clear();
|
|
|
|
|
|
|
|
|
|
vector<Dbxy>::iterator iter = PtVec.begin();
|
|
|
|
|
vector<Dbxy>::iterator iter_end = PtVec.end();
|
|
|
|
|
for (;iter != iter_end;iter++)
|
|
|
|
|
{
|
|
|
|
|
//<2F>ƶ<EFBFBD>ƽ̨-------------------------------------------------
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMovePlatformXY *pCmd = new CWorkCmdMovePlatformXY();
|
|
|
|
|
pCmd->MoveToTargetPt(Dbxy(0, 0), (*iter));
|
|
|
|
|
pCmd->InWorkState();//<2F><><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|
|
|
|
pCmd->SetAfterDelay(300);//<2F>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>ʱ
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//ץȡ--------------------------------------------------------
|
|
|
|
|
if (bCatch)
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdCameraCatch *pCmd = new CWorkCmdCameraCatch(Camera);
|
|
|
|
|
pCmd->SetResultVec(ResultVec);//<2F><EFBFBD><F3B6A8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
pCmd->SetFrontDelay(Camera.GetCatchFrontDelay());//ץȡǰ<C8A1><C7B0>ʱ
|
|
|
|
|
pCmd->SetAfterDelay(300);//<2F>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>ʱ
|
|
|
|
|
pCmd->SetbAlam(false);//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//ִ<><D6B4>ָ<EFBFBD><D6B8>-----------------------------------------------------
|
|
|
|
|
Invoker.ExcuteAllCmd(true);//<2F><><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>ִ<EFBFBD><D6B4>
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
//<2F>ƶ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>㵽ccd <20><><EFBFBD><EFBFBD>
|
|
|
|
|
void CCommonFlowMgr::MovePtToCamera(Dbxy pt)
|
|
|
|
|
{
|
|
|
|
|
CCamera &Camera = *m_CurCamera;
|
|
|
|
|
CWorkCmdInvoker Invoker;
|
|
|
|
|
CWorkCmdContainer &CmdContainer = CWorkCmdContainer::GetInstance();//ָ<>
|
|
|
|
|
CmdContainer.Clear();
|
|
|
|
|
//<2F>ƶ<EFBFBD>ƽ̨-------------------------------------------------
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdMovePlatformXY *pCmd = new CWorkCmdMovePlatformXY();
|
|
|
|
|
pCmd->MoveToTargetPt(Camera.GetCenterPt(), pt);
|
|
|
|
|
pCmd->InWorkState();//<2F><><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//ץȡ--------------------------------------------------------
|
|
|
|
|
{
|
|
|
|
|
CWorkCmdCameraCatch *pCmd = new CWorkCmdCameraCatch(Camera);
|
|
|
|
|
CmdContainer.AddCmd(pCmd);
|
|
|
|
|
}
|
|
|
|
|
//ִ<><D6B4>ָ<EFBFBD><D6B8>-----------------------------------------------------
|
|
|
|
|
Invoker.ExcuteAllCmd(false);
|
|
|
|
|
}
|
|
|
|
|
//<2F>ƶ<EFBFBD>һ<EFBFBD><D2BB>obj <20><>CCD <20>۲<EFBFBD>(<28>۲<EFBFBD><DBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>obj <20><><EFBFBD><EFBFBD>Ϊ<EFBFBD>ѹ۲<D1B9>)
|
|
|
|
|
void CCommonFlowMgr::MoveSelObjToCamera(CProduct &Product)
|
|
|
|
|
{
|
|
|
|
|
gLogMgr->WriteDebugLog("Fuc---->MoveSelObjToCamera");
|
|
|
|
|
CCamera &Camera = *m_CurCamera;
|
|
|
|
|
|
|
|
|
|
bool flg = false;
|
|
|
|
|
vector<CObjComponent>&ComponentVec = gObjComponentMgr->GetComponentVec();
|
|
|
|
|
vector<CObjComponent>::iterator iter = ComponentVec.begin();
|
|
|
|
|
vector<CObjComponent>::iterator iter_end = ComponentVec.end();
|
|
|
|
|
for (;iter != iter_end;iter++)
|
|
|
|
|
{
|
|
|
|
|
if ((*iter).IsSelected())
|
|
|
|
|
{
|
|
|
|
|
Dbxy pt = (*iter).GetBasePt();
|
|
|
|
|
pt = Product.TheoryPtToRealPt(pt);//<2F><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>λ<EFBFBD><CEBB>
|
|
|
|
|
MovePtToCamera(pt);//<2F>ƶ<EFBFBD><C6B6>۲<EFBFBD>
|
|
|
|
|
(*iter).SetSelected(false);
|
|
|
|
|
flg = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (flg)
|
|
|
|
|
GetCurViewPtr()->RefreshView();
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
void CCommonFlowMgr::SetAdjustOffsetAll(Dbxy Offset)
|
|
|
|
|
{
|
|
|
|
|
auto JigOft = m_Jig2PrtOft;
|
|
|
|
|
if (gServer->m_RcvCurTrackIndex != 0)
|
|
|
|
|
JigOft = m_Jig4PrtOft;
|
|
|
|
|
m_AdjustOffsetAll= Offset + JigOft;
|
|
|
|
|
}
|
|
|
|
|
void CCommonFlowMgr::ResetProductOffset()
|
|
|
|
|
{
|
|
|
|
|
m_Jig2PrtOft.x = m_Jig2PrtOft.y = 0;
|
|
|
|
|
}
|