📄 parastruct.h
字号:
# ifndef ___PARAMETER_STRUCT_H___
# define ___PARAMETER_STRUCT_H___
# define MAX_AXIS 4
class ParaStruct
{
public:
ParaStruct()
{
InitPara();
}
void InitPara()
{
for (int i=0; i<MAX_AXIS; i++)
{
AxisNo[i]=TRUE;
SpeedTimes[i]=1;
WormDistance[i]=10;
Pulse[i]=1600;
BackDir[i]=1;
RunDir[i]=0;
BackStartV[i]=5;
RunStartV[i]=5;
HandStartV[i]=5;
EmptyStartV[i]=5;
BackSpeed[i]=5;
RunSpeed[i]=5;
HandSpeed[i]=5;
EmptySpeed[i]=5;
BackAddTime[i]=0;
RunAddTime[i]=0;
HandAddTime[i]=0;
EmptyAddTime[i]=0;
RunMode[i]=TRUE;
OriginMode[i]=TRUE;
CoderZ[i]=FALSE;
IfSoftLmt[i]=FALSE;
SoftDistance1[i]=1000;
SoftDistance2[i]=0;
m_fStep[i]=0.5;
}
m_fPltUnitX =40.0;
m_fPltUnitY = 40.0;
m_fDxfUnit = 1.0;
m_bAutoSort=FALSE;
}
BOOL SaveToFile(char *ptr)
{
FILE *fp;
if ( ptr!=NULL)
{
TRY
{
fp = fopen(ptr,"wb");
fwrite(this,sizeof(ParaStruct),1,fp);
fclose(fp);
return TRUE;
}
CATCH(CFileException, pe)
{
AfxMessageBox("保存参数失败!",MB_OK);
return FALSE;
}
END_CATCH
}
AfxMessageBox("保存参数失败!",MB_OK);
return FALSE;
}
BOOL LoadFromFile(char *ptr)
{
FILE *fp;
if ( ptr!=NULL)
{
fp = fopen(ptr,"rb");
if ( fp == NULL )
{
return FALSE;
}
TRY
{
fread(this,sizeof(ParaStruct),1,fp);
fclose(fp);
return TRUE;
}
CATCH(CFileException, pe)
{
return FALSE;
}
END_CATCH
}
return FALSE;
}
BOOL AxisNo[MAX_AXIS]; //应用轴数
int SpeedTimes[MAX_AXIS];//倍率
float WormDistance[MAX_AXIS];//螺距
long Pulse[MAX_AXIS]; //每转脉冲
int BackDir[MAX_AXIS];
int RunDir[MAX_AXIS];
float BackStartV[MAX_AXIS];//回零起速
float RunStartV[MAX_AXIS];//加工起速
float HandStartV[MAX_AXIS];//手动起速
float EmptyStartV[MAX_AXIS];//空移起速
float BackSpeed[MAX_AXIS];
float RunSpeed[MAX_AXIS];
float HandSpeed[MAX_AXIS];
float EmptySpeed[MAX_AXIS];
float BackAddTime[MAX_AXIS];
float RunAddTime[MAX_AXIS];
float HandAddTime[MAX_AXIS];
float EmptyAddTime[MAX_AXIS];
BOOL RunMode[MAX_AXIS]; //是否为直线
BOOL OriginMode[MAX_AXIS];//是否为原点信号
BOOL CoderZ[MAX_AXIS];
BOOL IfSoftLmt[MAX_AXIS];
float SoftDistance1[MAX_AXIS];
float SoftDistance2[MAX_AXIS];
//代码解析参数
float m_fPltUnitX; //用CORLdraw作图为(4,5)
float m_fPltUnitY;
float m_fDxfUnit;//DXF分析精度
BOOL m_bAutoSort;//自动优
float m_fStep[MAX_AXIS]; //手动步距
};
/*
class CDataPoint
{
public:
CDataPoint()
{
number = 0;
x=y=z = 0.0f;
color = RGB(255,255,255);
SP = 0;//默认为0
m_bSel=0;//默认均为未选中。
speed = 10.0f;
}
int number;
double x,y,z; //位置
COLORREF color; //COLOR is 强度
int SP; //获取的SP值
int m_bSel;
float speed;
};
class CMarkArray:public CObject
{
DECLARE_SERIAL(CMarkArray)
public:
int GetEnd(double &x,double &y);
int GetHome(double &x,double &y);
virtual void Serialize(CArchive &ar);
void RateArray(double anglex,double angley);
CArray<CDataPoint,CDataPoint&>m_DataArray;
CArray<CDataPoint,CDataPoint&>m_CopyArray;
CMarkArray();
int SetStart(CLine &pline);
~CMarkArray();
void OnDraw( CDC *pDC,CPoint start=CPoint(0,0)); //传入画布,重绘所有属性点
// 注意旋转角及比例的影响
// double m_bCenterX,m_bCenterY; //中心点位置
Position m_posStart ;
BOOL m_bIsStart ;
BOOL m_bIsSortData;
BOOL WorkDir;
int WorkSort;
int m_nCommand ;
BOOL m_bSelected;
};
*/
# endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -