對于Pro/ENGINEER的二次開發(fā)隨著相關(guān)的軟件版本的更新,涉及到了開發(fā)工具種類和相關(guān)設置以及其不同版本與Pro/ENGINEER的相互兼容問題。就開發(fā)工具VC而言,對于Pro/ENGINEER 2000i、2001、Wildfire 2.0只能用VC++6.0,而Pro/ENGINEER 3.0只能用VC.NET 2003,最新版本的Pro/ENGINEER 4.0只能用VC 2005。
就開發(fā)工具種類而言,明顯的變化是在Pro/ENGINEER 4.0提供了VB的支持,包括VB 2005.net以及類似于word、excel的VBA,并且函數(shù)比較全,而且完全基于類的方法。對于Pro/TOOLKIT,它是PTC提供用于對Pro/ENGINEER進行二次開發(fā)的有效工具。Pro/TOOLKIT提供了大量的C語言函數(shù),幫助我們利用C語言編程來增加Pro/ENGINEER的功能。
本文應用VC 2005結(jié)合Pro/ENGINEER 4.0的功能模塊Pro/TOOLKIT進行二次開發(fā),通過給Pro/ENGINEER中添加菜單來訪問外部刀具庫,對數(shù)控加工過程中刀具參數(shù)實現(xiàn)文件化操作,解決Pro/ENGINEER在NC序列設置刀具的設定中需要逐個輸入刀具參數(shù)的問題。
一、總體方案
Pro/TOOLKIT并不提供對MFC的支持,利用MFC強大功能實現(xiàn)對話框的開發(fā)。其與刀具數(shù)據(jù)庫的連接必須運用通信方式實現(xiàn),應用程序可使用DLL動態(tài)鏈接庫文件實現(xiàn)。
采用VC 2005編寫動態(tài)連接庫訪問數(shù)據(jù)庫,最后編寫與Pro/TOOLKIT的接口,然后在Pro/ENGINEER系統(tǒng)中加載Pro/TOOLKIT應用程序。
利用VC 2005提供的MFC開發(fā)人機交互界面,它能向用戶提供圖形與文字共存的可視化環(huán)境,使操作自然、簡便和快速,并且設計、調(diào)試及修改都比較方便,技術(shù)也比較成熟。
這里采用了Access數(shù)據(jù)庫作為刀具庫的數(shù)據(jù)源,以ODBC作為接口,數(shù)據(jù)庫的調(diào)用、編寫簡單,在VC 2005中可直接調(diào)用。
二、程序的編制
1.建立刀具庫并設置數(shù)據(jù)源
在Pro/NC加工中,主要加工類型為銑削和車削,還能進行線切割。以銑削為例,對工件進行曲面銑削中采用的端銑刀刀具設定對話框為例,如圖1所示。

由此,我們可以根據(jù)對話框界面所需輸入?yún)?shù)的要求確定數(shù)據(jù)庫中一個表格的字段個數(shù),如圖2所示。

根據(jù)常用的端銑刀數(shù)據(jù)建立數(shù)據(jù)庫表,數(shù)據(jù)庫名稱為銑削刀具庫.mdb。然后對數(shù)據(jù)源進行設定:在Windows系統(tǒng)中的控制面板→管理工具→數(shù)據(jù)源選項(ODBC)→用戶DSN,設置添加數(shù)據(jù)源驅(qū)動程序,Driver do Microsoft Access,數(shù)據(jù)源名稱為milling,最后指定到銑削刀具庫的端銑刀數(shù)據(jù)表。
2.MFC程序1sjk.dll的編寫
(1)添加刀具庫類CDaoju,建立MFC數(shù)據(jù)庫接口在VC 2005開發(fā)環(huán)境中通過菜單項目→添加→MFC ODBC,使用者來新建一個基于CRecordset的類(CDaoju)映射于已經(jīng)建好的數(shù)據(jù)庫表,即選擇前面已注冊好的ODBC數(shù)據(jù)源車刀,再選擇表(para),完成后程序自動加入代碼,從而獲得了可以應用的表格字段。
(2)刀具庫顯示對話框的設計
1)創(chuàng)建對話框資源:在VC 2005開發(fā)環(huán)境中通過菜單項目→添加→資源→Dialog→新建生成新的對話框。
2)在對話框上添加一個列表控件,右擊列表控件設定其屬性中外觀,查看(View)生成報告(Report)。
3)雙擊對話框創(chuàng)建基于該對話框的類(cshow),自動生成CDialog派生類定義的頭文件和相應的實現(xiàn)文件。
4)雙擊列表控件,給列表控件添加成員變量m_mcutter。
5)右擊基于對話框的類,點擊添加→函數(shù),給出相應的對話框初始函數(shù)OnInitDialog()。
BOOL CDBDlg::OnInitDialog()
{
…
Chuangjiankongbiao(); //建立表
…
str = m _mcut.
GetDefaultConnect(); //得到字符串
“ODBC;DSN=Milling”
str+=m_mcut.
GetDefaultSQL(); //得到總的字符為
ODBC;DSN=Milling[端銑刀]
SetWindowText(str); //設置
窗體的名稱
create=true;
Huodeshuju();
return TRUE;
}
6)在類視圖中選中CDBDlg,右擊添加函數(shù)Chuangjiankongbiao()和函數(shù)Huodeshuju()。
void CDBDlg::Chuangjiankongbiao()
{
m_mcutter.InsertColumn(0,”
刀具類型”,LVCFMT_CENTER,
138,0); //插入一列
…
m_mcutter.InsertColumn(8,”
長度”,LVCFMT_CENTER,66,
0);
}
void CDBDlg::Huodeshuju()
{
…
{
pd.iItem=k;
pd.iSubItem=0;
pd.pszText=m_mcut.m_TOOL_
TYPE.LockBuffer();
m_mcutter.InsertItem(&pd);
…
pd.iSubItem=8;
printf(pd.pszText,"%10.3f",
m_mcut.m_Length);
m_mcutter.SetItem(&pd);
m_mcut.MoveNext();
}
}
7)在對話框中,使列表控件在處于選中右擊,給該控件添加右鍵單擊消息NM_RCLICK,
應給出相應的消息函數(shù),功能是彈出輸出數(shù)據(jù)的命令菜單,如圖3所示。

下面是消息函數(shù)主要代碼。
void CDBDlg::OnNMRcli
ckList1(NMHDR*pNMHDR,
LRESULT*pResult)
{
currentselect=m_mcutter.
GetHotItem(); //獲得當前擊活項的索引值
if(currentselect==-1) return;
CMenu me;
CPoint po;
GetCursorPos(&po); //獲得鼠標的屏幕坐標
me.LoadMenu(IDR_MENU1); //載入菜單
CMenu*pr=me.GetSubMenu(0); //獲取指向彈出菜單的指針,位置值開始為0;
pr->TrackPopupMenu(TPM_
LEFTALIGN|TPM_RIGHTBUTTON,
po.x,po.y,this,NULL);
*pResult=0;
}
8)插入一個菜單資源,單擊編輯區(qū)菜單區(qū)域,輸入“數(shù)據(jù)輸出”。在其下添加1個子菜單,標明為:數(shù)據(jù)輸出,如圖4所示。

右擊下面的子菜單,在彈出的菜單中選添加事件處理程序,在彈出的對話框中消息類型選擇COMMAND,對應給出相應的消息函數(shù)。用此實現(xiàn)右擊彈出的菜單中的數(shù)據(jù)輸出命令,如圖5所示。

下面是消息函數(shù)主要代碼。
void CDBDlg::OnIdOutput()
{
…
filepath.m_ofn.lpstrFilter="*.
tpm久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区
亚洲欧美国产一区二区| 99久久免费观看| 免费一区二区三区| 国产欧美综合一区| 久久久国产视频| 日韩成人在线资源| 91观看网站| 日本在线高清视频一区| 国产欧美欧洲在线观看| 国产精品色视频| 日韩男女性生活视频| 国产精品999视频| 亚洲影院污污.| 97成人在线观看视频| 伊人久久大香线蕉成人综合网| 国产又爽又黄的激情精品视频| 国产精品视频白浆免费视频| 欧美激情国产精品日韩| 久久av免费一区| 欧美一区2区三区4区公司二百| 7777精品视频| 天堂√在线观看一区二区| 91免费国产精品| 亚洲 日韩 国产第一区| 久久久天堂国产精品女人| 日韩av电影在线网| 国产av无码专区亚洲精品| 日韩人妻精品无码一区二区三区 | 午夜精品视频在线| av在线com| 亚洲 高清 成人 动漫| 81精品国产乱码久久久久久| 天天干天天色天天爽| 久久久99精品视频| 熟女视频一区二区三区| 久久精品欧美| 激情成人开心网| 欧美激情视频在线观看| 成人免费午夜电影| 亚洲 欧洲 日韩| 国产超碰91| 今天免费高清在线观看国语| 精品中文字幕在线观看| 国产精品一区二区在线观看| 亚洲成熟丰满熟妇高潮xxxxx| 国产成人一区二区| 黄色小视频大全| 欧美日韩国产第一页| 国产精品69精品一区二区三区| 日本高清视频一区| 国产精品久久久久久av下载红粉| 国产精品一区在线观看| 日本特级黄色大片| 久久福利网址导航| 91精品国产91久久久久久久久| 日韩久久一级片| 久久中文字幕在线视频| 81精品国产乱码久久久久久| 日本在线成人一区二区| 国产精品爽爽爽爽爽爽在线观看| 精品一区二区中文字幕| 亚洲一区二区三区乱码aⅴ蜜桃女| 久久久中精品2020中文| 欧美成人第一区| 亚洲在线观看视频| 日韩在线观看精品| 国产精品一区而去| 日av中文字幕| 国产aaa一级片| 国产xxxxx视频| 国产男人精品视频| 日本中文字幕久久看| 久久中国妇女中文字幕| 国产成人精品免高潮费视频| 青草青草久热精品视频在线观看 | 国产极品美女高潮无套久久久| 欧美 日韩 国产在线| 亚洲一区三区电影在线观看| 国产成人女人毛片视频在线| 99在线看视频| 精品欧美一区免费观看α√| 亚洲蜜桃av| 日韩中文字幕久久| 国产免费高清一区| 欧美亚洲另类在线一区二区三区| 国产精品盗摄久久久| 欧美在线性视频| 欧美激情乱人伦一区| 丰满爆乳一区二区三区| 日韩欧美视频网站| 97久久精品国产| 成人av在线网址| 欧美亚洲一二三区| 亚洲a级在线观看| 国产精品美乳在线观看| 91看片淫黄大片91| 国产一区高清视频| 无码无遮挡又大又爽又黄的视频| 国产精品第一页在线| 久久久久久久久久久网站| 91九色在线观看视频| 国产欧美日韩免费| 欧美日韩电影一区二区三区| 日本一区视频在线播放| 亚洲欧美日韩精品在线| 欧美日本亚洲视频| 久久不射热爱视频精品| 久久久久久国产三级电影| 91久久嫩草影院一区二区| 国产日产欧美一区二区| 欧美亚州在线观看| 日本不卡免费高清视频| 欧美精品激情在线| 精品久久蜜桃| 久久香蕉国产线看观看av| 国产精品视频一区二区三区四区五区 | 日韩免费不卡av| 性欧美大战久久久久久久| 亚洲最大福利网站| 久久久久国产精品免费| 国产精品久久久久久久一区探花 | 久久伊人资源站| 91精品91久久久久久| 99久久伊人精品影院| www婷婷av久久久影片| 福利视频一二区| 高清视频在线观看一区| 高清欧美精品xxxxx| 国产精品自拍合集| 国产精选一区二区| 99爱视频在线| 99久久精品久久久久久ai换脸| 高清一区二区三区日本久 | 国产脚交av在线一区二区| 91免费福利视频| 久久久一本精品99久久精品| 久久伊人资源站| 久久久久一区二区| 日韩在线视频观看| 国产精品视频自拍| 国产精品久久久91| 精品国产一区二区三| 国产aaa精品| 亚洲综合色激情五月| 亚洲欧美日产图| 亚洲a级在线观看| 日本久久久久久久| 欧美亚洲视频在线观看| 国产又黄又猛视频| www.av一区视频| 国产成人精品电影久久久 | 欧美精品激情在线观看| 亚洲va欧美va国产综合久久| 日韩一级免费在线观看| 欧美婷婷久久| 国产一区二区四区| 国产精品自产拍在线观| 国产精品6699| 国产精品爽爽ⅴa在线观看| 蜜臀久久99精品久久久久久宅男| 欧美区二区三区| 天堂v在线视频| 欧美 日韩 国产 高清| 国产日产欧美精品| 成人a级免费视频| 色偷偷噜噜噜亚洲男人| 国产精品久久激情| 亚洲一区二区中文| 日韩欧美一区三区| 免费无遮挡无码永久视频| 成人免费福利在线| 国产成人av影视| 免费97视频在线精品国自产拍| 亚洲精品国产精品国自产观看| 欧美专区国产专区| 国产精品自产拍在线观| 国产成年人在线观看| 国产精品高清免费在线观看| 丁香六月激情网| 黄色一级视频在线播放| 91久久精品视频| 久久久av网站| 中文字幕无码精品亚洲35| 日韩免费在线看| 成人精品一区二区三区| 久久久精品欧美| 一本久道久久综合| 激情五月五月婷婷| 国产精品99久久久久久久| 国产精品久久九九| 日韩视频免费在线播放| 成人福利网站在线观看| 国产精品久久久久久久天堂第1集| 日韩一区国产在线观看| 黄色一级视频播放| 久草热久草热线频97精品| 欧美日韩国产成人在线观看| 欧美 日韩 国产在线| 久久精品网站视频| 一本一道久久久a久久久精品91|