金橙子打标卡二次开发应用
對金橙子卡進行二次開發,主要是利用MarkEzd.dll 。這個版本有對應關系,我目前只有2.5(2.5.3)?和2.7 (2.7.6)版本的開發包。但開發的軟件只要函數定義沒變,就是可以通用的。
開發可以vc6,vc2010下進行,官方說明是在vc6下進行,但我是在2010 下開發的。
我開發了一個演示軟件,確認可以控制金橙子卡打標,內雕。要注意的是所有開發的字符串是unicode 的。
演示程序可以在www.liwensoft.com下載: www.liwensoft.com/downloads/lasersoftEzcad2.7.6.zip?
百度鏈接:https://pan.baidu.com/s/1q5PSlfYc3cL4731fzPOi7w?
提取碼:cb3c?
?
3d雕刻的視頻(291mb)是在?www.liwensoft.com/downloads/engrave3D.mp4?
百度鏈接:https://pan.baidu.com/s/1PGwYFTFlOzAUur_Lz2hbAw?
提取碼:wjnh?
這個應用用金橙子控制振鏡雕刻,點云雕刻,平臺移動. 355nm紫光5W,頻率設置40k , 打點74萬,3分多種,打點時間設置為0.2 ms,點才比較白,如果這個時間設置為0.1 就快多了,但比較淡。?
?
本文主要內容是,概述,函數說明,開發步驟,來自金橙子的開發包。
1. 概述
MarkEzd.dll 是北京金橙子科技有限公司提供給用戶用于ezcad2和lmc1控制卡二
次開發的動態連接庫。
MarkEzdDll.h是MarkEzd.dll中輸出的函數的頭文件。
用戶可以使用VC6.0來進行開發。
MarkEzd.dll動態鏈接庫函數的調用方法為顯示調用,顯式調用方法需要調用
Windows API函數加載和釋放動態鏈接庫。
顯式調用方法如下:
1.調用Windows API函數LoadLibrary()動態加載DLL;
2.調用Windows API函數GetProcAddress()取得將要調用的DLL中函數的指
針;用函數指針調用DLL中函數完成相應功能;
3.在程序結束時或不再使用DLL中函數時,調用Windows API函數
FreeLibrary()釋放動態鏈接庫。
注意:調用MarkEzd.dll的程序必須放在ezcad2.exe同一個目錄下,否則
MarkEzd.dll將無法正常工作;而且ezcad2.exe在運行的時候MarkEzd.dll將無法
正常使用,所以在使用MarkEzd.dll時必須關閉ezcad2.exe。
2.函數說明
在MarkEzd.dll中所有函數(個別函數除外)返回值均為一個整形的通用錯誤碼
通用錯誤碼定義如下:
#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_PARAM1 20//錯誤的執行參數
#define LMC1_ERR_PARAM2 21//錯誤的硬件參數
注意: MarkEzd.dll 中所有函的 TCHAR 對象都必須是 UNICODE 字符。關于
如何把項目設置為 UNICODE 版請參考附錄一。
設備
函 數 名: lmc1_Initial
目 的:初始化 lmc1 控制卡。
語 法: int lmc1_Initial(TCHAR* strEzCadPath,BOOL bTestMode,HWND
hOwenWnd);
strEzCadPath 是 ezcad2.exe 所處的目錄的全路徑名稱;
bTestMode 指是否是測試模式,(測試模式控制卡相關函數無法工
作)
hOwenWnd 指擁有用戶輸入焦點的窗口,用于檢測用戶暫停消息。
描 述:在程序中必須首先調用 lmc1_Initial,其它函數才能工作。
返 回 值: 通用錯誤碼
函 數 名: lmc1_Initial2
目 的:初始化 lmc1 控制卡。
語 法: int lmc1_Initial2(TCHAR* strEzCadPath,BOOL bTestMode);
strEzCadPath 是 ezcad2.exe 所處的目錄的全路徑名稱;
bTestMode 指是否是測試模式(測試模式控制卡相關函數無法工作)
描 述:在程序中必須首先調用 lmc1_Initial2,其它函數才能工作。
返 回 值: 通用錯誤碼
函 數 名: lmc1_Close
目 的:關閉 lmc1 控制卡。
語 法: int lmc1_Close();
描 述:在程序中退出時必須調用 lmc1_Close 來關閉 lmc1 控制卡。
返 回 值: 通用錯誤碼
函 數 名: lmc1_SetDevCfg
目 的: 設置設備參數
語 法: int lmc1_SetDevCfg();
描 述:調用 lmc1_SetDevCfg 會自動彈出設備參數設置對話框,用戶可以設
置設備參數。
返 回 值: 通用錯誤碼
函 數 名: lmc1_SetDevCfg2
目 的: 設置設備參數
語 法: int lmc1_SetDevCfg2(BOOL bAxisShow0, BOOL bAxisShow1);
bAxisShow0 擴展軸 0 的界面是否顯示
bAxisShow1 擴展軸 1 的界面是否顯示
描 述:調用 lmc1_SetDevCfg2 會自動彈出設備參數設置對話框,可設置擴展
軸界面是否顯示,用戶可以設置設備參數。
返 回 值: 通用錯誤碼
函 數 名: lmc1_SetRotateMoveParam
目 的: 設置旋轉變換參數。
語 法 : void lmc1_SetRotateMoveParam (double dMoveX, double
dMoveY,double dCenterX,double dCenterY,double dRotateAng);
dMoveX X 方向移動距離
dMoveY Y 方向移動距離
dCenterX 旋轉中心 x 坐標
dCenterY 旋轉中心 y 坐標
dRotateAng 旋轉角度(弧度值)
描 述:在程序中調用 lmc1_ SetRotateMoveParam 來設置旋轉變換參數,使數
據庫中所有對象在加工時繞指定中心旋轉,然后移動指定距離。 不影響
數據的顯示,只是加工時才對對象進行旋轉。
返 回 值: 無
標刻
函 數 名: lmc1_Mark
目 的: 標刻當前數據庫里的所有數據。
語 法: int lmc1_Mark(BOOL bFlyMark);
bFlyMark= TRUE 使能飛動打標
描 述:在使用 lmc1_LoadEzdFile 載入 ezd 文件后即可以使用此函數開始打標
加工,此函數一直等待設備加工完畢后,或者用戶停止才返回。 即函
數結束表示加工結束。
返 回 值: 通用錯誤碼
函 數 名: lmc1_MarkEntity
目 的: 標刻當前數據庫里的指定名稱的對象。
語 法: int lmc1_MarkEntity(TCHAR* strEntName);
描 述:在使用 lmc1_LoadEzdFile 載入 ezd 文件后即可以使用此函數開始加工
指定名稱的對象,此函數一直等待設備加工完畢后才返回。
返 回 值: 通用錯誤碼
函 數 名: lmc1_MarkFlyByStartSignal
目 的: 飛行標刻當前數據庫里的所有數據。
語 法: int lmc1_ MarkFlyByStartSignal();
描 述:在使用此函數后,軟件開始等待飛行硬件信號(IN8/IN9,在飛行界面
中設置的),有信號后開始加工。
返 回 值: 通用錯誤碼
函 數 名: lmc1_MarkEntityFly
目 的:飛行標刻當前數據庫里的指定名稱的對象。
語 法: int lmc1_ MarkEntityFly(TCHAR* strEntName);
描 述:在使用 lmc1_LoadEzdFile 載入 ezd 文件后即可以使用此函數開始飛行
加工指定名稱的對象,此函數一直等待設備加工完畢后才返回。
返 回 值: 通用錯誤碼
函 數 名: lmc1_MarkLine
目 的: 標刻指定線段。
語 法: int lmc1_MarkLine(double x1,
double y1
double x2,
double y2,
int pen) ;
x1,y1 起點坐標
x2y2 終點坐標
pen 使用的筆號
返 回 值: 通用錯誤碼
函 數 名: lmc1_MarkPoint
目 的: 標刻指定點。
語 法: int lmc1_ MarkPoint(double x,
double y,
double delay,
int pen) ;
x,y 點坐標
delay 打標時間
pen 使用的筆號
返 回 值: 通用錯誤碼
函 數 名: lmc1_ MarkPointBuf2
目 的: 標刻指定的多個點。
語 法: int lmc1_ MarkPointBuf2(double ptBuf[][2],double dJumpSpeed,
double dLaserOnTimeMs) ;
ptBuf 點坐標組; ptBuf[n][0]表示第 n 個點的 x 坐標, ptBuf[n][1]表示
第 n 個點的 y 坐標
dJumpSpeed 在點之間的跳轉速度
dLaserOnTimeMs 點的打標時間,單位 ms
返 回 值: 通用錯誤碼
函 數 名: lmc1_IsMarking
目 的: 判斷卡正在處于工作狀態
語 法 : bool lmc1_IsMarking ();
描 述: 使用 lmc1_IsMarking 判斷板卡正在處于工作狀態
返 回 值: bool 值, true 標刻工作狀態
函 數 名: lmc1_StopMark
目 的: 強制停止加工或紅光。
語 法: int lmc1_StopMark();
描 述: 在程序中調用 lmc1_StopMark 來強制停止加工或紅光。
函 數 名: lmc1_RedLightMark
目 的: 標刻一次紅光顯示框。
語 法: int lmc1_RedLightMark() ;
描 述: 預覽一次全部對象的打標范圍。
返 回 值: 通用錯誤碼
函 數 名: lmc1_ RedLightMarkContour
目 的: 紅光預覽當前數據庫里面所有數據輪廓一次。
語 法: int lmc1_ RedLightMarkContour() ;
描 述:預覽軌跡與打標軌跡一致。如果預覽圓,軌跡就是一個圓。
返 回 值: 通用錯誤碼
函 數 名: lmc1_ RedLightMarkByEnt
目 的:紅光預覽當前數據庫里面指定對象。
語 法 : int lmc1_ RedLightMarkByEnt (TCHAR* strEntName , BOOL
bContour);
strEntName 對象名稱
bContour 顯示的是否是輪廓, true 顯示輪廓, false 顯示范圍
描 述:預覽打標位置。
返 回 值: 通用錯誤碼
函 數 名: lmc1_ GetFlySpeed
目 的: 獲取當前的飛行速度。
語 法: int lmc1_ GetFlySpeed(double& FlySpeed);
FlySpeed 流水線當前速度
描 述: 在設備空閑時可查詢流水線速度,即加工或紅光過程中不可使用。
返 回 值: 通用錯誤碼
文件
函 數 名: lmc1_LoadEzdFile
目 的:打開指定的 ezd 文件,并清除當前數據庫中的所有對象。
語 法: int lmc1_LoadEzdFile(TCHAR* strFileName);
描 述:在程序中一般用此函數來打開一個用戶建立 ezd 模板文件,這樣用戶
就不需要在程序中設置加工參數,因為模板中的加工參數會自動導入。
返 回 值: 通用錯誤碼
函 數 名: lmc1_GetPrevBitmap
目 的: 得到當前數據庫里的所有對象的預覽圖像。
語 法: Cbitmap* lmc1_GetPrevBitmap(HWND hwnd,int nBMPWIDTH,int
nBMPHEIGHT);
hwnd 需要顯示當前圖像的窗口句柄
nBMPWIDTH 需要生成的圖像的像素寬度
nBMPHEIGHT 需要生成的圖像的像素高度
描 述:在程序中調用 lmc1_GetPrevBitmap 得到當前數據庫里的所有對象的
預覽圖像的指針,可以用于更新界面顯示。
返 回 值: 如果成功會返回圖像句柄,返回值為空表示失敗
函 數 名: lmc1_GetPrevBitmap2
目 的: 得到當前數據庫里的所有對象的預覽圖像。
語 法: Cbitmap* lmc1_GetPrevBitmap2(int nBMPWIDTH,int nBMPHEIGHT);
nBMPWIDTH 需要生成的圖像的像素寬度
nBMPHEIGHT 需要生成的圖像的像素高度
描 述:在程序中調用 lmc1_GetPrevBitmap2 得到當前數據庫里的所有對象的
預覽圖像的指針,可以用于更新界面顯示。
返 回 值: 如果成功會返回圖像,返回值為空表示失敗
函 數 名: lmc1_GetPrevBitmapByName2
目 的: 得到當前數據庫里的所有對象的預覽圖像。
語 法: Cbitmap* lmc1_ lmc1_GetPrevBitmapByName2(TCHAR* strEntName ,
int nBMPWIDTH,int nBMPHEIGHT);
strEntName 對象名稱
nBMPWIDTH 需要生成的圖像的像素寬度
nBMPHEIGHT 需要生成的圖像的像素高度
描 述:在程序中調用 lmc1_ GetPrevBitmapByName2 得到當前數據庫里指定
對象的預覽圖像指針,可以用于更新界面顯示。
返 回 值: 如果成功會返回圖像,返回值為空表示失敗
函 數 名: lmc1_SaveEntLibToFile
目 的: 保存當前數據庫里所有對象到指定 ezd 文件里。
語 法: int lmc1_SaveEntLibToFile(TCHAR* strFileName) ;
strFileName ezd 文件名稱,最好是包括完全路徑
描 述: 保存當前數據庫里所有對象到指定 ezd 文件里。
返 回 值: 通用錯誤碼
對象
函 數 名: lmc1_GetEntSize
目 的: 得到指定對象的最大最小坐標。
語 法: int lmc1_GetEntSize(TCHAR* pEntName,
double& dMinx,
double& dMiny,
double& dMaxx,
double& dMaxy ,
double& dZ) ;
pEntName 對象名稱
dMinx 最小 x 坐標
dMiny 最小 y 坐標
dMaxx 最大 x 坐標
dMaxy 最大 y 坐標
dZ 對象的 Z 坐標
描 述: 得到指定對象的最大最小坐標。
返 回 值: 通用錯誤碼
函 數 名: lmc1_MoveEnt
目 的: 指定對象移動相對位置。
語 法: int lmc1_MoveEnt(TCHAR* pEntName,
double dMovex,
double dMovey) ;
pEntName 對象名稱
dMovex 對象移動 x 距離
dMovey 對象移動 y 距離
描 述: 指定對象移動相對位置。
返 回 值: 通用錯誤碼
函 數 名: lmc1_ScaleEnt
目 的: 指定對象進行縮放。
語 法: int lmc1_ScaleEnt(TCHAR* pEntName,
double dCenx,
double dCeny,
double dScalex,
double dScaley) ;
pEntName 對象名稱
dCenx 縮放的 X 中心
dCeny 縮放的 Y 中心
dScalex 縮放的 X 比例
dScaley 縮放的 Y 比例
描 述: 指定對象按設置中心進行一定比例的縮放。
返 回 值: 通用錯誤碼
函 數 名: lmc1_MirrorEnt
目 的: 指定對象進行鏡像。
語 法: int lmc1_MirrorEnt(TCHAR* pEntName,
double dCenx,
double dCeny,
BOOL bMirrorX,
BOOL bMirrorY) ;
pEntName 對象名稱
dCenx 鏡像的 X 中心
dCeny 鏡像的 Y 中心
bMirrorX 是否 X 方向鏡像, true 表示鏡像
bMirrorY 是否 Y 方向鏡像
描 述: 指定對象按設置中心進行鏡像。
返 回 值: 通用錯誤碼
函 數 名: lmc1_RotateEnt
目 的: 指定對象進行旋轉。
語 法: int lmc1_RotateEnt(TCHAR* pEntName,
double dCenx,
double dCeny,
double dAngle) ;
pEntName 對象名稱
dCenx 旋轉的 X 中心
dCeny 旋轉的 Y 中心
dAngle 旋轉的角度,單位是角度值
描 述: 指定對象按設置中心進行一點比例的旋轉。
返 回 值: 通用錯誤碼
函 數 名: lmc1_CopyEnt
目 的:復制對象。
語 法: int lmc1_CopyEnt(TCHAR* pEntName,
TCHAR* pNewEntName) ;
PEntName 要復制的對象
pNewEntName 復制后的對象名稱
描 述: 使用 lmc1_CopyEnt 復制粘貼指定對象,并對新對象命名
返 回 值: 通用錯誤碼
函 數 名: lmc1_GetEntityCount
目 的: 得到當前數據庫中的對象總數。
語 法: int lmc1_GetEntityCount() ;
描 述: 得到當前數據庫中的對象總數
返 回 值: 數據庫內對象總數
函 數 名: lmc1_GetEntityName
目 的: 得到指定序號的對象名稱。
語 法: int lmc1_GetEntityName(int nEntityIndex,
TCHAR szEntName[256]) ;
nEntityIndex 指定序號,范圍值為 0-對象總數(對象總數由函數
lmc1_GetEntityCount 得到)
szEntName 得到的對象名稱
描 述: 得到指定序號的對象名稱
返 回 值: 通用錯誤碼
函 數 名: lmc1_SetEntityName
目 的:設置指定序號的對象名稱。
語 法: int lmc1_SetEntityName(int nEntityIndex,
TCHAR* pEntName) ;
nEntityIndex 指定序號,范圍值為 0-對象總數(對象總數由函數
lmc1_GetEntityCount 得到)
pEntName 設置的對象名稱
描 述:設置指定序號的對象名稱
返 回 值: 通用錯誤碼
函 數 名: lmc1_ChangeEntName
目 的:修改對象名稱。
語 法: int lmc1_ChangeEntName(TCHAR* pEntName,
TCHAR* pNewEntName) ;
PEntName 要修改的對象名稱
pNewEntName 修改后的對象名稱
描 述:將原來的對象名稱設為新的。多個對象名稱相同,會全部改變。
返 回 值: 通用錯誤碼
函 數 名: lmc1_GroupEnt
目 的:群組
語 法: int lmc1_GroupEnt(TCHAR* pEntName1,
TCHAR* pEntName2,
TCHAR* pEntNameNew,
int pen) ;
pEntName1 群組對象 1 名稱
pEntName2 群組對象 2 名稱
pEntNameNew 群組后新對象名稱
pen 新對象使用的筆號
描 述: 群組 2 個對象,并設置群組新的對象名稱,以及筆號
返 回 值: 通用錯誤碼
函 數 名: lmc1_UnGroupEnt
目 的:解散群組
語 法: int lmc1_UnGroupEnt(TCHAR* pGroupEntName) ;
pGroupEntName 群組對象名稱
描 述: 解散群組
返 回 值: 通用錯誤碼
函 數 名: lmc1_ GetBitmapEntParam
目 的:獲取指定位圖的參數。
語 法: int lmc1_ GetBitmapEntParam(TCHAR* strEntName
TCHAR BmpPath [256],
int& nBmpAttrib,
int& nScanAttrib,
double& dBrightness,
double& dContrast,
double& dPointTime,
int& nImportDpi);
strEntName 位圖對象名稱
BmpPath 位圖對象路徑
nBmpAttrib 位圖參數
nScanAttrib 掃描參數
dBrightness 亮度設置[-1,1]
dContrast 對比度設置[-1,1]
dPointTime 打點時間設置
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
描 述:獲取指定位圖的參數
返 回 值: 通用錯誤碼
函 數 名: lmc1_ SetBitmapEntParam2
目 的:設置指定位圖的參數。
語 法: int lmc1_ SetBitmapEntParam2(TCHAR* strEntName
TCHAR* strBmpPath,
int nBmpAttrib,
int nScanAttrib,
double dBrightness,
double dContrast,
double dPointTime,
int nImportDpi);
strEntName 位圖對象名稱
strBmpPath 位圖對象路徑
nBmpAttrib 位圖參數
nScanAttrib 掃描參數
dBrightness 亮度設置[-1,1]
dContrast 對比度設置[-1,1]
dPointTime 打點時間設置
nImportDpi DPI
描 述:設置指定位圖的參數
返 回 值: 通用錯誤碼
函 數 名: lmc1_ MoveEntityBefore
目 的:向前移動對象
語 法: int lmc1_ MoveEntityBefore(int nMoveEnt , int nGoalEnt) ;
nMoveEnt 要移動的對象在對象列表中的位置
nGoalEnt 對象要在對象列表中移動到的位置
描 述:在對象列表中向前移動對象,改變打標順序。
返 回 值: 通用錯誤碼
函 數 名: lmc1_ MoveEntityAfter
目 的:向后移動對象
語 法: int lmc1_ MoveEntityAfter(int nMoveEnt , int nGoalEnt) ;
nMoveEnt 要移動的對象在對象列表中的位置
nGoalEnt 對象要在對象列表中移動到的位置
描 述:在對象列表中向后移動對象,改變打標順序。
返 回 值: 通用錯誤碼
函 數 名: lmc1_ ReverseAllEntOrder
目 的:顛倒所有對象在對象列表中的順序
語 法: int lmc1_ ReverseAllEntOrder() ;
描 述:顛倒所有對象在對象列表中的順序,改變打標順序。
返 回 值: 通用錯誤碼
端口
函 數 名: lmc1_ReadPort
目 的: 讀 lmc1 的輸入端口。
語 法: int lmc1_ReadPort(WORD& data);
data 輸入端口的數據
描 述:在程序中調用lmc1_ReadPort來讀入當前輸入端口的數據。 Bit0是In0
的狀態,Bit0=1表示In0為高電平,Bit0=0表示In0為低電平; Bit1是In1的狀態,Bit1=1
表示In1為高電平,Bit1=0表示In1為低電平;依次類推。如果獲取值為5,表示
IN0,IN2是高電平,其他端口都是低電平。
返 回 值: 通用錯誤碼
函 數 名: lmc1_WritePort
目 的: 寫 lmc1 的輸出端口。
語 法: int lmc1_WritePort(WORD data);
data 輸出端口的數據
描 述:在程序中調用 lmc1_WritePort 來輸出數據到當前輸出端口。Bit0 是 In0
的狀態,Bit0=1 表示 In0 為高電平,Bit0=0 表示 In0 為低電平;Bit1 是 In1
的狀態,Bit1=1 表示 In1 為高電平,Bit1=0 表示 In1 為低電平;依次類推。
如果設置值為 2,表示 OUT1 是高電平,其他端口都是低電平。
返 回 值: 通用錯誤碼
函 數 名: lmc1_GetOutPort
目 的: 讀 lmc1 的輸出端口。
語 法: int lmc1_GetOutPort(WORD& data);
data 當前輸出端口的數據
描 述:在程序中調用lmc1_ GetOutPort來讀入當前輸出端口的數據。Bit0是In0
的狀態,Bit0=1表示In0為高電平,Bit0=0表示In0為低電平; Bit1是In1的狀態,Bit1=1
表示In1為高電平,Bit1=0表示In1為低電平;依次類推。如果獲取值為5,表示
OUT0,OUT2是高電平,其他端口都是低電平。
返 回 值: 通用錯誤碼
函 數 名: lmc1_LaserOn
目 的:直接控制激光輸出,謹慎使用
語 法: int lmc1_LaserOn(BOOL Open);
Open 控制激光開關
描 述:在程序中調用lmc1_ LaserOn控制激光輸出
返 回 值: 通用錯誤碼
文本
函 數 名: lmc1_ChangeTextByName
目 的:更改指定名稱的文本對象的文本內容。
| 語 | 法 : int | lmc1_ChangeTextByName(TCHAR* strTextName, TCHAR* |
| strTextNew); strTextName | 要更改內容的文本對象的名稱 | |
| strTextNew | 新的文本內容 |
描 述:在使用 lmc1_LoadEzdFile 載入 ezd 文件后,在每次加工前即可以使用
此函數更改指定對象的內容。
返 回 值: 通用錯誤碼
函 數 名: lmc1_GetTextByName
目 的:獲取指定名稱的文本對象的文本內容。
| 語 | 法 : int | lmc1_GetTextByName(TCHAR* strTextName, | TCHAR |
| szEntText[256]); strTextName | 要獲取內容的文本對象的名稱 | ||
| szEntText | 文本內容 | ||
| 描 | 述:獲取指定名稱的文本對象的文本內容。 | ||
| 返 | 回 值: 通用錯誤碼 |
函 數 名: lmc1_TextResetSn
目 的:重置序列號
語 法: int lmc1_TextResetSn(TCHAR* pTextName) ;
PTextName 文本對象名稱
描 述:序列號復位為開始序號
返 回 值: 通用錯誤碼
函 數 名: lmc1_ GetFontRecordCount
目 的: 得到當前系統支持的所有字體數量。
語 法: int lmc1_ GetFontRecordCount(int& nFontNum);
nFontNum 字體數量
描 述:獲取軟件已經載入的所有字體數量
返 回 值: 通用錯誤碼
函 數 名: lmc1_ GetFontRecord
目 的: 得到當前系統支持的所有字體參數。
語 法 : int lmc1_ GetFontRecord ( int& nFontIndex,TCHAR
szFontName[256],DWORD& dwFontAttrib)
nFontIndex 字體序號
szFontName 字體名稱
dwFontAttrib 字體類型參數
描 述:獲取指定序號的字體的名稱以及類型參數
返 回 值: 通用錯誤碼
函 數 名: lmc1_GetAllFontRecord
目 的: 得到當前系統支持的所有字體參數。
語 法: lmc1_FontRecord* lmc1_GetAllFontRecord(int& nFontNum);
| nFontNum 字體數目 //字體類型屬性定義 #define FONTATB_JSF 0x0001 | //JczSingle 字型 |
| #define FONTATB_TTF 0x0002 | //TrueType 字型 |
| #define FONTATB_DMF 0x0004 | //DotMatrix 字型 |
| #define FONTATB_BCF 0x0008 | //BarCode 字型 |
| #define FONTATB_SHX 0x0010 | //SHX 字型 |
?
| //字型記錄 struct lmc1_FontRecord { TCHAR szFontName[256]; | //字體名字 |
| DWORD dwFontAttrib; | //字體屬性 |
| }; 描 | 述: 得到當前系統支持的所有字體參數。 |
| 返 | 回 值: 字型記錄數組指針 |
函 數 名: lmc1_SetFontParam
目 的: 設置當前默認的字體參數。
語 法: int lmc1_SetFontParam(TCHAR* strFontName
double dCharHeight,
double dCharWidth,
double dCharAngle,
double dCharSpace,
double dLineSpace,
BOOL bEqualCharWidth);
StrFontName 字體名稱
dCharHeight 字符高度
dCharWidth 字符寬度
dCharAngle 字符傾角(弧度值)
dCharSpace 字符間距
dLineSpace 行間距
bEqualCharWidth 等字符寬度模式
描 述:在程序中調用 lmc1_ SetFontParam 來設置當前字體參數,當下次向數
據庫添加文本對象時即使用此字體參數來生成文本對象。
返 回 值: 通用錯誤碼
函 數 名: lmc1_SetTextEntParam
目 的: 設置指定文本的字體參數。
語 法: int lmc1_SetTextEntParam(TCHAR* strTextName,
double dCharHeight,
double dCharWidth,
double dCharAngle,
double dCharSpace,
double dLineSpace,
BOOL bEqualCharWidth);
StrTextName 文本名稱
dCharHeight 字符高度
dCharWidth 字符寬度
dCharAngle 字符傾角(弧度值)
dCharSpace 字符間距
dLineSpace 行間距
bEqualCharWidth 等字符寬度模式
描 述: 設置指定文本的字體參數。
返 回 值: 通用錯誤碼
函 數 名: lmc1_SetTextEntParam2
目 的: 設置指定文本的字體參數。
語 法: int lmc1_SetTextEntParam2(TCHAR* strTextName,
TCHAR* strFontName,
double dCharHeight,
double dCharWidth,
double dCharAngle,
double dCharSpace,
double dLineSpace,
double dSpaceWidth,
BOOL bEqualCharWidth);
StrTextName 文本名稱
StrFontName 字體名稱
dCharHeight 字符高度
dCharWidth 字符寬度
dCharAngle 字符傾角(弧度值)
dCharSpace 字符間距
dLineSpace 行間距
dSpaceWidth 空字符寬帶
bEqualCharWidth 等字符寬度模式
描 述: 設置指定文本的字體參數。
返 回 值: 通用錯誤碼
函 數 名: lmc1_GetTextEntParam
目 的:獲取指定文本的字體參數。
語 法: int lmc1_GetTextEntParam(TCHAR* strTextName
TCHAR sFontName [256]
double& dCharHeight,
double& dCharWidth,
double& dCharAngle,
double& dCharSpace,
double& dLineSpace,
BOOL& bEqualCharWidth);
StrTextName 文本名稱
sFontName 字體名稱
dCharHeight 字符高度
dCharWidth 字符寬度
dCharAngle 字符傾角(弧度值)
dCharSpace 字符間距
dLineSpace 行間距
bEqualCharWidth 等字符寬度模式
描 述:獲取指定文本的字體參數。
返 回 值: 通用錯誤碼
函 數 名: lmc1_GetTextEntParam2
目 的:獲取指定文本的字體參數。
語 法: int lmc1_GetTextEntParam2(TCHAR* strTextName
TCHAR sFontName [256]
double& dCharHeight,
double& dCharWidth,
double& dCharAngle,
double& dCharSpace,
double& dLineSpace,
double& dSpaceWidth,
BOOL& bEqualCharWidth);
StrTextName 文本名稱
sFontName 字體名稱
dCharHeight 字符高度
dCharWidth 字符寬度
dCharAngle 字符傾角(弧度值)
dCharSpace 字符間距
dLineSpace 行間距
| dSpaceWidth | 空字符寬帶 |
| bEqualCharWidth | 等字符寬度模式 |
| 描 | 述:獲取指定文本的字體參數。 |
返 回 值: 通用錯誤碼
筆號
函 數 名: lmc1_GetPenParam
目 的: 得到對應筆號的參數。
語 法: 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); //流水線速度 |
描 述:在程序中調用 lmc1_GetPenParam 來讀出數據庫中對應筆號的參數。
返 回 值: 通用錯誤碼
函 數 名: lmc1_GetPenParam2
目 的: 得到對應筆號的參數。
語 法: 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); //抖動間距 |
描 述:在程序中調用 lmc1_GetPenParam2 來讀出數據庫中對應筆號的參數。
返 回 值: 通用錯誤碼
函 數 名: lmc1_GetPenParam4
目 的: 得到對應筆號的參數。
語 法: 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); //抖動間距
描 述:在程序中調用 lmc1_GetPenParam4 來讀出數據庫中對應筆號的參數。
返 回 值: 通用錯誤碼
函 數 名: lmc1_SetPenParam
目 的: 設置對應筆號參數
語 法: 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); //流水線速度 s |
描 述:在程序中調用 lmc1_SetPenParam 來設置數據庫中對應筆號的參數。
返 回 值: 通用錯誤碼
函 數 名: lmc1_SetPenParam2
目 的: 設置對應筆號參數
語 法: 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); //抖動間距 |
描 述:在程序中調用 lmc1_SetPenParam2 來設置數據庫中對應筆號的參數。
返 回 值: 通用錯誤碼
函 數 名: lmc1_SetPenParam4
目 的:設置對應筆號的參數。
語 法: 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); //抖動間距
描 述:在程序中調用 lmc1_SetPenParam4 來設置
數據庫中對應筆號的參數。
返 回 值: 通用錯誤碼
函 數 名: lmc1_ SetPenDisableState
目 的:設置筆號的使能。
語 法: int lmc1_ SetPenDisableState(int nPenNo,//要設置的筆號(0-255)
BOOL bDisableMark,//是否使能筆號, true 關閉不出光);
描 述:在程序中調用 lmc1_ SetPenDisableState 來關閉打開筆號,使筆號是否
出光。
返 回 值: 通用錯誤碼
函 數 名: lmc1_ GetPenDisableState
目 的: 獲取筆號的使能。
語 法: int lmc1_ GetPenDisableState(int nPenNo,//要設置的筆號(0-255)
BOOL& bDisableMark,//是否使能筆號, true 關閉不出光);
描 述:在程序中調用 lmc1_ GetPenDisableState 來獲取筆號是否能出光
返 回 值: 通用錯誤碼
函 數 名: lmc1_ GetPenNumberFromName
目 的:從筆名稱來獲取筆號。
語 法: int lmc1_ GetPenNumberFromName(TCHAR* sPenName); //筆名稱
描 述:在程序中調用 lmc1_ GetPenNumberFromName 來獲取指定名稱的筆號
值。
返 回 值: 筆號(0-255)
函 數 名: lmc1_ GetPenNumberFromEnt
目 的:獲取指定對象的筆號。
語 法: int lmc1_ GetPenNumberFromEnt(TCHAR* sEntName); //對象名稱
描 述:獲取指定對象的筆號。
返 回 值: 筆號(0-255)
函 數 名: lmc1_ SetEntAllChildPen
目 的:獲取指定對象的筆號。
語 法: int lmc1_ SetEntAllChildPen(TCHAR* sEntName, //對象名稱
int nPenNo,//要設置的筆號(0-255));
描 述:獲取指定對象的筆號。
返 回 值: 通用錯誤碼
填充
函 數 名: lmc1_SetHatchParam
目 的: 設置當前填充參數。
語 法: int lmc1_SetHatchParam(BOOL bEnableContour,//使能輪廓本身
int bEnableHatch1,//使能填充 1
int nPenNo1,//填充筆
int nHatchAttrib1,//填充屬性
double dHatchEdgeDist1,//填充線邊距
double dHatchLineDist1,//填充線間距
double dHatchStartOffset1,//填充線起始偏移距離
double dHatchEndOffset1,//填充線結束偏移距離
double dHatchAngle1,//填充線角度 (角度值)
int bEnableHatch2,//使能填充 2
int nPenNo2,//填充筆
int nHatchAttrib2,//填充屬性
double dHatchEdgeDist2,//填充線邊距
double dHatchLineDist2,//填充線間距
double dHatchStartOffset2,//填充線起始偏移距離
double dHatchEndOffset2,//填充線結束偏移距離
double dHatchAngle2);//填充線角度 (角度值)
);
bEnableContour 是否使能輪廓
| bEnableHatch1 | 使能填充 |
| nPenNo1 | 填充筆號 |
| nHatchAttrib1 | 填充屬性,填充屬性由下面幾個屬性相或組合 |
const int HATCHATTRIB_ALLCALC = 0x01;//全部對象作為整體一起計算
const int HATCHATTRIB_BIDIR = 0x08;//雙向填充
const int HATCHATTRIB_EDGE = 0x02;//走一次邊
const int HATCHATTRIB_LOOP = 0x10;//環形填充
dHatchEdgeDist1 填充線邊距
dHatchLineDist1 填充線間距
dHatchStartOffset1 填充線起始偏移距離
dHatchEndOffset1 填充線結束偏移距離
dHatchAngle1 填充線角度 (角度值)
填充 2 參數意義同填充 1 參數一樣。
描 述:在程序中調用 lmc1_SetHatchParam 來設置當前填充參數,當下次向
數據庫添加對象使能填充時,即使用此填充參數。(動態庫初始化之后,
會在內存里面保留 3 組默認填充參數,在添加新的對象時, 若需要被
創建的對象被填充,可以使用這個默認參數填充。)
返 回 值: 通用錯誤碼
函 數 名: lmc1_SetHatchParam2
目 的: 設置當前填充參數。
語 法: int lmc1_SetHatchParam2(
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//自動旋轉角度(角度值) );
描 述:在程序中調用 lmc1_SetHatchParam2 來設置當前填充參數,當下次向
數據庫添加對象使能填充時,即使用此填充參數。(動態庫初始化之后,會在內
存里面保留 3 組默認填充參數,在添加新的對象時,若需要被創建的對象被填充,
可以使用這個默認參數填充。)
返 回 值: 通用錯誤碼
函 數 名: lmc1_ SetHatchEntParam
目 的: 設置填充對象的參數。
語 法: int lmc1_SetHatchEntParam(
TCHAR* pHatchName,//填充對象名稱
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//自動旋轉角度(角度值)) ;
描 述: 修改填充對象的填充參數(如果指定對象已被填充,這個對象本身包
含 3 組填充參數,可以使用此接口去針對性的修改)
返 回 值: 通用錯誤碼
函 數 名: lmc1_ SetHatchEntParam2
目 的: 設置填充對象的參數。
語 法: int lmc1_SetHatchEntParam2(
TCHAR* pHatchName,//填充對象名稱
BOOL bEnableContour,//使能輪廓本身
int nParamIndex,//填充參數序號值為 1,2,3
int bEnableHatch,//使能填充
BOOL bContourFirst,//輪廓優先標刻
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 bHatchCrossMode,// 交叉填充
int dCycCount//數目);
描 述:修改填充對象的填充參數(如果指定對象已被填充,這個對象本身包
含 3 組填充參數,可以使用此接口去針對性的修改)
返 回 值: 通用錯誤碼
函 數 名: lmc1_ GetHatchEntParam
目 的:獲取填充對象的參數。
語 法: int lmc1_GetHatchEntParam(
TCHAR* pHatchName,//填充對象名稱
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//自動旋轉角度 (角度值)
描 述: 獲取填充對象的填充參數
返 回 值: 通用錯誤碼
函 數 名: lmc1_ GetHatchEntParam2
目 的:獲取填充對象的參數。
語 法: int lmc1_GetHatchEntParam2(
TCHAR* pHatchName,//填充對象名稱
BOOL& bEnableContour,//使能輪廓本身
Int nParamIndex,//填充參數序號值為 1,2,3
int& bEnableHatch,//使能填充
BOOL& bContourFirst,//輪廓優先標刻
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& bHatchCrossMode,// 交叉填充
int& dCycCount//數目);
描 述:獲取填充對象的填充參數
返 回 值: 通用錯誤碼
函 數 名: lmc1_HatchEnt
目 的:填充對象
語 法: int lmc1_ HatchEnt(TCHAR* pEntName,
TCHAR* pEntNameNew) ;
pEntName 被填充對象名稱
pEntNameNew 填充后對象名稱
描 述: 填充指定對象
返 回 值: 通用錯誤碼
函 數 名: lmc1_UnHatchEnt
目 的:刪除對象填充
語 法: int lmc1_UnHatchEnt(TCHAR* pHatchEntName) ;
pHatchEntName 被填充對象名稱
描 述: 刪除對象填充
返 回 值: 通用錯誤碼
添加刪除對象
函 數 名: lmc1_ClearEntLib
目 的: 清除對象庫里所有對象。
語 法: int lmc1_ClearEntLib();
描 述:在程序中調用 lmc1_ ClearEntLib 來清除對象庫里所有對象。
返 回 值: 通用錯誤碼
函 數 名: lmc1_DeleteEntLib
目 的:刪除對象庫里指定對象。
語 法: int lmc1_DeleteEnt(TCHAR* pEntName); //要刪除的對象名稱
描 述:刪除對象庫里指定對象。
返 回 值: 通用錯誤碼
函 數 名: lmc1_AddTextToLib
目 的: 加入新文本到數據庫中。
語 法: int lmc1_AddTextToLib(TCHAR* pStr,
TCHAR* pEntName,
double dPosX,
double dPosY,
double dPosZ,
int nAlign
double dTextRotateAngle,
int nPenNo,
BOOL bHatchText);//是否填充文本對象
pStr 要添加的字符串
pEntName 字符串對象名稱
dPosX 字符串的左下角基點的 x 坐標
dPosY 字符串的左下角基點的 y 坐標
dPosZ 字符串對象的 z 坐標
nAlign 對齊方式 0-8
//對齊方式時數字代表的意義
// 6 --- 5 --- 4
// | |
// | |
// 7 8 3
// | |
// | |
// 0 ----- 1 --- -- 2
| dTextRotateAngle | 字符串繞基點旋轉的角度值(弧度值) |
| nPenNo | 文本對象使用的筆號 |
| bHatchText | 是否填充文本對象 |
| 描 | 述:在程序中調用 lmc1_AddTextToLib 加入新文本對象到數據庫中。 |
| 返 | 回 值: 通用錯誤碼 |
| #define CIRTEXTFLAG_REVERSE | 0x0001 //反轉 |
| #define CIRTEXTFLAG_UPDOWN | 0x0002 //上下反轉 |
函 數 名: lmc1_AddCircleTextToLib
目 的: 加入新圓弧文本到數據庫中。
語 法: int lmc1_AddCircleTextToLib ( TCHAR *pStr,
TCHAR* pEntName,
double dCenX,
double dCenY,
double dCenZ,
int nPenNo,
int bHatchText,
double dCirDiameter,
double dCirBaseAngle,
BOOL bCirEnableAngleLimit,
double dCirAngleLimit,
int nCirTextFlag);
pStr //字符串
pEntName //字符串對象名稱
dCenX //字符左下角基點 x 坐標
dCenY //字符左下角基點 y 坐標
dCenZ //字符 z 坐標
nPenNo //文本對象使用的筆號
bHatchText //是否填充文本
dCirDiameter //基準圓直徑
dCirBaseAngle //文字基準角度
bCirEnableAngleLimit //是否使能角度限制
dCirAngleLimit //限制的角度
inCirTextFlag //文本在圓上的方向
返回值:通用的錯誤代碼
函 數 名: lmc1_GetCircleTextParam
目 的: 獲得指定圓弧文本對象的參數。
語 法: int lmc1_GetCircleTextParam ( TCHAR* pEntName,
double& dCenX,
double& dCenY,
double &dCenZ,
double& dCirDiameter,
double& dCirBaseAngle,
BOOL& bCirEnableAngleLimit,
Double& dCirAngleLimit,
int& nCirTextFlag);
pEntName //字符串對象名稱
dCenX //字符左下角基點 x 坐標
dCenY //字符左下角基點 y 坐標
dCenZ //字符 z 坐標
dCirDiameter //基準圓直徑
dCirBaseAngle //文字基準角度
bCirEnableAngleLimit //是否使能角度限制
dCirAngleLimit //限制的角度
nCirTextFlag //文本在圓上的方向
返回值:通用的錯誤代碼
函 數 名: lmc1_SetCircleTextParam
目 的: 設置指定圓弧文本對象的參數。
語 法: int lmc1_SetCircleTextParam ( TCHAR* pEntName,
double dCenX,
double dCenY,
double dCenZ,
double dCirDiameter,
double dCirBaseAngle,
BOOL bCirEnableAngleLimit,
double dCirAngleLimit,
int nCirTextFlag);
pEntName //字符串對象名稱
dCenX //字符左下角基點 x 坐標
dCenY //字符左下角基點 y 坐標
dCenZ //字符 z 坐標
dCirDiameter //基準圓直徑
dCirBaseAngle //文字基準角度
bCirEnableAngleLimit //是否使能角度限制
dCirAngleLimit //限制的角度
nCirTextFlag //文本在圓上的方向
返回值:通用的錯誤代碼
函 數 名: lmc1_AddCurveToLib
目 的: 加入曲線到數據庫中。
語 法: int lmc1_AddCurveToLib(double ptBuf[][2],//曲線頂點數組
int ptNum,//曲線頂點數
TCHAR* pEntName,//曲線對象名稱
int nPenNo,//曲線對象使用的筆號
int bHatch);//曲線是否填充
描 述:在程序中調用 lmc1_AddCurveToLib 加入曲線對象到數據庫中。
返 回 值: 通用錯誤碼
函 數 名: lmc1_AddPointToLib
目 的: 加入一組點到數據庫中。
語 法: int lmc1_AddPointToLib(double ptBuf[][2],//點位置數組
int ptNum,//點的個數
TCHAR* pEntName,//點對象名稱
int nPenNo);//點對象使用的筆號
描 述:在程序中調用 lmc1_AddPointToLib 加入一組點對象到數據庫中。
返 回 值: 通用錯誤碼
函 數 名: lmc1_AddDelayToLib
目 的: 加入延時到數據庫中。
語 法: int lmc1_AddDelayToLib(double dDelayMs);//延時時長,單位 ms
描 述:在程序中調用 lmc1_ AddDelayToLib 加入一個延時到數據庫中。
返 回 值: 通用錯誤碼
函 數 名: lmc1_AddWritePortToLib
目 的: 加入輸出口到數據庫中。
語 法: int lmc1_AddWritePortToLib(int nOutPutBit,//輸出口的值, 0 到 15
BOOL bHigh, //是否是高電平
BOOL bPluse, //是否是脈沖
double dPulseTimeMs);//脈沖長的,單位 ms
描 述: 加入一個輸出口到數據庫中。
返 回 值: 通用錯誤碼
函 數 名: lmc1_AddFileToLib
目 的: 加入指定文件到數據庫中。
語 法: 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)
pFileName 要添加的文件名稱, 支持的文件格式有 ezd,dxf,dst,
plt,ai,bmp,jpg,tga,png,gif,tiff 等
pEntName 文件對象名稱
dPosX 文件的左下角基點的 x 坐標
dPosY 文件的左下角基點的 y 坐標
dPosZ 文件對象的 z 坐標
nAlign 對齊方式 0-8
dRatio 文件縮放比例
nPenNo 文件對象使用的筆號
bHatchFile 是否填充文件對象
描 述:在程序中調用 lmc1_AddFileToLib 加入新文件對象到數據庫中。
返 回 值: 通用錯誤碼
函 數 名: lmc1_AddBarCodeToLib
目 的: 增加條碼對象到數據庫里。
語 法: int lmc1_AddBarCodeToLib((TCHAR* pStr,
TCHAR* pEntName,
double dPosX,
double dPosY,
double dPosZ,
int nAlign,
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,
int nSizeMode,
double dTextHeight,
double dTextWidth,
double dTextOffsetX,
double dTextOffsetY,
double dTextSpace,
double dDiameter,
TCHAR* pTextFontName);
pStr 條碼表示的字符串
pEntName 條碼對象名稱
dPosX, 條碼左下角基點 x 坐標
dPosY 條碼左下角基點 y 坐標
dPosZ 條碼 z 坐標
nAlign, 對齊方式 0-8
nPenNo 使用的筆號
bHatchText 是否填充條碼
nBarcodeType 條碼類型
#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_MICROQRCODE = 20
wBarCodeAttrib 條碼屬性
//const WORD BARCODE_ATT_CHECKNUM = 0x0004;//自校驗
//const WORD BARCODE_ATT_REVERSE = 0x0008;//反轉
//const WORD BARCODE_ATT_SHORTMODE = 0x0040;//二維碼縮短模式
//const WORD BARCODE_ATT_DOTMODE = 0x0080;//二維碼為點模式
//const WORD BARCODE_ATT_CIRCLEMODE = 0x0100;//二維碼為圓模式
//const WORD BARCODE_ATT_ENABLETILDE = 0x0200;//DataMatrix 使能~
//const WORD BARCODE_ATT_RECTMODE = 0x0400;//二維碼為矩形模式
//const WORD BARCODE_ATT_SHOWCHECKNUM = 0x0800;//顯示校驗碼文字
//const WORD BARCODE_ATT_HUMANREAD = 0x1000;//顯示人識別字符
//const WORD BARCODE_ATT_NOHATCHTEXT = 0x2000;//不填充字符
//const WORD BARCODE_ATT_BWREVERSE = 0x4000;//黑白反轉
//const WORD BARCODE_ATT_2DBIDIR = 0x8000;//2 維碼雙向排列
| dHeight | 整個條碼的高 |
| dNarrowWidth | 最窄模塊寬 |
dBarWidthScale 條寬比例(與最窄模塊寬相比)
dSpaceWidthScale 空寬比例(與最窄模塊寬相比)
dMidCharSpaceScale 字符間隔比例(與最窄模塊寬相比)
dQuietLeftScale 條碼左空白寬度比例(與最窄模塊寬相比)
dQuietMidScale 條碼中空白寬度比例(與最窄模塊寬相比)
dQuietRightScale 條碼右空白寬度比例(與最窄模塊寬相比)
dQuietTopScale 條碼上空白寬度比例(與最窄模塊寬相比)
dQuietBottomScale 條碼下空白寬度比例(與最窄模塊寬相比)
nRow 二維碼行數
nCol 二維碼列數
nCheckLevel,//pdf417 錯誤糾正級別 0-8
nSizeMode, //QRCODE 尺寸模式 0-40
//DataMatrix 尺寸模式 0-30
#define QRCODE_SIZEMODE_SMALLEST 0
#define QRCODE _SIZEMODE_VERSION1 1
#define QRCODE _SIZEMODE_VERSION2 2
#define QRCODE _SIZEMODE_VERSION3 3
#define QRCODE _SIZEMODE_VERSION4 4
#define QRCODE _SIZEMODE_VERSION5 5
#define QRCODE _SIZEMODE_VERSION6 6
#define QRCODE _SIZEMODE_VERSION7 7
#define QRCODE _SIZEMODE_VERSION8 8
#define QRCODE _SIZEMODE_VERSION9 9
#define QRCODE _SIZEMODE_VERSION10 10
#define QRCODE _SIZEMODE_VERSION11 11
#define QRCODE _SIZEMODE_VERSION12 12
#define QRCODE _SIZEMODE_VERSION13 13
#define QRCODE _SIZEMODE_VERSION14 14
#define QRCODE _SIZEMODE_VERSION15 15
#define QRCODE _SIZEMODE_VERSION16 16
#define QRCODE _SIZEMODE_VERSION17 17
#define QRCODE _SIZEMODE_VERSION18 18
#define QRCODE _SIZEMODE_VERSION19 19
#define QRCODE _SIZEMODE_VERSION20 20
#define QRCODE _SIZEMODE_VERSION21 21
#define QRCODE _SIZEMODE_VERSION22 22
#define QRCODE _SIZEMODE_VERSION23 23
#define QRCODE _SIZEMODE_VERSION24 24
#define QRCODE _SIZEMODE_VERSION25 25
#define QRCODE _SIZEMODE_VERSION26 26
#define QRCODE _SIZEMODE_VERSION27 27
#define QRCODE _SIZEMODE_VERSION28 28
#define QRCODE _SIZEMODE_VERSION29 29
#define QRCODE _SIZEMODE_VERSION30 30
#define QRCODE _SIZEMODE_VERSION31 31
#define QRCODE _SIZEMODE_VERSION32 32
#define QRCODE _SIZEMODE_VERSION33 33
#define QRCODE _SIZEMODE_VERSION34 34
#define QRCODE _SIZEMODE_VERSION35 35
#define QRCODE _SIZEMODE_VERSION36 36
#define QRCODE _SIZEMODE_VERSION37 37
#define QRCODE _SIZEMODE_VERSION38 38
#define QRCODE _SIZEMODE_VERSION39 39
#define QRCODE _SIZEMODE_VERSION40 40
#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
dTextHeight 人識別字符字體高度
dTextWidth 人識別字符字體寬度
dTextOffsetX 人識別字符 X 方向偏移
dTextOffsetY 人識別字符 Y 方向偏移
dTextSpace 人識別字符間距
dDiameter 圓模式直徑(矩形模式單元模塊高)
pTextFontName 文本字體名稱
描 述:在程序中調用 lmc1_ AddBarCodeToLib 增加條碼對象到數據庫里。
返 回 值: 通用錯誤碼
函 數 名: lmc1_GetBarcodeParam
目 的: 獲取條碼參數
語 法: int lmc1_GetBarcodeParam(TCHAR* pEntName,
WORD&wBarCodeAttrib,
int& nSizeMode,
int& nCheckLevel,
int& nLangPage,
double& dDiameter,
int&nPointTimesN,
double& dBiDirOffset);
pEntName 對象名稱
| wBarCodeAttrib | 條碼屬性 |
| nSizeMode | 尺寸模式 |
| nCheckLevel | 錯誤糾正級別 |
| nLangPage | 語言編碼頁 |
| nPointTimesN | 點倍數 |
| dBiDirOffset | 雙向掃描補償 |
| 描 | 述: 獲取指定條碼對象屬性參數,具體屬性值可參考添加條碼函數 |
| 返 | 回 值: 通用錯誤碼 |
函 數 名: lmc1_SetBarcodeParam
目 的: 設置條碼參數
語 法: int lmc1_SetBarcodeParam(TCHAR* pEntName,
WORD wBarCodeAttrib,
int nSizeMode,
int nCheckLevel,
int nLangPage,
double dDiameter,
int nPointTimesN,
| double | dBiDirOffset); |
| pEntName | 對象名稱 |
| wBarCodeAttrib | 條碼屬性 |
| nSizeMode | 尺寸模式 |
| nCheckLevel | 錯誤糾正級別 |
| nLangPage | 語言編碼頁 |
| nPointTimesN | 點倍數 |
| 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 |
| 描 | 述:設置指定條碼對象屬性參數,具體屬性值可參考添加條碼函數 |
| 返 | 回 值: 通用錯誤碼 |
擴展軸
函 數 名: lmc1_Reset
目 的: 復位擴展軸坐標。
語 法: int lmc1_Reset(BOOL bEnAxis0 , BOOL bEnAxis1);
bEnAxis0 是否使能擴展軸號 0
bEnAxis1 是否使能擴展軸號 1
描 述:在程序中調用擴展軸相關的函數,必須先調用 lmc1_Reset 來設置使
能對應的軸,當擴展軸運動到極限位置時,可以用此函數復位擴展軸
坐標。
返 回 值: 通用錯誤碼
函 數 名: lmc1_AxisCorrectOrigin
目 的: 擴展軸校正原點。
語 法: int lmc1_AxisCorrectOrigin(int axis);
axis 指定要校正原點的擴展軸號 0 = 軸 0 1 = 軸 1
描 述:在程序中調用 lmc1_ AxisCorrectOrigin 可以使擴展軸自動校正原點。
返 回 值: 通用錯誤碼
函 數 名: lmc1_AxisMoveTo
目 的: 擴展軸移動到指定坐標位置。
語 法: int lmc1_AxisMoveTo(int axis,double GoalPos);
axis 指定要運動的擴展軸號 0 = 軸 0 1 = 軸 1
GoalPos 坐標絕對位置
描 述:在程序中調用 lmc1_ AxisMoveTo 可以使擴展軸移動到指定坐標位置,
擴展軸的運動速度使用設備參數里定義的最大速度。
返 回 值: 通用錯誤碼
函 數 名: lmc1_ AxisMoveToPulse
目 的: 擴展軸移動到指定脈沖位置。
語 法: int lmc1_AxisMoveToPulse(int axis, int GoalPos);
axis 指定要運動的擴展軸號 0 = 軸 0 1 = 軸 1
GoalPos 坐標絕對脈沖位置
描 述:在程序中調用 lmc1_ AxisMoveToPulse 可以使擴展軸移動到指定脈沖
位置,擴展軸的運動速度使用設備參數里定義的最大速度。
返 回 值: 通用錯誤碼
函 數 名: lmc1_GetAxisCoor
目 的: 得到擴展軸的當前坐標。
語 法: double lmc1_GetAxisCoor(int axis);
axis 指定的擴展軸號 0 = 軸 0 1 = 軸 1
描 述:在程序中調用 lmc1_ GetAxisCoor 得到擴展軸的當前坐標。
返 回 值: 擴展軸的當前坐標
函 數 名: lmc1_GetAxisCoorPulse
目 的: 得到擴展軸的當前脈沖。
語 法: int lmc1_GetAxisCoorPulse(int axis);
axis 指定的擴展軸號 0 = 軸 0 1 = 軸 1
描 述:在程序中調用 lmc1_ GetAxisCoorPulse 得到擴展軸的當前脈沖。
返 回 值: 擴展軸的當前脈沖值
3.開發步驟
下面我們結合一個實例來講解如何進行二次開發。
客戶要求在一個矩形工件中心加工一行文本(如下圖所示),每個工件要加
工的文本都必須從網絡服務器上去在線查詢獲得。
用戶要進行二次開發一般的步驟如下:
1. 先用 ezcad2 建立一個模板文件 test.ezd,然后新建一個文本對象,把文本對象
命名為”name”。然后調節文本大小,位置和加工參數使加工效果達到客戶要
求,此時保存文件并退出 ezcad2。
2. 編寫專用軟件調用 MarkEzd.dll 動態鏈接庫
第一步: .動態加載MarkEzd.dll
HINSTANCE hEzdDLL = LoadLibrary(_T("MarkEzd.dll"));
第二步: .取得將要調用的DLL中函數的指針
lmc1_Initial=(LMC1_INITIAL)GetProcAddress(hEzdDLL,
_T("lmc1_Initial"));
lmc1_Close=(LMC1_CLOSE)GetProcAddress(hEzdDLL,
_T("lmc1_Close"));
lmc1_LoadEzdFile=(LMC1_LOADEZDFILE)GetProcAddress(hEzdDLL,_
T("lmc1_LoadEzdFile"));
lmc1_Mark=(LMC1_MARK)GetProcAddress(hEzdDLL,_T("lmc1_Mark"));
lmc1_ChangeTextByName=(LMC1_CHANGETEXTBYNAME)GetProcAd
dress(hEzdDLL,_T("lmc1_ChangeTextByName"));
第三步:用函數指針調用DLL中函數完成相應功能
1)初始化lmc1控制卡 lmc1_Initial()
2)打開 test.ezd lmc1_LoadEzdFile(_T(“test.ezd”))。
3)從網絡服務器上去在線查詢獲得要加工的文本 (需要用戶自己編寫這段
程序)
4)更新更改指定名稱的文本對象的文本內容
假設上一步取得的文本是“1234567”
lmc1_ChangeTextByName(_T(“name” ), _T(“1234567” ) );
5)調用lmc1_Mark加工
6)如果還要加工則返回第3步繼續。
7)關閉lmc1控制卡 lmc1_Close();
第四步:
調用Windows API函數釋放動態鏈接庫。
FreeLibrary(hEzdDLL)
總結
以上是生活随笔為你收集整理的金橙子打标卡二次开发应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5.7和5.6的mysql_mysql5
- 下一篇: 小程序 node.js mysql_基于