增加CNC的文件保存和打开。

This commit is contained in:
TAO Cheng
2013-08-08 09:33:19 +08:00
parent 5a8e27e70d
commit a7ccbac4d6
11 changed files with 303 additions and 46 deletions
@@ -1,4 +1,6 @@
#pragma once
#define MAX_BUFF_SIZE 0x200
enum EEntityType
{
etUnknow = 0,
@@ -19,9 +19,9 @@ public:
virtual int get_type() = 0;
virtual void SaveCmd(CString _filename,int _savetype=0) = 0;
virtual void SaveCmd(FILE* _filestream,int _savetype=0) = 0;
virtual void ReadCmd(CString _filename,int _savetype=0) = 0;
virtual void ReadCmd(FILE* _filestream,int _savetype=0) = 0;
virtual void GetPoint(int type_of_point,
int theo_or_meas,
@@ -89,14 +89,86 @@ void CSo7_CNC_Point::PutPoint(int type_of_point,int theo_or_meas,int coord_sys,C
}
//===================================================
void CSo7_CNC_Point::SaveCmd(CString _filename,int _savetype)
void CSo7_CNC_Point::SaveCmd(FILE* _filestream,int _savetype)
{
UNREFERENCED_PARAMETER(_filename);
m_TotalLines=8;
UNREFERENCED_PARAMETER(_savetype);
fprintf(_filestream,"[etPoint]\n");
fprintf(_filestream,"ENTITYTYPE=%d\n", etPoint);
fprintf(_filestream,"TOTALLINES=%d\n", m_TotalLines);
fprintf(_filestream,"ID=%d\n", m_ID);
fprintf(_filestream,"POSX=%9.6f\n",m_Pos.x);
fprintf(_filestream,"POSY=%9.6f\n",m_Pos.y);
fprintf(_filestream,"POSZ=%9.6f\n",m_Pos.z);
fprintf(_filestream,";\n");
}
//===================================================
void CSo7_CNC_Point::ReadCmd(CString _filename,int _savetype)
void CSo7_CNC_Point::ReadCmd(FILE* _filestream,int _savetype)
{
UNREFERENCED_PARAMETER(_filename);
UNREFERENCED_PARAMETER(_savetype);
char szLine[MAX_BUFF_SIZE];
char *token = NULL;
char seps[] = " =,\t\n";
char cTemp[20]={0};
m_TotalLines=0;
fgets(szLine,MAX_BUFF_SIZE,_filestream);//read a line
if((szLine[0]!=';')&&(strlen(szLine)>2))
{
token = strtok(szLine,seps);
if(!_stricmp(token,"TOTALLINES"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
m_TotalLines=atoi(cTemp);
}
}
}
for (int i=0;i<(m_TotalLines-2);i++)
{
fgets(szLine,MAX_BUFF_SIZE,_filestream);//read a line
if((szLine[0]!=';')&&(strlen(szLine)>2))
{
token = strtok(szLine,seps);
if(!_stricmp(token, "ID"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
m_ID=atoi(cTemp);
}
}
else if(!_stricmp(token, "POSX"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
m_Pos.x=atof(cTemp);
}
}
else if(!_stricmp(token, "POSY"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
m_Pos.y=atof(cTemp);
}
}
else if(!_stricmp(token, "POSZ"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
m_Pos.z=atof(cTemp);
}
}
}
}
}
@@ -9,14 +9,15 @@ public:
CSo7_CNC_Point& operator=(const CSo7_CNC_Point& _CNC_Point);
protected:
int m_TotalLines;
void Init();
public:
CPoint3 m_Pos;
CSO7_CMD* Copy();
int get_id();
int get_type();
void SaveCmd(CString _filename,int _savetype=0);
void ReadCmd(CString _filename,int _savetype=0);
void SaveCmd(FILE* _filestream,int _savetype=0);
void ReadCmd(FILE* _filestream,int _savetype=0);
void GetPoint(int type_of_point,
int theo_or_meas,
@@ -1,6 +1,7 @@
#include "StdAfx.h"
#include "CSO7_CMD.h"
#include "So7_CNC_Point.h"
#include "So7_CNC_Program.h"
//=====================================
@@ -73,14 +74,71 @@ BOOL CSo7_CNC_Program::IsEmpty()
};
//================================================================================================
void CSo7_CNC_Program::Load(CString _csProgFile)
void CSo7_CNC_Program::open()
{
UNREFERENCED_PARAMETER(_csProgFile);
FILE* m_pLoadFile=NULL;
char szLine[MAX_BUFF_SIZE];
char *token = NULL;
char seps[] = " =,\t\n";
char cTemp[20]={0};
int EntityType=0;
_wfopen_s(&m_pLoadFile,m_CncProgFileName,_T("rt"));
if(m_pLoadFile)
{
while (!feof(m_pLoadFile))
{
fgets(szLine,MAX_BUFF_SIZE,m_pLoadFile);//read a line
if((szLine[0]!=';')&&(strlen(szLine)>2))
{
token = strtok(szLine,seps);
if(!_stricmp(token,"ENTITYTYPE"))
{
token = strtok( NULL, seps);
if (token)
{
strcpy(cTemp,token);
EntityType=atoi(cTemp);
Load(m_pLoadFile,EntityType);
}
}
}
}
}
};
//================================================================================================
void CSo7_CNC_Program::Load(FILE* _pLoadFile,int _EntityType)
{
switch(_EntityType)
{
case etPoint:
{
CPoint3 Pos;
CSO7_CMD* pEntity=new CSo7_CNC_Point(Pos);
pEntity->ReadCmd(_pLoadFile);
m_CNC_element.push_back(pEntity);
m_Program_Number++;
}
break;
default:
break;
}
};
//================================================================================================
void CSo7_CNC_Program::Save()
{
FILE* m_pOutFile=NULL;
_wfopen_s(&m_pOutFile, m_CncProgFileName, _T("wt"));
if (m_pOutFile)
{
for(int i=0;i<m_Program_Number;i++)
m_CNC_element[i]->SaveCmd(m_pOutFile);
fclose(m_pOutFile);
}
};
@@ -98,3 +156,20 @@ void CSo7_CNC_Program::Initialize(void)
{
InitNew();
};
//================================================================================================
CString CSo7_CNC_Program::GetEntityName(int _EntityType)
{
CString rCStr("");
switch(_EntityType)
{
case etPoint:
{
rCStr=_T("CNC Point");
}
break;
default:
break;
}
return rCStr;
}
@@ -5,7 +5,8 @@ public:
CSo7_CNC_Program(void);
~CSo7_CNC_Program(void);
void Initialize();
void Load(CString _csProgName);
void Load(FILE* _pLoadFile,int _EntityType);
void open();
void Save();
void Close();
void AddCncStep(CSO7_CMD* pProgStep);
@@ -13,6 +14,7 @@ public:
int InitNew();
void RemoveAll();
BOOL IsEmpty();
CString GetEntityName(int _EntityType);
std::vector<CSO7_CMD*> m_CNC_element;
CSO7_CMD* _pCurrCncStep;
int m_Program_Number;
@@ -2037,3 +2037,64 @@ Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
Construct Cso7_Proto.
Init:Open device succeed .
_start_machine
Exit: Exit_SO7Usb
Destruct Cso7_Proto.
@@ -3,31 +3,31 @@ SPEED_BASE_X1=5
SPEED_MAX_X1=168
SPEED_START_X1=28
SPEED_FRESH_X1=10
SPEED_SLOW_X1=0.510
SPEED_SLOW_X1=0.509
;
SPEED_BASE_X2=3
SPEED_MAX_X2=50
SPEED_START_X2=10
SPEED_FRESH_X2=10
SPEED_SLOW_X2=0.110
SPEED_SLOW_X2=0.109
;
SPEED_BASE_X3=2
SPEED_MAX_X3=5
SPEED_START_X3=5
SPEED_FRESH_X3=10
SPEED_FRESH_X3=100
SPEED_SLOW_X3=0.001
;
SPEED_BASE_X4=2
SPEED_MAX_X4=0
SPEED_START_X4=50
SPEED_FRESH_X4=10
SPEED_FRESH_X4=100
SPEED_SLOW_X4=0.001
;
SPEED_BASE_X5=5
SPEED_BASE_X5=2
SPEED_MAX_X5=0
SPEED_START_X5=80
SPEED_FRESH_X5=10
SPEED_SLOW_X5=0.001
SPEED_FRESH_X5=100
SPEED_SLOW_X5=0.000
;
SPEED_BASE_Y1=5
SPEED_MAX_Y1=168
@@ -43,59 +43,59 @@ SPEED_SLOW_Y2=0.200
;
SPEED_BASE_Y3=2
SPEED_MAX_Y3=5
SPEED_START_Y3=3
SPEED_FRESH_Y3=10
SPEED_START_Y3=5
SPEED_FRESH_Y3=100
SPEED_SLOW_Y3=0.001
;
SPEED_BASE_Y4=2
SPEED_MAX_Y4=0
SPEED_START_Y4=50
SPEED_FRESH_Y4=10
SPEED_FRESH_Y4=100
SPEED_SLOW_Y4=0.001
;
SPEED_BASE_Y5=5
SPEED_BASE_Y5=2
SPEED_MAX_Y5=0
SPEED_START_Y5=80
SPEED_FRESH_Y5=10
SPEED_SLOW_Y5=0.001
SPEED_FRESH_Y5=100
SPEED_SLOW_Y5=0.000
;
SPEED_BASE_Z1=5
SPEED_MAX_Z1=130
SPEED_START_Z1=28
SPEED_FRESH_Z1=10
SPEED_SLOW_Z1=0.510
SPEED_SLOW_Z1=0.509
;
SPEED_BASE_Z2=3
SPEED_MAX_Z2=60
SPEED_START_Z2=10
SPEED_FRESH_Z2=10
SPEED_SLOW_Z2=0.110
SPEED_SLOW_Z2=0.109
;
SPEED_BASE_Z3=2
SPEED_MAX_Z3=5
SPEED_START_Z3=5
SPEED_FRESH_Z3=10
SPEED_FRESH_Z3=100
SPEED_SLOW_Z3=0.001
;
SPEED_BASE_Z4=2
SPEED_MAX_Z4=0
SPEED_START_Z4=50
SPEED_FRESH_Z4=10
SPEED_FRESH_Z4=100
SPEED_SLOW_Z4=0.001
;
SPEED_BASE_Z5=5
SPEED_BASE_Z5=2
SPEED_MAX_Z5=0
SPEED_START_Z5=80
SPEED_FRESH_Z5=10
SPEED_SLOW_Z5=0.001
SPEED_FRESH_Z5=100
SPEED_SLOW_Z5=0.000
;
X_MOTOR_PRECISION=0.010
Y_MOTOR_PRECISION=0.010
X_MOTOR_PRECISION=0.009
Y_MOTOR_PRECISION=0.009
Z_MOTOR_PRECISION=0.100
;
X_MOTOR_WHEELBASE=19.990
Y_MOTOR_WHEELBASE=20.000
Z_MOTOR_WHEELBASE=3.000
Y_MOTOR_WHEELBASE=31.556
Z_MOTOR_WHEELBASE=2.999
;
MOTOR_PULSE_NUM=10000
;
@@ -746,7 +746,7 @@ END
IDD_SO7_UTIL_PROGRAM DIALOGEX 0, 0, 590, 386
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Dialog"
CAPTION "CNC Program"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
PUSHBUTTON "Exit",IDCANCEL,533,365,50,14
@@ -1091,7 +1091,7 @@ BEGIN
0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49,
0x6761, 0x5465, 0x7079, 0x3e65, 0x3031, 0x2f3c, 0x464d, 0x4243, 0x7475,
0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x5465, 0x7079, 0x3e65, 0x4d3c, 0x4346,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3438,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3434,
0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x4965,
0x3e44, 0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567,
0x493e, 0x4244, 0x425f, 0x5449, 0x414d, 0x5f50, 0x5f58, 0x454c, 0x5446,
@@ -1118,7 +1118,7 @@ BEGIN
0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49,
0x6761, 0x5465, 0x7079, 0x3e65, 0x3031, 0x2f3c, 0x464d, 0x4243, 0x7475,
0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x5465, 0x7079, 0x3e65, 0x4d3c, 0x4346,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3738,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3534,
0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x4965,
0x3e44, 0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567,
0x493e, 0x4244, 0x425f, 0x5449, 0x414d, 0x5f50, 0x5f58, 0x4952, 0x4847,
@@ -1145,7 +1145,7 @@ BEGIN
0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49,
0x6761, 0x5465, 0x7079, 0x3e65, 0x3031, 0x2f3c, 0x464d, 0x4243, 0x7475,
0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x5465, 0x7079, 0x3e65, 0x4d3c, 0x4346,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3138,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3134,
0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x4965,
0x3e44, 0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567,
0x493e, 0x4244, 0x425f, 0x5449, 0x414d, 0x5f50, 0x5f59, 0x5246, 0x4e4f,
@@ -1173,7 +1173,7 @@ BEGIN
0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49,
0x6761, 0x5465, 0x7079, 0x3e65, 0x3031, 0x2f3c, 0x464d, 0x4243, 0x7475,
0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x5465, 0x7079, 0x3e65, 0x4d3c, 0x4346,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3038,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3034,
0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x4965,
0x3e44, 0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567,
0x493e, 0x4244, 0x425f, 0x5449, 0x414d, 0x5f50, 0x5f59, 0x4142, 0x4b43,
@@ -1201,7 +1201,7 @@ BEGIN
0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49,
0x6761, 0x5465, 0x7079, 0x3e65, 0x3031, 0x2f3c, 0x464d, 0x4243, 0x7475,
0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x5465, 0x7079, 0x3e65, 0x4d3c, 0x4346,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3338,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3334,
0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x4965,
0x3e44, 0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567,
0x493e, 0x4244, 0x425f, 0x5449, 0x414d, 0x5f50, 0x5f5a, 0x5055, 0x2f3c,
@@ -1228,7 +1228,7 @@ BEGIN
0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49,
0x6761, 0x5465, 0x7079, 0x3e65, 0x3031, 0x2f3c, 0x464d, 0x4243, 0x7475,
0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x5465, 0x7079, 0x3e65, 0x4d3c, 0x4346,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3238,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3234,
0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x4965,
0x3e44, 0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567,
0x493e, 0x4244, 0x425f, 0x5449, 0x414d, 0x5f50, 0x5f5a, 0x4f44, 0x4e57,
@@ -1277,7 +1277,7 @@ BEGIN
0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49,
0x6761, 0x5465, 0x7079, 0x3e65, 0x3031, 0x2f3c, 0x464d, 0x4243, 0x7475,
0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x5465, 0x7079, 0x3e65, 0x4d3c, 0x4346,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3737,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3933,
0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x4965,
0x3e44, 0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567,
0x493e, 0x4244, 0x425f, 0x5449, 0x414d, 0x5f50, 0x4c50, 0x5355, 0x535f,
@@ -1305,7 +1305,7 @@ BEGIN
0x7954, 0x6570, 0x3c3e, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49,
0x6761, 0x5465, 0x7079, 0x3e65, 0x3031, 0x2f3c, 0x464d, 0x4243, 0x7475,
0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x5465, 0x7079, 0x3e65, 0x4d3c, 0x4346,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3637,
0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567, 0x4449, 0x313e, 0x3833,
0x2f3c, 0x464d, 0x4243, 0x7475, 0x6f74, 0x5f6e, 0x6d49, 0x6761, 0x4965,
0x3e44, 0x4d3c, 0x4346, 0x7542, 0x7474, 0x6e6f, 0x495f, 0x616d, 0x6567,
0x493e, 0x4244, 0x425f, 0x5449, 0x414d, 0x5f50, 0x494d, 0x554e, 0x5f53,
@@ -2314,6 +2314,10 @@ END
STRINGTABLE
BEGIN
IDS_ABOUTBOX "&About Mv_Util..."
END
STRINGTABLE
BEGIN
IDS_SO7_ABOUTBOX "&About Utility for SO7..."
END
@@ -366,16 +366,56 @@ void CSo7_Util_Program::OnBnClickedButtonSo7ProgramAddCncProgram()
void CSo7_Util_Program::OnBnClickedButtonSo7ProgramNewCnc()
{
m_pSo7_CNC_Program->RemoveAll();
OutputWithScroll(_T("Remove all cnc program."),m_edMSG);
}
//===================================================
void CSo7_Util_Program::OnBnClickedButtonSo7ProgramOpenCnc()
{
AfxMessageBox(_T("Not supported!"));
CString m_csFile = _T("CNCFILE");
CString szFilter=_T("Utility CNC Files(*.Prog)|*.Prog|ALL Files(*.*)|*.*||");
CFileDialog fileDialog(TRUE, _T("*.Prog"),(LPCTSTR) m_csFile, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this);
if ( fileDialog.DoModal ()==IDOK )
{
m_pSo7_CNC_Program->RemoveAll();
OutputWithScroll(_T("Remove all cnc program."),m_edMSG);
m_pSo7_CNC_Program->m_CncProgFileName = fileDialog.GetPathName();
m_pSo7_CNC_Program->open();
for (int i=0;i<m_pSo7_CNC_Program->m_Program_Number;i++)
{
int iType=m_pSo7_CNC_Program->m_CNC_element[i]->get_type();
CPoint3 m_pnt;
m_pSo7_CNC_Program->m_CNC_element[i]->GetPoint(0,0,0,NULL,m_pnt);
CString csType=m_pSo7_CNC_Program->GetEntityName(iType);
m_OutMessage.Format(_T("[No.%d] X:%3.4f,Y:%3.4f,Z:%3.4f"),
m_pSo7_CNC_Program->m_CNC_element[i]->m_ID,
m_pnt.x, m_pnt.y, m_pnt.z
);
m_OutMessage=_T("Add ")+csType+m_OutMessage;
OutputWithScroll(m_OutMessage,m_edMSG);
}
}
delete fileDialog;
}
//===================================================
void CSo7_Util_Program::OnBnClickedButtonSo7ProgramSaveCncFile()
{
AfxMessageBox(_T("Not supported!"));
CString PathName;
PathName=_T("CNCFILE");
CString szFilter=_T("Utility CNC Files(*.Prog)|*.Prog|ALL Files(*.*)|*.*||");
CFileDialog fdlg(FALSE,_T("Prog"),PathName,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
if( fdlg.DoModal()==IDOK)
{
m_pSo7_CNC_Program->m_CncProgFileName=fdlg.GetPathName();
m_pSo7_CNC_Program->Save();
m_OutMessage=_T("CNC Program has been saved to[")+m_pSo7_CNC_Program->m_CncProgFileName+_T("].");
OutputWithScroll(m_OutMessage,m_edMSG);
}
delete fdlg;
}
//===================================================
void CSo7_Util_Program::OnEnKillfocusEditSo7ProgeamCncRuingTimes()