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

master
bestlqiang 4 years ago
parent ad734ac4fe
commit a8137f3d21

File diff suppressed because it is too large Load Diff

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

@ -22,6 +22,7 @@
#include "DlgAuthorityMgr.h"
#include "DlgAdjustObjPos.h"
#include "ServerMgr.h"
#include "SmartArchive.h"
IMPLEMENT_DYNAMIC(CDlgSW_XL_Flow, CDialogEx)
BEGIN_MESSAGE_MAP(CDlgSW_XL_Flow, CDialogEx)
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_SPECIAL_CUT_CNT, m_SpecialOneObjMarkCnt);
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_Y, m_ProductOffset.y);
DDX_Text(pDX, IDC_CUT_OFFSET_X, m_Jig2PrtOft_x);
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"
LRESULT CDlgSW_XL_Flow::OnOpenFile(WPARAM wParam, LPARAM lParam)
@ -468,7 +472,30 @@ void CDlgSW_XL_Flow::UpdateCutPar()
m_OneObjMarkCnt = gCommonFlowMgr->m_OneObjMarkCnt;//切割次数
m_SpecialOneObjMarkCnt = gCommonFlowMgr->m_SpecialOneObjMarkCnt;//切割次数
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);
}
@ -484,8 +511,22 @@ void CDlgSW_XL_Flow::OnBnClickedSavePar()
gCommonFlowMgr->m_OneObjMarkCnt = m_OneObjMarkCnt;//切割次数
gCommonFlowMgr->m_SpecialOneObjMarkCnt = m_SpecialOneObjMarkCnt;//切割次数
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 对应的切割参数
gProgram_SZ_XL->SaveCutPar();

@ -65,7 +65,13 @@ private:
int m_MarkAreaCutCount;//区域循环切割次数
int m_OneObjMarkCnt;//切割次数
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:

Binary file not shown.

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

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

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

Binary file not shown.
Loading…
Cancel
Save