#include "StdAfx.h" #include "DeviceCut.h" #include "Propertie.h" #include "PropertieMgr.h" #include "WorkAreaMgr.h" #include "MsgBox.h" #include "GlobalDrawMgr.h" #include "WorkCmdMotorToMachineOrigin.h" CDeviceCut::CDeviceCut(void) { m_DelayAfterOpenLaser = 3000;//开激光前延时 m_DelayAfterCloseLaser = 1000;//关激光后延时(毫秒) m_bPrepareState = false;//设备是否被初始化(未初始化时不能使用某些功能) } CDeviceCut::~CDeviceCut(void) { } #if 1//复写module 的函数 CMFCPropertyGridProperty *CDeviceCut::CreatGridProperty() { CString PropertyName;//属性名称 CString Description;//描述 CString Path = _T("cut");//存储路径 CString Name; //-------------------------------------------------------------------------------// PropertyName = _T("切割"); CMFCPropertyGridProperty* pGroup = new CMFCPropertyGridProperty(PropertyName); //-------------------------------------------------------------------------------// { //添加属性变量映射 Name = _T("m_DelayAfterOpenLaser");//变量名字 CPropertie *pPropertie = new CPropertie; pPropertie->SetpVal((void*)&m_DelayAfterOpenLaser); pPropertie->SetType(_PROP_TYPE_INT); pPropertie->SetpModule(this); pPropertie->SetPath(Path); pPropertie->SetName(Name); pPropertie->WriteRead(true);//读取保存的属性 //添加属性显示 PropertyName = _T("开激光后延时"); Description = _T("(单位: 毫秒)打开激光后延时一段时间平台才运动,因为激光能量有一个上升的过程"); CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_DelayAfterOpenLaser, Description); pGroup->AddSubItem(p); gDevicePropertieMgr.Insert(p, pPropertie); } { //添加属性变量映射 Name = _T("m_DelayAfterCloseLaser");//变量名字 CPropertie *pPropertie = new CPropertie; pPropertie->SetpVal((void*)&m_DelayAfterCloseLaser); pPropertie->SetType(_PROP_TYPE_INT); pPropertie->SetpModule(this); pPropertie->SetPath(Path); pPropertie->SetName(Name); pPropertie->WriteRead(true);//读取保存的属性 //添加属性显示 PropertyName = _T("关激光后延时"); Description = _T("(单位: 毫秒)关闭激光后延时一段时间平台才运动,解决拖尾问题"); CMFCPropertyGridProperty* p = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_DelayAfterCloseLaser, Description); pGroup->AddSubItem(p); gDevicePropertieMgr.Insert(p, pPropertie); } return pGroup; } void CDeviceCut::ExportPar(ofstream *pFile) { (*pFile)<<"[模块] [CDeviceCut]------------------------------------------------"<WriteDebugLog("设备准备状态--ERROR",_LOG_ERROR); }; //获取设备的准备状态 bool CDeviceCut::GetPrepareState() { if(!m_bPrepareState) { CMsgBox MsgBox; MsgBox.Show("设备未处于准备状态,请先初始化设备!",true); } return m_bPrepareState; } #if 1 //启动正常工作 void CDeviceCut::StartWork() { Work(false); } //启动模拟工作 void CDeviceCut::StartSimulateWork() { Work(true); } #endif #if 1 //获取鼠标指定点的容器 void CDeviceCut::GetPointData(CObjContainer &ObjContainer,vector &vec) { //提取所有obj 的数据到vec 中-------------------------------------------------- ObjContainer.GetOnePoint(vec); } #endif