治具2&4在界面设置偏移调整

master
bestlqiang 4 years ago
parent ad734ac4fe
commit a8137f3d21

@ -672,8 +672,8 @@ void CCommonFlowMgr::WriteWorkFileExt(vector<CLab> &LabVec)
LabVec.push_back(CLab(LAB_SPECIAL_ONE_OBJ_CUT_TIMES, m_SpecialOneObjMarkCnt)); 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_AREA_CUT_TIMES, m_AreaCycleCnt));
LabVec.push_back(CLab(LAB_ONE_CUT_SPEED, m_CutSpeed)); LabVec.push_back(CLab(LAB_ONE_CUT_SPEED, m_CutSpeed));
LabVec.push_back(CLab(LAB_ADJUST_OFFSET_X,m_ProductOffset.x)); LabVec.push_back(CLab(LAB_ADJUST_OFFSET_X, m_Jig2PrtOft.x));
LabVec.push_back(CLab(LAB_ADJUST_OFFSET_Y,m_ProductOffset.y)); LabVec.push_back(CLab(LAB_ADJUST_OFFSET_Y, m_Jig2PrtOft.y));
} }
void CCommonFlowMgr::ReadWorkFile(CLabVecRang &LabVecRang) void CCommonFlowMgr::ReadWorkFile(CLabVecRang &LabVecRang)
{ {
@ -710,14 +710,14 @@ void CCommonFlowMgr::ReadWorkFile(CLabVecRang &LabVecRang)
CLab Lab = WorkFileMgr.FindLab(LabVecRang, LAB_ADJUST_OFFSET_X); CLab Lab = WorkFileMgr.FindLab(LabVecRang, LAB_ADJUST_OFFSET_X);
if (Lab.m_ValType != _TYPE_NULL) if (Lab.m_ValType != _TYPE_NULL)
{ {
m_ProductOffset.x = Lab.m_Double; m_Jig2PrtOft.x = Lab.m_Double;
} }
} }
{ {
CLab Lab = WorkFileMgr.FindLab(LabVecRang, LAB_ADJUST_OFFSET_Y); CLab Lab = WorkFileMgr.FindLab(LabVecRang, LAB_ADJUST_OFFSET_Y);
if (Lab.m_ValType != _TYPE_NULL) if (Lab.m_ValType != _TYPE_NULL)
{ {
m_ProductOffset.y = Lab.m_Double; m_Jig2PrtOft.y = Lab.m_Double;
} }
} }
} }
@ -1007,6 +1007,7 @@ bool CCommonFlowMgr::NormalMarkByPciCard(bool bSel,int times,int CyclicTimes)
gLogMgr->WriteDebugLog("Fuc---->NormalMarkByPciCard : bSel = " + Bool2Str(bSel)); gLogMgr->WriteDebugLog("Fuc---->NormalMarkByPciCard : bSel = " + Bool2Str(bSel));
//临时Product //临时Product
CProduct Product; CProduct Product;
Product.m_bManualMark = true;
//创建一个临时的area //创建一个临时的area
CMarkArea MarkArea(Dbxy(0, 0), DbSize(100, 100)); CMarkArea MarkArea(Dbxy(0, 0), DbSize(100, 100));
//收集加工数据 //收集加工数据
@ -1532,11 +1533,12 @@ void CCommonFlowMgr::MoveSelObjToCamera(CProduct &Product)
#endif #endif
void CCommonFlowMgr::SetAdjustOffsetAll(Dbxy Offset) void CCommonFlowMgr::SetAdjustOffsetAll(Dbxy Offset)
{ {
m_AdjustOffsetAll.x = Offset.x + m_ProductOffset.x; auto JigOft = m_Jig2PrtOft;
m_AdjustOffsetAll.y = Offset.y + m_ProductOffset.y; if (gServer->m_RcvCurTrackIndex != 0)
JigOft = m_Jig4PrtOft;
m_AdjustOffsetAll= Offset + JigOft;
} }
void CCommonFlowMgr::ResetProductOffset() void CCommonFlowMgr::ResetProductOffset()
{ {
m_ProductOffset.x = m_ProductOffset.y = 0; m_Jig2PrtOft.x = m_Jig2PrtOft.y = 0;
} }

@ -96,7 +96,9 @@ private:
int m_SpecialOneObjMarkCnt;//特殊刀增加的切割次数 int m_SpecialOneObjMarkCnt;//特殊刀增加的切割次数
bool m_bCollectSpecialObj;//是否正在收集特殊对象数据 bool m_bCollectSpecialObj;//是否正在收集特殊对象数据
int m_CutSpeed;//切割速度 int m_CutSpeed;//切割速度
Dbxy m_ProductOffset;//针对产品的切割偏移
Dbxy m_Jig2PrtOft;//针对产品&治具的切割偏移(主界面调整)
Dbxy m_Jig4PrtOft;//针对产品&治具的切割偏移(主界面调整)
bool m_bConnectObj;//是否连接多个obj 数据 bool m_bConnectObj;//是否连接多个obj 数据

@ -22,6 +22,7 @@
#include "DlgAuthorityMgr.h" #include "DlgAuthorityMgr.h"
#include "DlgAdjustObjPos.h" #include "DlgAdjustObjPos.h"
#include "ServerMgr.h" #include "ServerMgr.h"
#include "SmartArchive.h"
IMPLEMENT_DYNAMIC(CDlgSW_XL_Flow, CDialogEx) IMPLEMENT_DYNAMIC(CDlgSW_XL_Flow, CDialogEx)
BEGIN_MESSAGE_MAP(CDlgSW_XL_Flow, CDialogEx) BEGIN_MESSAGE_MAP(CDlgSW_XL_Flow, CDialogEx)
ON_WM_TIMER() ON_WM_TIMER()
@ -126,8 +127,11 @@ void CDlgSW_XL_Flow::DoDataExchange(CDataExchange* pDX)
DDX_Text(pDX, IDC_CUT_CNT, m_OneObjMarkCnt); DDX_Text(pDX, IDC_CUT_CNT, m_OneObjMarkCnt);
DDX_Text(pDX, IDC_SPECIAL_CUT_CNT, m_SpecialOneObjMarkCnt); DDX_Text(pDX, IDC_SPECIAL_CUT_CNT, m_SpecialOneObjMarkCnt);
DDX_Text(pDX, IDC_AREA_CUT_CNT, m_MarkAreaCutCount); DDX_Text(pDX, IDC_AREA_CUT_CNT, m_MarkAreaCutCount);
DDX_Text(pDX, IDC_CUT_OFFSET_X, m_ProductOffset.x); DDX_Text(pDX, IDC_CUT_OFFSET_X, m_Jig2PrtOft_x);
DDX_Text(pDX, IDC_CUT_OFFSET_Y, m_ProductOffset.y); DDX_Text(pDX, IDC_CUT_OFFSET_Y, m_Jig2PrtOft_y);
DDX_Text(pDX, IDC_CUT_OFFSET_X2, m_Jig4PrtOft_x);
DDX_Text(pDX, IDC_CUT_OFFSET_Y2, m_Jig4PrtOft_y);
} }
#include "DxfReadMgr.h" #include "DxfReadMgr.h"
LRESULT CDlgSW_XL_Flow::OnOpenFile(WPARAM wParam, LPARAM lParam) LRESULT CDlgSW_XL_Flow::OnOpenFile(WPARAM wParam, LPARAM lParam)
@ -468,7 +472,30 @@ void CDlgSW_XL_Flow::UpdateCutPar()
m_OneObjMarkCnt = gCommonFlowMgr->m_OneObjMarkCnt;//切割次数 m_OneObjMarkCnt = gCommonFlowMgr->m_OneObjMarkCnt;//切割次数
m_SpecialOneObjMarkCnt = gCommonFlowMgr->m_SpecialOneObjMarkCnt;//切割次数 m_SpecialOneObjMarkCnt = gCommonFlowMgr->m_SpecialOneObjMarkCnt;//切割次数
m_MarkAreaCutCount = gCommonFlowMgr->GetAreaCycleCnt();//循环次数 m_MarkAreaCutCount = gCommonFlowMgr->GetAreaCycleCnt();//循环次数
m_ProductOffset = gCommonFlowMgr->m_ProductOffset;//针对产品的切割偏移
m_Jig2PrtOft_x = gCommonFlowMgr->m_Jig2PrtOft.x;//针对产品的切割偏移
m_Jig2PrtOft_x = gCommonFlowMgr->m_Jig2PrtOft.x;//针对产品的切割偏移
m_Jig2PrtOft_x = gCommonFlowMgr->m_Jig4PrtOft.x;//针对产品的切割偏移
m_Jig2PrtOft_x = gCommonFlowMgr->m_Jig4PrtOft.x;//针对产品的切割偏移
{
CString path;
gProgram_SZ_XL->GetDxfParFilePath("pjo", path);
CSmartArchive ar(path, false);
ar + m_Jig2PrtOft_x;
ar + m_Jig2PrtOft_y;
ar + m_Jig4PrtOft_x;
ar + m_Jig4PrtOft_y;
gCommonFlowMgr->m_Jig2PrtOft.x= m_Jig2PrtOft_x;//针对产品的切割偏移
gCommonFlowMgr->m_Jig2PrtOft.x = m_Jig2PrtOft_y;//针对产品的切割偏移
gCommonFlowMgr->m_Jig4PrtOft.x = m_Jig4PrtOft_x;//针对产品的切割偏移
gCommonFlowMgr->m_Jig4PrtOft.x = m_Jig4PrtOft_y;//针对产品的切割偏移
}
UpdateData(FALSE); UpdateData(FALSE);
} }
@ -484,8 +511,22 @@ void CDlgSW_XL_Flow::OnBnClickedSavePar()
gCommonFlowMgr->m_OneObjMarkCnt = m_OneObjMarkCnt;//切割次数 gCommonFlowMgr->m_OneObjMarkCnt = m_OneObjMarkCnt;//切割次数
gCommonFlowMgr->m_SpecialOneObjMarkCnt = m_SpecialOneObjMarkCnt;//切割次数 gCommonFlowMgr->m_SpecialOneObjMarkCnt = m_SpecialOneObjMarkCnt;//切割次数
gCommonFlowMgr->m_AreaCycleCnt = (m_MarkAreaCutCount);//区域循环次数 gCommonFlowMgr->m_AreaCycleCnt = (m_MarkAreaCutCount);//区域循环次数
gCommonFlowMgr->m_ProductOffset = m_ProductOffset;//针对产品的切割偏移
gCommonFlowMgr->m_Jig2PrtOft.x = m_Jig2PrtOft_x;//针对产品的切割偏移
gCommonFlowMgr->m_Jig2PrtOft.y = m_Jig2PrtOft_y;//针对产品的切割偏移
gCommonFlowMgr->m_Jig4PrtOft.x = m_Jig4PrtOft_x;//针对产品的切割偏移
gCommonFlowMgr->m_Jig4PrtOft.y = m_Jig4PrtOft_y;//针对产品的切割偏移
{
CString path;
gProgram_SZ_XL->GetDxfParFilePath("pjo", path);
CSmartArchive ar(path, true);
ar + m_Jig2PrtOft_x;
ar + m_Jig2PrtOft_y;
ar + m_Jig4PrtOft_x;
ar + m_Jig4PrtOft_y;
}
//保存dxf 对应的切割参数 //保存dxf 对应的切割参数
gProgram_SZ_XL->SaveCutPar(); gProgram_SZ_XL->SaveCutPar();

@ -65,7 +65,13 @@ private:
int m_MarkAreaCutCount;//区域循环切割次数 int m_MarkAreaCutCount;//区域循环切割次数
int m_OneObjMarkCnt;//切割次数 int m_OneObjMarkCnt;//切割次数
int m_SpecialOneObjMarkCnt;//特殊切割次数 int m_SpecialOneObjMarkCnt;//特殊切割次数
Dbxy m_ProductOffset;//针对产品的切割偏移 //Dbxy m_ProductOffset;//针对产品的切割偏移
double m_Jig2PrtOft_x=0;//针对产品&治具的切割偏移
double m_Jig2PrtOft_y=0;//针对产品&治具的切割偏移
double m_Jig4PrtOft_x=0;//针对产品&治具的切割偏移
double m_Jig4PrtOft_y=0;//针对产品&治具的切割偏移
public: public:

Binary file not shown.

@ -455,7 +455,8 @@ void CProduct::TheoryDataToRealData(vector<Dbxy> &vec, Dbxy &AreaCenter, Dbxy Cu
auto temp = AreaCenter;//-DataCenter; auto temp = AreaCenter;//-DataCenter;
(*iter) = (*iter) - temp; (*iter) = (*iter) - temp;
//Õñ¾µËõ·Å if (!m_bManualMark)
{//Õñ¾µËõ·Å
Dbxy Scale = gProgram_SZ_XL->GetJig2Scale(); Dbxy Scale = gProgram_SZ_XL->GetJig2Scale();
if (gServer->m_RcvCurTrackIndex == 1) if (gServer->m_RcvCurTrackIndex == 1)
{ {
@ -467,6 +468,8 @@ void CProduct::TheoryDataToRealData(vector<Dbxy> &vec, Dbxy &AreaCenter, Dbxy Cu
//Æ«ÒƵ÷Õû //Æ«ÒƵ÷Õû
(*iter).x += CutAdjust.x; (*iter).x += CutAdjust.x;
(*iter).y += CutAdjust.y; (*iter).y += CutAdjust.y;
}
} }

@ -92,6 +92,8 @@ public:
float m_p10=0; float m_p10=0;
float m_p11=1; float m_p11=1;
float m_p12=0; float m_p12=0;
bool m_bManualMark = false;
//强制(微调)旋转角度的仿射参数(应对平台不垂直)------------------------------------ //强制(微调)旋转角度的仿射参数(应对平台不垂直)------------------------------------
float m_rp00 = 1; float m_rp00 = 1;
float m_rp01 = 0; float m_rp01 = 0;

@ -47,8 +47,8 @@ public:
bool IsbCheckUnloadState(){return m_bCheckUnloadState;}; bool IsbCheckUnloadState(){return m_bCheckUnloadState;};
void SetCurMarkingTrack(ETrackType t){m_CurMarkingTrack = t;}; void SetCurMarkingTrack(ETrackType t){m_CurMarkingTrack = t;};
ETrackType GetCurMarkingTrack(){return m_CurMarkingTrack;}; ETrackType GetCurMarkingTrack(){return m_CurMarkingTrack;};
private:
bool GetDxfParFilePath(CString Suffix,CString &FilePath); bool GetDxfParFilePath(CString Suffix,CString &FilePath);
private:
void ReadLoadPlcMsgExt(); void ReadLoadPlcMsgExt();
void InitLoadDeviceCom(); void InitLoadDeviceCom();
void ResetLoadUnloadSignal(); void ResetLoadUnloadSignal();

Binary file not shown.
Loading…
Cancel
Save