init
This commit is contained in:
BIN
device/lasermark/LaserMark.dll
Normal file
BIN
device/lasermark/LaserMark.dll
Normal file
Binary file not shown.
103
device/lasermark/LaserMark.h
Normal file
103
device/lasermark/LaserMark.h
Normal file
@@ -0,0 +1,103 @@
|
||||
#ifndef LASERMARK_H
|
||||
#define LASERMARK_H
|
||||
|
||||
#include "LaserMark_global.h"
|
||||
#include <QCoreApplication>
|
||||
#include <QSqlDatabase>
|
||||
#include <QSqlQuery>
|
||||
#include <QVariant>
|
||||
#include <QDateTime>
|
||||
//
|
||||
#include <QString>
|
||||
#include <QMessageBox>
|
||||
#include <QThread>
|
||||
#include <QMutex>
|
||||
#include "LaserMark_global.h"
|
||||
#include "MarkEzdDll.h"
|
||||
|
||||
#ifdef UNICODE
|
||||
|
||||
#define QStringToTCHAR(x) (wchar_t*) x.utf16()
|
||||
#define PQStringToTCHAR(x) (wchar_t*) x->utf16()
|
||||
#define TCHARToQString(x) QString::fromUtf16((x))
|
||||
#define TCHARToQStringN(x,y) QString::fromUtf16((x),(y))
|
||||
|
||||
#else
|
||||
|
||||
#define QStringToTCHAR(x) x.local8Bit().constData()
|
||||
#define PQStringToTCHAR(x) x->local8Bit().constData()
|
||||
#define TCHARToQString(x) QString::fromLocal8Bit((x))
|
||||
#define TCHARToQStringN(x,y) QString::fromLocal8Bit((x),(y))
|
||||
|
||||
#endif
|
||||
|
||||
class LASERMARK_EXPORT LaserMark : public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
LaserMark();
|
||||
|
||||
private:
|
||||
QSqlDatabase db;
|
||||
|
||||
private:
|
||||
HINSTANCE m_hEzdDLL;
|
||||
LMC1_INITIAL lmc1_Initial;
|
||||
LMC1_CLOSE lmc1_Close;
|
||||
LMC1_STOPMARK lmc1_StopMark;
|
||||
|
||||
LMC1_LOADEZDFILE lmc1_LoadEzdFile;
|
||||
|
||||
LMC1_MARKENTITY lmc1_MarkEntity;
|
||||
|
||||
LMC1_SETDEVCFG lmc1_SetDevCfg;
|
||||
|
||||
LMC1_GETPENPARAM lmc1_GetPenParam;
|
||||
LMC1_SETPENPARAM lmc1_SetPenParam;
|
||||
|
||||
LMC1_DELETEENT lmc1_DeleteEnt;
|
||||
|
||||
LMC1_CLEARENTLIB lmc1_ClearEntLib;
|
||||
LMC1_ADDTEXTTOLIB lmc1_AddTextToLib;
|
||||
LMC1_MARK lmc1_Mark;
|
||||
|
||||
LMC1_ISMARKING lmc1_IsMarking; //为判断是否正在标刻
|
||||
|
||||
LMC1_SETTEXTENTPARAM2 lmc1_SetTextEntParam2;
|
||||
|
||||
LMC1_SETTEXTENTPARAM4 lmc1_SetTextEntParam4;
|
||||
|
||||
LMC1_SETPENPARAM4 lmc1_SetPenParam4;
|
||||
|
||||
LMC1_SAVEENTLIBTOFILE lmc1_SaveEntLibToFile;
|
||||
|
||||
LMC1_SETFONTPARAM3 lmc1_SetFontParam3;
|
||||
|
||||
private:
|
||||
QString TempMarkTitle;
|
||||
bool IsMarkStatus{false};
|
||||
int MarkCount{0};
|
||||
int _nFreq{0};
|
||||
double _dQPulseWidth{0};
|
||||
|
||||
private:
|
||||
bool InitSQL();
|
||||
bool InitLaser(QString); //QString为 ezcad2.exe所处的目录的全路径名称,例如C:\WorkBook\20180528\EzCAD2\Debug
|
||||
QString GetMarkTitle(QString);
|
||||
|
||||
//多线程打标
|
||||
QMutex mutex;
|
||||
protected:
|
||||
void run() override;
|
||||
|
||||
public:
|
||||
bool Init(QString); //初始化
|
||||
void Start(QString,QString*,int,bool); //打标的字符 返回打标的字符 打标次数 true为自动,false为手动
|
||||
void Abort(); //停止打标
|
||||
void SetParam(); //设置金橙子参数
|
||||
bool GetMyMarkStatus(); //获取激光打标状态(true为正在打标,false为空闲状态)
|
||||
bool SetFontParam(double, double, double, int,double); //字符高度 字体宽度 字体间距 频率 脉宽
|
||||
};
|
||||
|
||||
#endif // LASERMARK_H
|
||||
BIN
device/lasermark/LaserMark.o
Normal file
BIN
device/lasermark/LaserMark.o
Normal file
Binary file not shown.
12
device/lasermark/LaserMark_global.h
Normal file
12
device/lasermark/LaserMark_global.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#ifndef LASERMARK_GLOBAL_H
|
||||
#define LASERMARK_GLOBAL_H
|
||||
|
||||
#include <QtCore/qglobal.h>
|
||||
|
||||
#if defined(LASERMARK_LIBRARY)
|
||||
# define LASERMARK_EXPORT Q_DECL_EXPORT
|
||||
#else
|
||||
# define LASERMARK_EXPORT Q_DECL_IMPORT
|
||||
#endif
|
||||
|
||||
#endif // LASERMARK_GLOBAL_H
|
||||
945
device/lasermark/MarkEzdDll.h
Normal file
945
device/lasermark/MarkEzdDll.h
Normal file
@@ -0,0 +1,945 @@
|
||||
#ifndef MARKEZDDLL_H
|
||||
#define MARKEZDDLL_H
|
||||
|
||||
#include "windows.h"
|
||||
|
||||
#pragma region Return Value
|
||||
|
||||
//所有函数都返回一个整形值
|
||||
#define LMC1_ERR_SUCCESS 0 //成功
|
||||
#define LMC1_ERR_EZCADRUN 1 //发现EZCAD在运行
|
||||
#define LMC1_ERR_NOFINDCFGFILE 2 //找不到EZCAD.CFG
|
||||
#define LMC1_ERR_FAILEDOPEN 3 //打开LMC1失败
|
||||
#define LMC1_ERR_NODEVICE 4 //没有有效的lmc1设备
|
||||
#define LMC1_ERR_HARDVER 5 //lmc1版本错误
|
||||
#define LMC1_ERR_DEVCFG 6 //找不到设备配置文件
|
||||
#define LMC1_ERR_STOPSIGNAL 7 //报警信号
|
||||
#define LMC1_ERR_USERSTOP 8 //用户停止
|
||||
#define LMC1_ERR_UNKNOW 9 //不明错误
|
||||
#define LMC1_ERR_OUTTIME 10 //超时
|
||||
#define LMC1_ERR_NOINITIAL 11 //未初始化
|
||||
#define LMC1_ERR_READFILE 12 //读文件错误
|
||||
#define LMC1_ERR_OWENWNDNULL 13 //窗口为空
|
||||
#define LMC1_ERR_NOFINDFONT 14 //找不到指定名称的字体
|
||||
#define LMC1_ERR_PENNO 15 //错误的笔号
|
||||
#define LMC1_ERR_NOTTEXT 16 //指定名称的对象不是文本对象
|
||||
#define LMC1_ERR_SAVEFILE 17 //保存文件失败
|
||||
#define LMC1_ERR_NOFINDENT 18 //找不到指定对象
|
||||
#define LMC1_ERR_STATUE 19 //当前状态下不能执行此操作
|
||||
#define LMC1_ERR_PARAM 20 //参数错误
|
||||
#define LMC1_ERR_DEVICE 21 //硬件错误
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Device
|
||||
|
||||
//初始化lmc1控制卡
|
||||
//输入参数: strEzCadPath EzCad软件的执行路径
|
||||
// bTestMode = TRUE 表示测试模式 bTestMode = FALSE 表示正常模式,默认TRUE
|
||||
// pOwenWnd 表示父窗口对象,如果需要实现停止打标,则系统会从此窗口截取消息
|
||||
typedef int(*LMC1_INITIAL)(TCHAR* strEzCadPath,//ezcad的工作目录
|
||||
BOOL bTestMode,//是否是测试模式
|
||||
HWND hOwenWnd);//父窗口
|
||||
|
||||
//关闭lmc1控制卡
|
||||
typedef int(*LMC1_CLOSE)();
|
||||
|
||||
//调用设置设备参数的对话框
|
||||
typedef int(*LMC1_SETDEVCFG)();
|
||||
|
||||
//调用设置设备参数的对话框,显示扩展轴参数
|
||||
typedef int(*LMC1_SETDEVCFG2)(BOOL bAxisShow0, BOOL bAxisShow1);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Mark
|
||||
|
||||
//标刻当前数据库里的所有数据
|
||||
//输入参数: bFlyMark = TRUE 使能飞动打标 bFlyMark = FALSE 使能飞动打标
|
||||
//此函数一直等待设备加工完毕后,或者用户停止才返回。即函数结束表示加工结束
|
||||
typedef int(*LMC1_MARK)(BOOL bFlyMark);
|
||||
|
||||
//标刻当前数据库里的指定对象
|
||||
//输入参数: strEntName 要加工的指定对象的名称
|
||||
//此函数一直等待设备加工完毕后才返回
|
||||
typedef int(*LMC1_MARKENTITY)(TCHAR* strEntName);
|
||||
|
||||
//飞行标刻当前数据库里的所有数据
|
||||
//在使用此函数后,软件开始等待飞行硬件信号(IN8/IN9,在飞行界面中设置的),有信号后开始加工
|
||||
typedef int(*LMC1_MARKFLYBYSTARTSIGNAL)();
|
||||
|
||||
//飞动标刻当前数据库里的指定对象
|
||||
//输入参数: strEntName 飞动打标指定对象的名称
|
||||
//此函数一直等待设备加工完毕后才返回
|
||||
typedef int(*LMC1_MARKENTITYFLY)(TCHAR* strEntName);
|
||||
|
||||
//标刻指定线段
|
||||
//输入参数 x1,y1起点坐标,x2y2终点坐标,pen 使用的笔号
|
||||
typedef int(*LMC1_MARKLINE)(double x1, double y1, double x2, double y2, int pen);
|
||||
|
||||
//标刻指定点
|
||||
//输入参数 x,y点坐标,delay打标时间,pen 使用的笔号
|
||||
typedef int(*LMC1_MARKPOINT)(double x, double y, double delay, int pen);
|
||||
|
||||
//标刻指定的多个点
|
||||
//输入参数 ptBuf点坐标组;ptBuf[n][0]表示第n个点的x坐标,ptBuf[n][1]表示第n个点的y坐标,dJumpSpeed在点之间的跳转速度,dLaserOnTimeMs点的打标时间,单位ms
|
||||
typedef int(*LMC1_MARKPOINTBUF2)(double ptBuf[][2], double dJumpSpeed, double dLaserOnTimeMs);
|
||||
|
||||
//判断卡正在处于工作状态
|
||||
typedef int(*LMC1_ISMARKING)();
|
||||
|
||||
//强制停止当前标刻
|
||||
typedef int(*LMC1_STOPMARK)();
|
||||
|
||||
//标刻一次红光显示框
|
||||
//预览一次全部对象的打标范围,即数据的包围盒
|
||||
typedef int(*LMC1_REDLIGHTMARK)();
|
||||
|
||||
//红光预览当前数据库里面所有数据轮廓一次
|
||||
//预览轨迹与打标轨迹一致。如果预览圆,轨迹就是一个圆
|
||||
typedef int(*LMC1_REDLIGHTMARKCONTOUR)();
|
||||
|
||||
//红光预览当前数据库里面指定对象
|
||||
//输入参数 strEntName对象名称;bContour显示的是否是轮廓,true显示轮廓,false显示范围
|
||||
typedef int(*LMC1_REDLIGHTMARKBYENT)(TCHAR* strEntName, BOOL bContour);
|
||||
|
||||
//获取当前的飞行速度
|
||||
//输入参数: FlySpeed流水线当前速度
|
||||
//在设备空闲时可查询流水线速度,即加工或红光过程中不可使用
|
||||
typedef int(*LMC1_GETFLYSPEED)(double& FlySpeed);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region EzdFile
|
||||
|
||||
//载入ezd文件,并清除数据库所有对象
|
||||
//输入参数: strFileName EzCad文件名称
|
||||
typedef int(*LMC1_LOADEZDFILE)(TCHAR* strFileName);
|
||||
|
||||
//保存当前数据库里所有对象到指定ezd文件里
|
||||
//输入参数: strFileName ezd文件名称
|
||||
typedef int(*LMC1_SAVEENTLIBTOFILE)(TCHAR* strFileName);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Preview
|
||||
|
||||
//得到当前数据库里的所有数据的预览图像
|
||||
//输入参数: hwnd需要显示当前图像的窗口句柄,nBMPWIDTH 需要生成的图像的像素宽度,nBMPHEIGHT需要生成的图像的像素高度
|
||||
//在程序中调用lmc1_GetPrevBitmap得到当前数据库里的所有对象的预览图像的指针,可以用于更新界面显示
|
||||
//typedef CBitmap* (*LMC1_GETPREVBITMAP)(HWND hwnd, int nBMPWIDTH, int nBMPHEIGHT);
|
||||
|
||||
//得到当前数据库里的指定对象数据的预览图像
|
||||
//输入参数: pWnd 预览图像显示到哪个窗口
|
||||
// nBMPWIDTH 预览图像的宽度
|
||||
// nBMPHEIGHT 预览图像的高度
|
||||
// strEntName 指定对象的名称
|
||||
//typedef CBitmap* (*LMC1_GETPREVBITMAPBYNAME)(TCHAR* strEntName, HWND hwnd, int nBMPWIDTH, int nBMPHEIGHT);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Operation Ent
|
||||
|
||||
//得到指定对象的最大最小坐标,如果pEntName==NULL表示读取数据库所有对象的最大最小坐标
|
||||
typedef int(*LMC1_GETENTSIZE)(TCHAR* pEntName,//字符串对象名称
|
||||
double& dMinx,//最小x坐标
|
||||
double& dMiny,//最小y坐标
|
||||
double& dMaxx,//最大x坐标
|
||||
double& dMaxy,//最大y坐标
|
||||
double& dZ);//对象的z坐标
|
||||
|
||||
//移动指定对象相对坐标
|
||||
typedef int(*LMC1_MOVEENT)(TCHAR* pEntName,//字符串对象名称
|
||||
double dMovex,//对象移动x距离
|
||||
double dMovey);//对象移动y距离
|
||||
|
||||
//缩放指定对象,
|
||||
typedef int(*LMC1_SCALEENT)(TCHAR* pEntName,//字符串对象名称
|
||||
double dCenx,//缩放的X中心
|
||||
double dCeny,//缩放的Y中心
|
||||
double dScaleX,//缩放的X比例
|
||||
double dScaleY);//缩放的Y比例
|
||||
|
||||
//镜像指定对象
|
||||
typedef int(*LMC1_MIRRORENT)(TCHAR* pEntName,//字符串对象名称
|
||||
double dCenx,// 镜像的X中心
|
||||
double dCeny,//镜像的Y中心
|
||||
BOOL bMirrorX,//是否X方向镜像,true表示镜像
|
||||
BOOL bMirrorY);//是否Y方向镜像,true表示镜像
|
||||
|
||||
//旋转指定对象
|
||||
typedef int(*LMC1_ROTATEENT)(TCHAR* pEntName,//字符串对象名称
|
||||
double dCenx,//旋转的X中心
|
||||
double dCeny,//旋转的Y中心
|
||||
double dAngle);//旋转的角度,(逆时针为正,单位为度)
|
||||
|
||||
//复制粘贴指定对象,并对新对象命名
|
||||
//输入参数:PEntName要复制的对象,pNewEntName复制后的对象名称
|
||||
typedef int(*LMC1_COPYENT)(TCHAR* pEntName, TCHAR* pNewEntName);
|
||||
|
||||
//得到当前数据库中的对象总数
|
||||
//输出参数: 对象总数
|
||||
typedef int(*LMC1_GETENTITYCOUNT)();
|
||||
|
||||
//得到指定序号的对象名称
|
||||
//输入参数: nEntityIndex 指定对象的序号(范围: 0 - (lmc1_GetEntityCount()-1))
|
||||
//输出参数: szEntName 对象的名称
|
||||
typedef int(*LMC1_GETENTITYNAME)(int nEntityIndex, TCHAR szEntName[256]);
|
||||
|
||||
//设置指定序号的对象名称
|
||||
typedef int(*LMC1_SETENTITYNAME)(int nEntityIndex, TCHAR* pEntName);
|
||||
|
||||
//修改对象名称
|
||||
typedef int(*lmc1_ChangeEntName)(TCHAR* pEntName, TCHAR* pNewEntName);
|
||||
|
||||
//设置旋转变换参数
|
||||
//输入参数: dCenterX 旋转中心x坐标
|
||||
// dCenterY 旋转中心y坐标
|
||||
// dRotateAng 旋转角度(弧度值)
|
||||
typedef void(*LMC1_SETROTATEPARAM)(double dCenterX, double dCenterY, double dRotateAng);
|
||||
|
||||
//设置旋转变换参数 不影响数据的显示,只是加工时才对对象进行旋转。
|
||||
typedef void(*LMC1_SETROTATEMOVEPARAM)( double dMoveX,//X方向移动距离
|
||||
double dMoveY,//Y方向移动距离
|
||||
double dCenterX, //旋转中心X坐标
|
||||
double dCenterY,//旋转中心Y坐标
|
||||
double dRotateAng); //旋转角度(弧度值)
|
||||
|
||||
//更改当前数据库里的指定文本对象的文本
|
||||
//输入参数: strTextName 要更改内容的文本对象的名称
|
||||
// strTextNew 新的文本内容
|
||||
typedef int(*LMC1_CHANGETEXTBYNAME)(TCHAR* strTextName, TCHAR* strTextNew);
|
||||
|
||||
//得到指定对象的文本
|
||||
//strTextName 要获取内容的文本对象的名称,szEntText 文本内容
|
||||
typedef int(*LMC1_GETTEXTBYNAME)(TCHAR* strTextName, TCHAR strText[256]);
|
||||
|
||||
//序列号复位为开始序号
|
||||
//输入参数:PTextName文本对象名称
|
||||
typedef int(*LMC1_TEXTRESETSN)(TCHAR* pTextName);
|
||||
|
||||
//群组2个对象,并设置群组新的对象名称,以及笔号
|
||||
typedef int(*LMC1_GROUPENT)(TCHAR* pEntName1,//群组对象1名称
|
||||
TCHAR* pEntName2,//群组对象2名称
|
||||
TCHAR* pEntNameNew,//群组后新对象名称
|
||||
int pen);//新对象使用的笔号
|
||||
|
||||
//解散群组
|
||||
//输入参数:pGroupEntName群组对象名称
|
||||
typedef int(*LMC1_UNGROUPENT)(TCHAR* pGroupEntName);
|
||||
|
||||
//群组N个对象,并设置群组新的对象名称,以及笔号
|
||||
typedef int(*LMC1_GROUPENT2)(TCHAR** strEntNameList,//对象名称列表
|
||||
int nEntCount,//群组对象数量
|
||||
TCHAR* strGroupName,//群组后对象名
|
||||
int nGroupPen);//新对象使用的笔号
|
||||
|
||||
//彻底解散群组对象为曲线
|
||||
typedef int(*LMC1_UNGROUPENT2)(TCHAR* pGroupEntName,//群组对象名称
|
||||
int nFlag);//标志位,默认=0
|
||||
|
||||
//向前移动对象
|
||||
typedef int(*LMC1_MOVEENTITYBEFORE)(int nMoveEnt, //要移动的对象在对象列表中的位置
|
||||
int nGoalEnt);//对象要在对象列表中移动到的位置
|
||||
|
||||
//向后移动对象
|
||||
typedef int(*LMC1_MOVEENTITYAFTER)(int nMoveEnt, //要移动的对象在对象列表中的位置
|
||||
int nGoalEnt);//对象要在对象列表中移动到的位置
|
||||
|
||||
//颠倒所有对象在对象列表中的顺序
|
||||
typedef int(*LMC1_REVERSEALLENTORDER)();
|
||||
|
||||
//获取指定位图的参数
|
||||
typedef int(*LMC1_GETBITMAPENTPARAM)(TCHAR* strEntName,//位图对象名称
|
||||
TCHAR BmpPath[256],//位图对象路径
|
||||
int& nBmpAttrib,//位图参数
|
||||
int& nScanAttrib,//扫描参数
|
||||
double& dBrightness,//亮度设置[-1, 1]
|
||||
double& dContrast,//对比度设置[-1, 1]
|
||||
double& dPointTime,//打点时间设置
|
||||
int& nImportDpi);//DPI
|
||||
|
||||
const int BMPSCAN_INVERT = 0x0001;//图像反转
|
||||
const int BMPSCAN_GRAY = 0x0002;//图像灰度
|
||||
const int BMPSCAN_LIGHT = 0x0004;//图像亮度
|
||||
const int BMPSCAN_DITHER = 0x0010;//网点处理
|
||||
const int BMPSCAN_BIDIR = 0x1000;//双向扫描
|
||||
const int BMPSCAN_YDIR = 0x2000;//Y向扫描
|
||||
const int BMPSCAN_DRILL = 0x4000;//打点模式
|
||||
const int BMPSCAN_POWER = 0x8000;//调整功率
|
||||
const int BMPATTRIB_DYNFILE = 0x1000;//动态文件
|
||||
const int BMPATTRIB_IMPORTFIXED_WIDTH = 0x2000;//固定文件输入宽
|
||||
const int BMPATTRIB_IMPORTFIXED_HEIGHT = 0x4000;//固定文件输入高
|
||||
const int BMPATTRIB_IMPORTFIXED_DPI = 0x8000;//固定DPI
|
||||
|
||||
//设置指定位图的参数
|
||||
typedef int(*LMC1_SETBITMAPENTPARAM2)(TCHAR* strEntName,//位图对象名称
|
||||
TCHAR* strBmpPath,//位图对象路径
|
||||
int nBmpAttrib,//位图参数
|
||||
int nScanAttrib,//扫描参数
|
||||
double dBrightness,//亮度设置[-1, 1]
|
||||
double dContrast,//对比度设置[-1, 1]
|
||||
double dPointTime,//打点时间设置
|
||||
int nImportDpi);//DPI
|
||||
|
||||
//获取指定文本的字体参数
|
||||
typedef int(*LMC1_GETTEXTENTPARAM2)(TCHAR* strTextName,//文本名称
|
||||
TCHAR sFontName[256],//字体名称
|
||||
double& dCharHeight,//字符高度
|
||||
double& dCharWidth,//字符宽度
|
||||
double& dCharAngle,//字符倾角(弧度值)
|
||||
double& dCharSpace,// 字符间距
|
||||
double& dLineSpace,//行间距
|
||||
double& dSpaceWidth,//空字符宽带
|
||||
BOOL& bEqualCharWidth);//等字符宽度模式
|
||||
|
||||
//设置指定文本的字体参数
|
||||
typedef int(*LMC1_SETTEXTENTPARAM2)(TCHAR* strTextName,//文本名称
|
||||
TCHAR* strFontName,//字体名称
|
||||
double dCharHeight,//字符高度
|
||||
double dCharWidth,//字符宽度
|
||||
double dCharAngle,//字符倾角(弧度值)
|
||||
double dCharSpace,//字符间距
|
||||
double dLineSpace,//行间距
|
||||
double dSpaceWidth,//空字符宽带
|
||||
BOOL bEqualCharWidth);//等字符宽度模式
|
||||
|
||||
//获取指定文本的字体参数
|
||||
typedef int(*LMC1_GETTEXTENTPARAM4)(TCHAR* strTextName,//文本名称
|
||||
TCHAR sFontName[256],//字体名称
|
||||
int& nTextSpaceMode,//文本间距模式
|
||||
double& dTextSpace,//文本间距距离
|
||||
double& dCharHeight,// 字符高度
|
||||
double& CharWidthRatio,//字符宽度
|
||||
double& dCharAngle,// 字符倾角(弧度值)
|
||||
double& dCharSpace,//字符间距
|
||||
double& dLineSpace,// 行间距
|
||||
double& spaceWidthRatio,//空字符宽带
|
||||
int& nTextAlign,//文本对齐方式
|
||||
BOOL& bBold,//粗体
|
||||
BOOL& bItalic);//斜体
|
||||
|
||||
//设置指定文本的字体参数
|
||||
typedef int(*LMC1_SETTEXTENTPARAM4)(TCHAR* strTextName,//文本名称
|
||||
TCHAR* strFontName,//字体名称
|
||||
int nTextSpaceMode,//文本间距模式
|
||||
double dTextSpace,//文本间距距离
|
||||
double dCharHeight,//字符高度
|
||||
double CharWidthRatio,//字符宽度
|
||||
double dCharAngle,//字符倾角(弧度值)
|
||||
double dCharSpace,// 字符间距
|
||||
double dLineSpace,//行间距
|
||||
double spaceWidthRatio,//空字符宽带
|
||||
int nTextAlign,//文本对齐方式
|
||||
bool bBold,//粗体
|
||||
bool bItalic);//斜体
|
||||
|
||||
|
||||
//删除对象库里指定对象
|
||||
typedef int(*LMC1_DELETEENT)(TCHAR* pEntName);
|
||||
|
||||
//清除对象库里所有数据
|
||||
typedef int(*LMC1_CLEARENTLIB)();
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region AddEnt
|
||||
|
||||
//对齐方式时数字代表的意义
|
||||
// 6 --- 5 --- 4
|
||||
// | |
|
||||
// | |
|
||||
// 7 8 3
|
||||
// | |
|
||||
// | |
|
||||
// 0 --- 1 --- 2
|
||||
//加入新文本到数据库中
|
||||
typedef int(*LMC1_ADDTEXTTOLIB)(TCHAR* pStr,//要添加的字符串
|
||||
TCHAR* pEntName,//字符串对象名称
|
||||
double dPosX,//字符串的左下角基点的x坐标
|
||||
double dPosY,//字符串的左下角基点的y坐标
|
||||
double dPosZ,//字符串对象的z坐标
|
||||
int nAlign,//对齐方式0-8
|
||||
double dTextRotateAngle,//字符串绕基点旋转的角度值(弧度值)
|
||||
int nPenNo,//对象使用的加工参数
|
||||
BOOL bHatchText);//是否填充文本对象
|
||||
|
||||
#define CIRTEXTFLAG_REVERSE 0x0001 //反转
|
||||
#define CIRTEXTFLAG_UPDOWN 0x0002 //上下反转
|
||||
|
||||
//添加圆弧文本
|
||||
typedef int(*LMC1_ADDCIRCLETEXTTOLIB)(TCHAR* pStr,//要添加的字符串
|
||||
TCHAR* pEntName,//字符串对象名称
|
||||
double dPosX,//文本所在基准圆的x坐标
|
||||
double dPosY,//文本所在基准圆的y坐标
|
||||
double dPosZ,//字符串对象的z坐标
|
||||
int nPenNo,//文本对象使用的笔号
|
||||
int bHatchText,//是否填充文本
|
||||
double dCirDiameter,//基准圆直径
|
||||
double dCirBaseAngle,//文字基准角度
|
||||
BOOL bCirEnableAngleLimit,//是否使能角度限制
|
||||
double dCirAngleLimit, //限制的角度
|
||||
int nCirTextFlag);//文本在圆上的方向
|
||||
|
||||
//获得指定圆弧文本对象的参数
|
||||
typedef int(*LMC1_GETCIRCLETEXTPARAM)( TCHAR* pEntName,//字符串对象名称
|
||||
double& dCenX,//文本所在基准圆的x坐标
|
||||
double& dCenY,//文本所在基准圆的y坐标
|
||||
double &dCenZ,//字符z坐标
|
||||
double& dCirDiameter,//基准圆直径
|
||||
double& dCirBaseAngle,//文字基准角度
|
||||
BOOL& bCirEnableAngleLimit,//是否使能角度限制
|
||||
double & dCirAngleLimit,//限制的角度
|
||||
int& nCirTextFlag); //文本在圆上的方向
|
||||
|
||||
//设置指定圆弧文本对象的参数
|
||||
typedef int(*LMC1_SETCIRCLETEXTPARAM)( TCHAR* pEntName,//字符串对象名称
|
||||
double dCenX,//文本所在基准圆的x坐标
|
||||
double dCenY,//文本所在基准圆的y坐标
|
||||
double dCenZ,//字符z坐标
|
||||
double dCirDiameter,//基准圆直径
|
||||
double dCirBaseAngle,//文字基准角度
|
||||
BOOL bCirEnableAngleLimit,//是否使能角度限制
|
||||
double dCirAngleLimit,//限制的角度
|
||||
int nCirTextFlag);//文本在圆上的方向
|
||||
|
||||
|
||||
//加入指定文件到数据库中
|
||||
//支持的文件有ezd,dxf,dst,plt,ai,bmp,jpg,tga,png,gif,tiff等
|
||||
typedef int(*LMC1_ADDFILETOLIB)(TCHAR* pFileName, //文件名称
|
||||
TCHAR* pEntName,//字符串对象名称
|
||||
double dPosX, //文件左下角基点x坐标
|
||||
double dPosY, //文件左下角基点y坐标
|
||||
double dPosZ, //文件z坐标
|
||||
int nAlign,//对齐方式0-8
|
||||
double dRatio,//文件缩放比例
|
||||
int nPenNo,//对象使用的加工参数
|
||||
BOOL bHatchFile);//是否填充文件对象 如果是ezd文件或位图文件此参数无效
|
||||
|
||||
|
||||
//加入曲线到数据库中
|
||||
typedef int(*LMC1_ADDCURVETOLIB)(double ptBuf[][2],//曲线顶点数组
|
||||
int ptNum,//曲线顶点数
|
||||
TCHAR* pEntName,//曲线对象名称
|
||||
int nPenNo,//曲线对象使用的笔号
|
||||
int bHatch);//曲线是否填充
|
||||
|
||||
//加入一组点到数据库中
|
||||
typedef int(*LMC1_ADDCURVETOLIB2)(double* ptBuf,//曲线顶点数组
|
||||
int ptNum,//曲线顶点数
|
||||
TCHAR* pEntName,//曲线对象名称
|
||||
int nPenNo,//曲线对象使用的笔号
|
||||
int bHatch);//曲线是否填充
|
||||
|
||||
//加入延时到数据库中
|
||||
//输入参数:延时时长,单位ms
|
||||
typedef int(*LMC1_ADDDELAYTOLIB)(double dDelayMs);
|
||||
|
||||
//加入输出口到数据库中
|
||||
typedef int(*lmc1_AddWritePortToLib)( int nOutPutBit,//输出口的值,0到15
|
||||
BOOL bHigh, //是否是高电平
|
||||
BOOL bPluse, //是否是脉冲
|
||||
double dPulseTimeMs);//脉冲长的,单位ms
|
||||
|
||||
|
||||
#define BARCODETYPE_39 0
|
||||
#define BARCODETYPE_93 1
|
||||
#define BARCODETYPE_128A 2
|
||||
#define BARCODETYPE_128B 3
|
||||
#define BARCODETYPE_128C 4
|
||||
#define BARCODETYPE_128OPT 5
|
||||
#define BARCODETYPE_EAN128A 6
|
||||
#define BARCODETYPE_EAN128B 7
|
||||
#define BARCODETYPE_EAN128C 8
|
||||
#define BARCODETYPE_EAN13 9
|
||||
#define BARCODETYPE_EAN8 10
|
||||
#define BARCODETYPE_UPCA 11
|
||||
#define BARCODETYPE_UPCE 12
|
||||
#define BARCODETYPE_25 13
|
||||
#define BARCODETYPE_INTER25 14
|
||||
#define BARCODETYPE_CODABAR 15
|
||||
#define BARCODETYPE_PDF417 16
|
||||
#define BARCODETYPE_DATAMTX 17
|
||||
#define BARCODETYPE_USERDEF 18
|
||||
#define BARCODETYPE_QRCODE 19
|
||||
#define BARCODETYPE_MINIDATAMTX 20
|
||||
|
||||
|
||||
|
||||
|
||||
#define BARCODEATTRIB_REVERSE 0x0008 //条码反转
|
||||
#define BARCODEATTRIB_HUMANREAD 0x1000 //显示人识别字符
|
||||
#define BARCODEATTRIB_CHECKNUM 0x0004 //需要校验码
|
||||
#define BARCODEATTRIB_PDF417_SHORTMODE 0x0040 //PDF417为缩短模式
|
||||
#define BARCODEATTRIB_DATAMTX_DOTMODE 0x0080 //DataMtrix为点模式
|
||||
#define BARCODEATTRIB_CIRCLEMODE 0x0100 //自定义二维码为圆模式
|
||||
|
||||
|
||||
#define DATAMTX_SIZEMODE_SMALLEST 0
|
||||
#define DATAMTX_SIZEMODE_10X10 1
|
||||
#define DATAMTX_SIZEMODE_12X12 2
|
||||
#define DATAMTX_SIZEMODE_14X14 3
|
||||
#define DATAMTX_SIZEMODE_16X16 4
|
||||
#define DATAMTX_SIZEMODE_18X18 5
|
||||
#define DATAMTX_SIZEMODE_20X20 6
|
||||
#define DATAMTX_SIZEMODE_22X22 7
|
||||
#define DATAMTX_SIZEMODE_24X24 8
|
||||
#define DATAMTX_SIZEMODE_26X26 9
|
||||
#define DATAMTX_SIZEMODE_32X32 10
|
||||
#define DATAMTX_SIZEMODE_36X36 11
|
||||
#define DATAMTX_SIZEMODE_40X40 12
|
||||
#define DATAMTX_SIZEMODE_44X44 13
|
||||
#define DATAMTX_SIZEMODE_48X48 14
|
||||
#define DATAMTX_SIZEMODE_52X52 15
|
||||
#define DATAMTX_SIZEMODE_64X64 16
|
||||
#define DATAMTX_SIZEMODE_72X72 17
|
||||
#define DATAMTX_SIZEMODE_80X80 18
|
||||
#define DATAMTX_SIZEMODE_88X88 19
|
||||
#define DATAMTX_SIZEMODE_96X96 20
|
||||
#define DATAMTX_SIZEMODE_104X104 21
|
||||
#define DATAMTX_SIZEMODE_120X120 22
|
||||
#define DATAMTX_SIZEMODE_132X132 23
|
||||
#define DATAMTX_SIZEMODE_144X144 24
|
||||
#define DATAMTX_SIZEMODE_8X18 25
|
||||
#define DATAMTX_SIZEMODE_8X32 26
|
||||
#define DATAMTX_SIZEMODE_12X26 27
|
||||
#define DATAMTX_SIZEMODE_12X36 28
|
||||
#define DATAMTX_SIZEMODE_16X36 29
|
||||
#define DATAMTX_SIZEMODE_16X48 30
|
||||
|
||||
//加入条码到数据库中
|
||||
typedef int(*LMC1_ADDBARCODETOLIB)(TCHAR* pStr, //字符串
|
||||
TCHAR* pEntName,//字符串对象名称
|
||||
double dPosX, //字符左下角基点x坐标
|
||||
double dPosY, //字符左下角基点y坐标
|
||||
double dPosZ, //字符z坐标
|
||||
int nAlign,//对齐方式0-8
|
||||
int nPenNo,
|
||||
int bHatchText,
|
||||
int nBarcodeType,//条码类型
|
||||
WORD wBarCodeAttrib,//条码属性
|
||||
double dHeight,//整个条码的高
|
||||
double dNarrowWidth,//最窄模块宽
|
||||
double dBarWidthScale[4],//条宽比例 (与最窄模块宽相比)
|
||||
double dSpaceWidthScale[4],//空宽比例(与最窄模块宽相比)
|
||||
double dMidCharSpaceScale,//字符间隔比例(与最窄模块宽相比)
|
||||
double dQuietLeftScale,//条码左空白宽度比例(与最窄模块宽相比)
|
||||
double dQuietMidScale,//条码中空白宽度比例(与最窄模块宽相比)
|
||||
double dQuietRightScale,//条码右空白宽度比例(与最窄模块宽相比)
|
||||
double dQuietTopScale,//条码上空白宽度比例(与最窄模块宽相比)
|
||||
double dQuietBottomScale,//条码下空白宽度比例(与最窄模块宽相比)
|
||||
int nRow,//二维码行数
|
||||
int nCol,//二维码列数
|
||||
int nCheckLevel,//pdf417错误纠正级别0-8
|
||||
int nSizeMode,//DataMatrix尺寸模式0-30
|
||||
double dTextHeight,//人识别字符字体高度
|
||||
double dTextWidth,//人识别字符字体宽度
|
||||
double dTextOffsetX,//人识别字符X方向偏移
|
||||
double dTextOffsetY,//人识别字符Y方向偏移
|
||||
double dTextSpace,//人识别字符间距
|
||||
double dDiameter,
|
||||
TCHAR* pTextFontName);//文本字体名称
|
||||
|
||||
//获取条码参数
|
||||
typedef int(*LMC1_GETBARCODEPARAM)( TCHAR* pEntName,//对象名称
|
||||
WORD&wBarCodeAttrib,//条码属性
|
||||
int& nSizeMode,//尺寸模式
|
||||
int& nCheckLevel,//错误纠正级别
|
||||
int& nLangPage,//语言编码页
|
||||
double& dDiameter,
|
||||
int&nPointTimesN,//点倍数
|
||||
double& dBiDirOffset);//双向扫描补偿
|
||||
|
||||
//语言编码 int
|
||||
//Default 0
|
||||
//ANSI(7Bit 1252) 437
|
||||
//Latin - 1(ISO 8859 - 1) 850
|
||||
//Japanese(SHIFT - JIS, 932) 932
|
||||
//Korea(Hangul, 949) 949
|
||||
//Simple Chinses(GB2312, 936) 936
|
||||
//Trad chinese(BIG5, 950) 950
|
||||
//UNICODE(UTF8) 65001
|
||||
|
||||
//设置条码参数
|
||||
typedef int(*LMC1_SETBARCODEPARAM)(TCHAR* pEntName,//对象名称
|
||||
WORD wBarCodeAttrib,//条码属性
|
||||
int nSizeMode,// 尺寸模式
|
||||
int nCheckLevel,//错误纠正级别
|
||||
int nLangPage,//语言编码页
|
||||
double dDiameter,//圆模式直径(矩形模式单元模块高)
|
||||
int nPointTimesN,//点倍数
|
||||
double dBiDirOffset);//双向扫描补偿
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region IO
|
||||
|
||||
// 读lmc1的输入端口
|
||||
//输入参数: 读入的输入端口的数据
|
||||
typedef int(*LMC1_READPORT)(WORD& data);
|
||||
|
||||
// 读lmc1的输出端口
|
||||
//输入参数: 读入的输出端口的数据
|
||||
typedef int(*LMC1_GETOUTPORT)(WORD& data);
|
||||
|
||||
// 写lmc1的输出端口
|
||||
//输入参数: 要写到的输出端口的数据
|
||||
typedef int(*LMC1_WRITEPORT)(WORD data);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Hatch
|
||||
|
||||
|
||||
const int HATCHATTRIB_ALLCALC = 0x01;//全部对象整体计算
|
||||
const int HATCHATTRIB_EDGE = 0x02;//绕边走一次
|
||||
const int HATCHATTRIB_MINUP = 0x04;//最少起笔
|
||||
const int HATCHATTRIB_BIDIR = 0x08;//双向填充
|
||||
const int HATCHATTRIB_LOOP = 0x10;//环行填充
|
||||
const int HATCHATTRIB_OUT = 0x20;//环行由内向外
|
||||
const int HATCHATTRIB_AUTOROT = 0x40;//自动角度旋转
|
||||
const int HATCHATTRIB_AVERAGELINE = 0x80;//自动分布填充线
|
||||
const int HATCHATTRIB_CROSELINE = 0x400;//交叉填充
|
||||
|
||||
typedef int(*LMC1_GETHATCHPARAM3)(bool& bEnableContour,
|
||||
int nParamIndex,
|
||||
int& bEnableHatch,
|
||||
int& nPenNo,
|
||||
int& nHatchType,
|
||||
bool& bHatchAllCalc,
|
||||
bool& bHatchEdge,
|
||||
bool& bHatchAverageLine,
|
||||
double& dHatchAngle,
|
||||
double& dHatchLineDist,
|
||||
double& dHatchEdgeDist,
|
||||
double& dHatchStartOffset,
|
||||
double& dHatchEndOffset,
|
||||
double& dHatchLineReduction,//直线缩进
|
||||
double& dHatchLoopDist,//环间距
|
||||
int& nEdgeLoop,//环数
|
||||
bool& nHatchLoopRev,//环形反转
|
||||
bool& bHatchAutoRotate,//是否自动旋转角度
|
||||
double& dHatchRotateAngle,
|
||||
bool& nHatchCross);
|
||||
|
||||
|
||||
typedef int(*LMC1_SETHATCHPARAM3)(BOOL bEnableContour,//使能轮廓本身
|
||||
int nParamIndex,//填充参数序号值为1,2,3
|
||||
int bEnableHatch,//使能填充
|
||||
int nPenNo,//填充参数笔号
|
||||
int nHatchType,//填充类型 0单向 1双向 2回形 3弓形 4弓形不反向
|
||||
bool bHatchAllCalc,//是否全部对象作为整体一起计算
|
||||
bool bHatchEdge,//绕边一次
|
||||
bool bHatchAverageLine,//自动平均分布线
|
||||
double dHatchAngle,//填充线角度
|
||||
double dHatchLineDist,//填充线间距
|
||||
double dHatchEdgeDist,//填充线边距
|
||||
double dHatchStartOffset,//填充线起始偏移距离
|
||||
double dHatchEndOffset,//填充线结束偏移距离
|
||||
double dHatchLineReduction,//直线缩进
|
||||
double dHatchLoopDist,//环间距
|
||||
int nEdgeLoop,//环数
|
||||
bool nHatchLoopRev,//环形反转
|
||||
bool bHatchAutoRotate,//是否自动旋转角度
|
||||
double dHatchRotateAngle,//自动旋转角度
|
||||
bool bHatchCross);
|
||||
|
||||
typedef int(*LMC1_GETHATCHENTPARAM2)(TCHAR* HatchName,
|
||||
bool& bEnableContour,
|
||||
int nParamIndex,
|
||||
int& bEnableHatch,
|
||||
bool& bContourFirst,
|
||||
int& nPenNo,
|
||||
int& nHatchType,
|
||||
bool& bHatchAllCalc,
|
||||
bool& bHatchEdge,
|
||||
bool& bHatchAverageLine,
|
||||
double& dHatchAngle,
|
||||
double& dHatchLineDist,
|
||||
double& dHatchEdgeDist,
|
||||
double& dHatchStartOffset,
|
||||
double& dHatchEndOffset,
|
||||
double& dHatchLineReduction,//直线缩进
|
||||
double& dHatchLoopDist,//环间距
|
||||
int& nEdgeLoop,//环数
|
||||
bool& nHatchLoopRev,//环形反转
|
||||
bool& bHatchAutoRotate,//是否自动旋转角度
|
||||
double& dHatchRotateAngle,
|
||||
bool& bHatchCrossMode,
|
||||
int& dCycCount);
|
||||
|
||||
|
||||
typedef int(*LMC1_SETHATCHENTPARAM2)(TCHAR* HatchName,
|
||||
bool bEnableContour,
|
||||
int nParamIndex,
|
||||
int bEnableHatch,
|
||||
bool bContourFirst,
|
||||
int nPenNo,
|
||||
int nHatchType,
|
||||
bool bHatchAllCalc,
|
||||
bool bHatchEdge,
|
||||
bool bHatchAverageLine,
|
||||
double dHatchAngle,
|
||||
double dHatchLineDist,
|
||||
double dHatchEdgeDist,
|
||||
double dHatchStartOffset,
|
||||
double dHatchEndOffset,
|
||||
double dHatchLineReduction,//直线缩进
|
||||
double dHatchLoopDist,//环间距
|
||||
int nEdgeLoop,//环数
|
||||
bool nHatchLoopRev,//环形反转
|
||||
bool bHatchAutoRotate,//是否自动旋转角度
|
||||
double dHatchRotateAngle,
|
||||
bool bHatchCrossMode,
|
||||
int dCycCount);
|
||||
|
||||
typedef int(*LMC1_HATCHENT)(TCHAR* strEntName, TCHAR* strHatchEntName);
|
||||
typedef int(*LMC1_UNHATCHENT)(TCHAR* strHatchEntName);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Font
|
||||
|
||||
//获取当前默认的字体参数
|
||||
typedef int(*LMC1_GETFONTPARAM3)(TCHAR* strFontName, //字体名称
|
||||
double& dCharHeight, //字符高度
|
||||
double& dCharWidth, //字体宽度
|
||||
double& dCharAngle, //字体角度
|
||||
double& dCharSpace, //字体间距
|
||||
double& dLineSpace, //行间距
|
||||
BOOL& EqualCharWidth,//空字符宽度
|
||||
int& nTextAlign, //文本对齐方式
|
||||
BOOL& bBold, //粗体
|
||||
BOOL& bItalic); //斜体
|
||||
|
||||
//设置当前默认的字体参数
|
||||
typedef int(*LMC1_SETFONTPARAM3)(TCHAR* strFontName, //字体名称
|
||||
double dCharHeight, //字符高度
|
||||
double dCharWidth, //字体宽度
|
||||
double dCharAngle, //字体角度
|
||||
double dCharSpace, //字体间距
|
||||
double dLineSpace, //行间距
|
||||
BOOL EqualCharWidth,//空字符宽度
|
||||
int nTextAlign, //文本对齐方式
|
||||
BOOL bBold, //粗体
|
||||
BOOL bItalic );//斜体
|
||||
|
||||
|
||||
|
||||
//字体类型属性定义
|
||||
#define FONTATB_JSF 0x0001 //JczSingle字型
|
||||
#define FONTATB_TTF 0x0002 //TrueType字型
|
||||
#define FONTATB_DMF 0x0004 //DotMatrix字型
|
||||
#define FONTATB_BCF 0x0008 //BarCode字型
|
||||
|
||||
//字型记录
|
||||
struct lmc1_FontRecord
|
||||
{
|
||||
TCHAR szFontName[256]; //字体名字
|
||||
DWORD dwFontAttrib; //字体属性
|
||||
};
|
||||
|
||||
typedef int(*LMC1_GETFONTRECORDCOUNT)(int& nFontNum);
|
||||
|
||||
//得到当前系统支持的所有字体参数
|
||||
//输入参数: 无
|
||||
//输出参数: nFontNum 字体数目
|
||||
//返回参数: lmc1_FontRecord* 字体记录数组
|
||||
typedef lmc1_FontRecord* (*LMC1_GETALLFONTRECORD)(int Index, TCHAR*FontName, DWORD & FontAttrib);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Pen
|
||||
|
||||
//得到指定笔号对应的加工参数
|
||||
typedef int(*LMC1_GETPENPARAM)( int nPenNo,//要设置的笔号(0-255)
|
||||
int& nMarkLoop,//加工次数
|
||||
double& dMarkSpeed,//标刻次数mm/s
|
||||
double& dPowerRatio,//功率百分比(0-100%)
|
||||
double& dCurrent,//电流A
|
||||
int& nFreq,//频率HZ
|
||||
double& dQPulseWidth,//Q脉冲宽度us
|
||||
int& nStartTC,//开始延时us
|
||||
int& nLaserOffTC,//激光关闭延时us
|
||||
int& nEndTC,//结束延时us
|
||||
int& nPolyTC,//拐角延时us
|
||||
double& dJumpSpeed, //跳转速度mm/s
|
||||
int& nJumpPosTC, //跳转位置延时us
|
||||
int& nJumpDistTC,//跳转距离延时us
|
||||
double& dEndComp,//末点补偿mm
|
||||
double& dAccDist,//加速距离mm
|
||||
double& dPointTime,//打点延时 ms
|
||||
BOOL& bPulsePointMode,//脉冲点模式
|
||||
int& nPulseNum,//脉冲点数目
|
||||
double& dFlySpeed);
|
||||
|
||||
//得到对应笔号的参数
|
||||
typedef int(*LMC1_GETPENPARAM2)(int nPenNo,//要设置的笔号(0-255)
|
||||
int& nMarkLoop,//加工次数
|
||||
double& dMarkSpeed,//标刻次数mm/s
|
||||
double& dPowerRatio,//功率百分比(0-100%)
|
||||
double& dCurrent,//电流A
|
||||
int& nFreq,//频率HZ
|
||||
double& dQPulseWidth,//Q脉冲宽度us
|
||||
int& nStartTC,//开始延时us
|
||||
int& nLaserOffTC,//激光关闭延时us
|
||||
int& nEndTC,//结束延时us
|
||||
int& nPolyTC,//拐角延时us //
|
||||
double& dJumpSpeed, //跳转速度mm/s
|
||||
int& nJumpPosTC, //跳转位置延时us
|
||||
int& nJumpDistTC,//跳转距离延时us
|
||||
double& dPointTime,//打点延时 ms
|
||||
int& nSpiWave,//SPI波形
|
||||
BOOL& bWobbleMode,//抖动模式
|
||||
double& bWobbleDiameter,//抖动直径
|
||||
double& bWobbleDist);//抖动间距
|
||||
|
||||
//得到对应笔号的参数
|
||||
typedef int(*LMC1_GETPENPARAM4)(int nPenNo,//要设置的笔号(0-255)
|
||||
TCHAR sPenName[256],// 笔名字,默认default
|
||||
int& clr,//笔颜色
|
||||
BOOL& bDisableMark,//是否使能笔号,true关闭笔号不标刻
|
||||
BOOL& bUseDefParam,//是否使用默认值
|
||||
int& nMarkLoop,//加工次数
|
||||
double& dMarkSpeed,//标刻次数mm/s
|
||||
double& dPowerRatio,//功率百分比(0-100%)
|
||||
double& dCurrent,//电流A
|
||||
int& nFreq,//频率HZ
|
||||
double& dQPulseWidth,//Q脉冲宽度us
|
||||
int& nStartTC,//开始延时us
|
||||
int& nLaserOffTC,//激光关闭延时us
|
||||
int& nEndTC,//结束延时us
|
||||
int& nPolyTC,//拐角延时us //
|
||||
double& dJumpSpeed, //跳转速度mm/s
|
||||
int& nMinJumpDelayTCUs, //最小跳转延时us
|
||||
int& nMaxJumpDelayTCUs,//最大跳转延时us
|
||||
double& dJumpLengthLimit,//跳转长的极限
|
||||
double& dPointTime,//打点时间 ms
|
||||
BOOL& nSpiSpiContinueMode,//SPI连续模式
|
||||
int& nSpiWave,// SPI波形选择
|
||||
int& nYagMarkMode,// YAG优化填充模式
|
||||
BOOL& bPulsePointMode,//脉冲点模式
|
||||
int& nPulseNum,// 脉冲点数
|
||||
BOOL& bEnableACCMode,//使能加速模式
|
||||
double & dEndComp,//末点补偿
|
||||
double& dAccDist,//加速距离
|
||||
double& dBreakAngle,//中断角度,角度值
|
||||
BOOL& bWobbleMode,//抖动模式
|
||||
double & bWobbleDiameter,//抖动直径
|
||||
double& bWobbleDist);//抖动间距
|
||||
|
||||
|
||||
//设置指定笔号对应的加工参数
|
||||
typedef int(*LMC1_SETPENPARAM)(int nPenNo,//要设置的笔号(0-255)
|
||||
int nMarkLoop,//加工次数
|
||||
double dMarkSpeed,//标刻次数mm/s
|
||||
double dPowerRatio,//功率百分比(0-100%)
|
||||
double dCurrent,//电流A
|
||||
int nFreq,//频率HZ
|
||||
double dQPulseWidth,//Q脉冲宽度us
|
||||
int nStartTC,//开始延时us
|
||||
int nLaserOffTC,//激光关闭延时us
|
||||
int nEndTC,//结束延时us
|
||||
int nPolyTC,//拐角延时us //
|
||||
double dJumpSpeed, //跳转速度mm/s
|
||||
int nJumpPosTC, //跳转位置延时us
|
||||
int nJumpDistTC,//跳转距离延时us
|
||||
double dEndComp,//末点补偿mm
|
||||
double dAccDist,//加速距离mm
|
||||
double dPointTime,//打点延时 ms
|
||||
BOOL bPulsePointMode,//脉冲点模式
|
||||
int nPulseNum,//脉冲点数目
|
||||
double dFlySpeed);//飞行速度==0
|
||||
|
||||
|
||||
//设置指定笔号对应的加工参数
|
||||
typedef int(*LMC1_SETPENPARAM2)(int nPenNo,//要设置的笔号(0-255)
|
||||
int nMarkLoop,//加工次数
|
||||
double dMarkSpeed,//标刻次数mm/s
|
||||
double dPowerRatio,//功率百分比(0-100%)
|
||||
double dCurrent,//电流A
|
||||
int nFreq,//频率HZ
|
||||
double dQPulseWidth,//Q脉冲宽度us
|
||||
int nStartTC,//开始延时us
|
||||
int nLaserOffTC,//激光关闭延时us
|
||||
int nEndTC,//结束延时us
|
||||
int nPolyTC,//拐角延时us //
|
||||
double dJumpSpeed, //跳转速度mm/s
|
||||
int nJumpPosTC, //跳转位置延时us
|
||||
int nJumpDistTC,//跳转距离延时us
|
||||
double dPointTime,//打点延时 ms
|
||||
int nSpiWave,//SPI激光器波形设置
|
||||
BOOL bWobbleMode,//是否开启抖动功能
|
||||
double bWobbleDiameter,//抖动直径
|
||||
double bWobbleDist);//抖动间距
|
||||
|
||||
//设置对应笔号的参数
|
||||
typedef int(*LMC1_SETPENPARAM4)(int nPenNo,//要设置的笔号(0-255)
|
||||
TCHAR* sPenName,// 笔名字,默认default
|
||||
int clr,//笔颜色
|
||||
BOOL bDisableMark,//是否使能笔号,true关闭不标刻
|
||||
BOOL bUseDefParam,//是否使用默认值
|
||||
int nMarkLoop,//加工次数
|
||||
double dMarkSpeed,//标刻次数mm/s
|
||||
double dPowerRatio,//功率百分比(0-100%)
|
||||
double dCurrent,//电流A
|
||||
int nFreq,//频率HZ
|
||||
double dQPulseWidth,//Q脉冲宽度us
|
||||
int nStartTC,//开始延时us
|
||||
int nLaserOffTC,//激光关闭延时us
|
||||
int nEndTC,//结束延时us
|
||||
int nPolyTC,//拐角延时us //
|
||||
double dJumpSpeed, //跳转速度mm/s
|
||||
int& nMinJumpDelayTCUs, //最小跳转延时us
|
||||
int nMaxJumpDelayTCUs,//最大跳转延时us
|
||||
double dJumpLengthLimit,//跳转长的极限
|
||||
double dPointTime,//打点时间 ms
|
||||
BOOL nSpiSpiContinueMode,//SPI连续模式
|
||||
int nSpiWave,// SPI波形选择
|
||||
int nYagMarkMode,// YAG优化填充模式
|
||||
BOOL bPulsePointMode,//脉冲点模式
|
||||
int& nPulseNum,// 脉冲点数
|
||||
BOOL bEnableACCMode,//使能加速模式
|
||||
double dEndComp,//末点补偿
|
||||
double dAccDist,//加速距离
|
||||
double dBreakAngle,//中断角度
|
||||
BOOL bWobbleMode,//抖动模式
|
||||
double bWobbleDiameter,//抖动直径
|
||||
double bWobbleDist);//抖动间距
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Axis
|
||||
|
||||
//复位扩展轴坐标
|
||||
//输入参数: bEnAxis0 = 使能轴0 bEnAxis1 = 使能轴1
|
||||
//在程序中调用扩展轴相关的函数,必须先调用lmc1_Reset来设置使能对应的轴;当扩展轴运动到极限位置时,可以用此函数复位扩展轴坐标。
|
||||
typedef double(*LMC1_RESET)(BOOL bEnAxis0, BOOL bEnAxis1);
|
||||
|
||||
//扩展轴移动到指定坐标位置
|
||||
//输入参数: axis 扩展轴 0 = 轴0 1 = 轴1
|
||||
// GoalPos 坐标位置
|
||||
//在程序中调用lmc1_AxisMoveTo可以使扩展轴移动到指定坐标位置,扩展轴的运动速度使用设备参数里定义的最大速度。
|
||||
typedef int(*LMC1_AXISMOVETO)(int axis, double GoalPos);
|
||||
|
||||
//扩展轴校正原点
|
||||
//输入参数: axis 扩展轴 0 = 轴0 1 = 轴1
|
||||
//在程序中调用lmc1_AxisCorrectOrigin可以使扩展轴自动校正原点。
|
||||
typedef int(*LMC1_AXISCORRECTORIGIN)(int axis);
|
||||
|
||||
//得到扩展轴的当前坐标
|
||||
//输入参数: axis扩展轴 0 = 轴0 1 = 轴1
|
||||
typedef double(*LMC1_GETAXISCOOR)(int axis);
|
||||
|
||||
//扩展轴移动到指定脉冲坐标位置
|
||||
//输入参数: axis 扩展轴 0 = 轴0 1 = 轴1
|
||||
// nGoalPos 脉冲坐标位置
|
||||
typedef int(*LMC1_AXISMOVETOPULSE)(int axis, int nGoalPos);
|
||||
|
||||
//得到扩展轴的当前脉冲坐标
|
||||
//输入参数: axis扩展轴 0 = 轴0 1 = 轴1
|
||||
typedef int(*LMC1_GETAXISCOORPULSE)(int axis);
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#endif
|
||||
BIN
device/lasermark/libLaserMark.a
Normal file
BIN
device/lasermark/libLaserMark.a
Normal file
Binary file not shown.
Reference in New Issue
Block a user