⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 boyexpsdk.h

📁 本程序为激光切割机的源代码
💻 H
字号:
// BoyeXPSdk.h: interface for the CBoyeXPSdk class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_BOYEXPSDK_H__0635F0EE_8F8C_4A8A_8901_930BF5D71EF6__INCLUDED_)
#define AFX_BOYEXPSDK_H__0635F0EE_8F8C_4A8A_8901_930BF5D71EF6__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class AFX_EXT_CLASS CXPCutSetting : public CObject
{
public:
    CXPCutSetting();
    virtual ~CXPCutSetting();

    double getCuttingSpeedS();
    void setCuttingSpeedS(double dSpeed);
    int getCuttingSpeedM();
    void setCuttingSpeedM(int iSpeed);

    double getLowSpeedS();
    void setLowSpeedS(double dSpeed);
    int getLowSpeedM();
    void setLowSpeedM(int iSpeed);

    void setEnergy(int iEnergy);
    int getEnergy();

    double getCuttingReserve();
    void setCuttingReserve(double dCuttingReserve);

    bool getConstantSpeed();
    void setConstantSpeed(bool bVal);

    bool getOutsideADArea();
    void setOutsideADArea(bool bVal);

    double getXAcceleration();
    void setXAcceleration(double dVal);

    double getYAcceleration();
    void setYAcceleration(double dVal);
    
    CXPCutSetting* duplicate();

protected:
    double m_dCuttingSpeedS, m_dLowSpeedS;
    int m_iEnergy;
    double m_dCuttingReserve;
    bool m_bConstantSpeed, m_bOutsideADArea;
    double m_dXAcceleration, m_dYAcceleration;
};

class AFX_EXT_CLASS CXPNetworkSetting
{
public:
    CXPNetworkSetting();
    virtual ~CXPNetworkSetting();

public:
    void setIpAddress(DWORD dwIpAddress);
    DWORD getIpAddress();

    void setPort(UINT uiPort);
    UINT getPort();

    void setSubnetMask(DWORD dwSubnetMask);
    DWORD getSubnetMask();

    void setDefaultGateway(DWORD dwDefaultGateway);
    DWORD getDefaultGateway();


	void setPhysicalAddress(CString sPhysicalAddress);
    CString getPhysicalAddress();
    bool checkValidity();

protected:
    DWORD m_dwIpAddress;
    DWORD m_dwSubnetMask;
    DWORD m_dwDefaultGateway;
    UINT m_uiPort;
    CString m_sPhysicalAddress;         // length = 12;
};

class AFX_EXT_CLASS CXPMotionPara
{
public:
    CXPMotionPara();
    virtual ~CXPMotionPara();
    
    void setNoLoadSpeedM(int iSpeed);
    int getNoLoadSpeedM();
    double getNoLoadSpeedS();

    void setNoLoadXAccel(double dNoloadXAccel);
    double getNoLoadXAccel();

    void setNoLoadYAccel(double dNoloadYAccel);
    double getNoLoadYAccel();

    void setInOutOverZeroSpeedS(double dInoutOverzeroSpeed);
    double getInOutOverZeroSpeedS();

    void setInOutThreshShortline(double dInoutThreshShortline);
    double getInOutThreshShortline();

protected:
    double m_dNoLoadXAccel;
    DOUBLE m_dNoLoadYAccel;
    double m_dInOutOverZeroSpeedS;
    double m_dInOutThreshShortline;
    double m_dNoLoadSpeedS;
    int m_iSegmentSeparateAngleTol;
};

class AFX_EXT_CLASS CXPSystemPara
{
public:
    CXPSystemPara();
    virtual ~CXPSystemPara();

    void setWorkAreaSize(double x, double y);
    double getWorkAreaSizeX();
    double getWorkAreaSizeY();

    void setRlx(double dRlx);
    double getRlx();
    void setRly(double dRly);
    double getRly();
    void setRpx(double dRpx);
    double getRpx();
    void setRpy(double dRpy);
    double getRpy();

    void setLaserHeadOrigin(double dOrgX, double dOrgY);
    double getLaserHeadOriginX();
    double getLaserHeadOriginY();

    void setShiftUnit(double dShiftUnit);
    double getShiftUnit();

    void setShiftSpeed(int iShiftSpeed);
    int getShiftSpeed();

    void setBackToOrigin(BOOL bBackToOrigin);
    BOOL getBackToOrigin();

    void setBackToOriginRunning(BOOL bBackToOriginRunning);
    BOOL getBackToOriginRunning();

    void setSelfCheck(BOOL bSelfCheck);
    BOOL getSelfCheck();

    void setSingleHead(BOOL bSingleHead);
    BOOL getSingleHead();

    void setTwoHeadDistance(double dTwoHeadDistance);
    double getTwoHeadDistance();

    void setTwoHeadMinDistance(double dMinDistance);
    double getTwoHeadMinDistance();

protected:
    double m_dWorkAreaX;
    double m_dWorkAreaY;
    
    int m_iShiftSpeed;
    BOOL m_bSingleHead;
    double m_dRlx;
    double m_dRly;
    double m_dTwoHeadDistance;
    double m_dMinDistance;
    double m_dOrgX;
    double m_dOrgY;
    double m_dShiftUnit;
    double m_dRpx;
    double m_dRpy;
    BOOL m_bBackToOrigin;
    BOOL m_bBackToOriginRunning;
    BOOL m_bSelfCheck;
};

// for CXPDeviceInfo.OutputMethod
#define XP_OUTPUT_PARALLEL     0
#define XP_OUTPUT_NETWORK      1

class AFX_EXT_CLASS CXPDeviceInfo
{
public:
    CXPDeviceInfo();
    virtual ~CXPDeviceInfo();

    void setPortNo(UINT uiPortNo);
    UINT getPortNo();

    void setOutputMethod(int iOutputMethod);
    int getOutputMethod();

    void setIPAddress(DWORD dwIPAddr);
    DWORD getIPAddress();
    CString getIpAddressString();

    void setSerialNo(CString sSerialNo);
    CString getSerialNo();

protected:
    CString m_sSerialNo;
    UINT m_uiPortNo;
    int m_iOutputMethod;        // 0: parallel port,  1: network
    DWORD m_dwIPAddr;
};

#define XP_LASERTYPE_DC     0
#define XP_LASERTYPE_RF     1

class AFX_EXT_CLASS CXPLaserPara
{
public:
    CXPLaserPara();
    virtual ~CXPLaserPara();

    void setLaserFrequency(int iFrequency);
    int getLaserFrequency();

    void setLaserPrelightEnergy(int iPreEnergy);
    int getLaserPrelightEnergy();

    void setLaserPrelightTime(int iPreTime);
    int getLaserPrelightTime();

    void setLaserType(int iLaserType);
    int getLaserType();

    void setEnergyLevelLow(int iEnergyLevelLow);
    int getEnergyLevelLow();

    void setEnergyLightOut(int iEnergyLightOut);
    int getEnergyLightOut();

    void setSlopeSteps(int iSlopeLevelCount);
    int getSlopeSteps();

    void setSlopePowerByLevel(int iPower, int iLevel);
    int getSlopePowerByLevel(int iLevel);
    
protected:
    int m_iLaserType; // 0: CO2, 1: Frequency
    int m_iEnergyLevelLow;
    int m_iSlopeLevelCount;
    int m_iFrequency;
    int m_iEnergyLightOut;
    int m_iPreEnergy;
    int m_iPreTime;
    int m_iLevels[16];
};

class AFX_EXT_CLASS CXPFacade
{
public:
    CXPFacade();
    virtual ~CXPFacade();

    // various settings
    bool getDeviceInfo(CXPDeviceInfo &outputDeviceInfo);
    bool setDeviceInfo(CXPDeviceInfo &deviceInfo);

    bool getSystemPara(CXPSystemPara &outputSystemPara);
    bool setSystemPara(CXPSystemPara &systemPara);

    bool getMotionPara(CXPMotionPara &outputMotionPara);
    bool setMotionPara(CXPMotionPara &motionPara);

    bool getLaserPara(CXPLaserPara &outputLaserPara);
    bool setLaserPara(CXPLaserPara &laserPara);

    void getNetworkSetting(CXPNetworkSetting &outputNetworkSetting);
    void setNetworkSetting(CXPNetworkSetting &networkSetting);

    // cut settings
    int getCutSettingNumber();
    void addCutSetting(int iIndex, CXPCutSetting &cutSetting);
    CXPCutSetting* getCutSetting(int iIndex);
    void deleteCutSetting(int iIndex);
    void clearAllCutSettings();

    // graphics methods
    CString getFileName();
    void setFileName(CString sName);
    void clearAllPaths();
    int getPathNumber();
    bool beginPath(int iCutSettingIndex);
    void endPath();
    void moveTo(double x, double y);
    void lineTo(double x, double y);
    void arcTo(double startPtX, double startPtY, double endPtX, double endPtY,
                double centerPtX, double centerPtY, bool bCounterClockwise);
    void arcTo(double pt1X, double pt1Y, double pt2X, double pt2Y, double pt3X, double pt3Y);
    void curveTo(double controlPt1X, double controlPt1Y, double controlPt2X, double controlPt2Y, double endPtX, double endPtY);
    void rectangle(double startPtX, double startPtY, double endPtX, double endPtY, int iCutSettingIndex);
    void circle(double centerPtX, double centerPtY, double dRadius, int iCutSettingIndex);

    // start running
    bool run();
	//for test
	
    CString getError();
	int getErrorCode();
    // output settings to device
    bool outputNetWorkSetting();
    bool outputSystemSetting();

    // device information
    bool isDeviceInfoSet();
    CString getSerialNo();
    CString getDeviceNo();
    CString getModelNo();

    // demo setting dialogs
    bool showSystemParaDlg(CXPSystemPara &systemPara);
    bool showMotionParaDlg(CXPMotionPara &motionPara);
    bool showLaserParaDlg(CXPLaserPara &laserPara);
    bool showNetWorkSettingDlg(CXPNetworkSetting &netWorkSetting);
    bool showDeviceInfoDlg(CXPDeviceInfo &deviceInfo);
    bool showCutSettingDlg(CXPCutSetting &cutSetting);

    // for debugging
    bool getDebugFlag();
    void setDebugFlag(bool bDebug);

protected:
    void* m_pFacade;
};

#endif // !defined(AFX_BOYEXPSDK1_H__0635F0EE_8F8C_4A8A_8901_930BF5D71EF6__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -