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

由此,我們可以根據對話框界面所需輸入參數的要求確定數據庫中一個表格的字段個數,如圖2所示。

根據常用的端銑刀數據建立數據庫表,數據庫名稱為銑削刀具庫.mdb。然后對數據源進行設定:在Windows系統中的控制面板→管理工具→數據源選項(ODBC)→用戶DSN,設置添加數據源驅動程序,Driver do Microsoft Access,數據源名稱為milling,最后指定到銑削刀具庫的端銑刀數據表。
2.MFC程序1sjk.dll的編寫
(1)添加刀具庫類CDaoju,建立MFC數據庫接口在VC 2005開發環境中通過菜單項目→添加→MFC ODBC,使用者來新建一個基于CRecordset的類(CDaoju)映射于已經建好的數據庫表,即選擇前面已注冊好的ODBC數據源車刀,再選擇表(para),完成后程序自動加入代碼,從而獲得了可以應用的表格字段。
(2)刀具庫顯示對話框的設計
1)創建對話框資源:在VC 2005開發環境中通過菜單項目→添加→資源→Dialog→新建生成新的對話框。
2)在對話框上添加一個列表控件,右擊列表控件設定其屬性中外觀,查看(View)生成報告(Report)。
3)雙擊對話框創建基于該對話框的類(cshow),自動生成CDialog派生類定義的頭文件和相應的實現文件。
4)雙擊列表控件,給列表控件添加成員變量m_mcutter。
5)右擊基于對話框的類,點擊添加→函數,給出相應的對話框初始函數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,右擊添加函數Chuangjiankongbiao()和函數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,
應給出相應的消息函數,功能是彈出輸出數據的命令菜單,如圖3所示。

下面是消息函數主要代碼。
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)插入一個菜單資源,單擊編輯區菜單區域,輸入“數據輸出”。在其下添加1個子菜單,標明為:數據輸出,如圖4所示。

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

下面是消息函數主要代碼。
void CDBDlg::OnIdOutput()
{
…
filepath.m_ofn.lpstrFilter="*.
tpm久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区
久久久成人的性感天堂| 国模视频一区二区| 日日摸日日碰夜夜爽av| 国产在线一区二区三区四区| 国产成人精品a视频一区www| 一区二区三区国产福利| 国模私拍一区二区三区| 国产成人精品视频在线| 日本高清视频一区二区三区| 国产精品91久久| 亚洲最新在线| 高清无码视频直接看| 精品国产一二| 国产又粗又爽又黄的视频| 久久国产午夜精品理论片最新版本| 亚洲色成人一区二区三区小说| 国产伦精品一区二区三区四区视频| 国产精品麻豆va在线播放| 欧美亚洲国产精品| 日韩在线播放一区| 日韩久久久久久久久久久久| 久久婷婷五月综合色国产香蕉| 亚洲伊人久久综合| 99久久精品免费看国产四区| 中文字幕乱码人妻综合二区三区| 国产日韩欧美中文| 欧美激情精品久久久| 高清视频一区二区三区| 一区二区三区四区在线视频| 国产欧美一区二区在线播放| 精品国产免费av| 成人免费视频a| 亚洲精品蜜桃久久久久久| 久久久影视精品| 日本精品一区二区三区不卡无字幕 | 奇米888一区二区三区| 久久青草精品视频免费观看| 日韩av不卡在线| 久久99蜜桃综合影院免费观看| 欧美一级免费视频| 久久久久久久影院| 欧美精品一区二区性色a+v| 久久精品国产一区| 国产有码在线一区二区视频| 国产av国片精品| 91免费看蜜桃| 日韩av综合在线观看| 日韩中文在线中文网三级| 激情一区二区三区| 欧美日韩999| 国产极品在线视频| 日韩和欧美的一区二区| 国产精品视频在线免费观看| 国产美女视频免费| 日韩一区国产在线观看| 日韩午夜在线视频| 国产熟女高潮视频| 天天久久人人| www亚洲精品| 国产欧美久久一区二区| 亚洲 高清 成人 动漫| 色婷婷av一区二区三区在线观看| 国产一区 在线播放| 亚洲国产婷婷香蕉久久久久久99| 久久精品99久久久久久久久 | 国产精品三区在线| av动漫在线看| 热久久视久久精品18亚洲精品| 国产精品美女xx| 777午夜精品福利在线观看| 欧美日韩在线成人| 亚洲国产精品一区二区第四页av | 亚洲人成无码www久久久| 日韩在线观看网址| 国产精品永久免费观看| 青青草精品视频在线| 中文精品一区二区三区| 久久久久天天天天| 国产日韩精品推荐| 日韩视频在线免费看| 美女国内精品自产拍在线播放| 久久免费99精品久久久久久| 国产亚洲综合视频| 日韩极品视频在线观看| 中文字幕在线亚洲三区| 精品久久久av| 国产精品97在线| 国产色综合天天综合网| 日韩和欧美的一区二区| 亚洲最大的av网站| 久久夜色精品亚洲噜噜国产mv| 国产成人精品a视频一区www| 国产欧美一区二区三区不卡高清| 人妻精品无码一区二区三区| 亚洲精品日韩成人| 久久不射热爱视频精品| www日韩欧美| 91精品免费久久久久久久久| 国产又大又硬又粗| 欧美日韩三区四区| 性一交一乱一伧国产女士spa| 美女av一区二区三区| 国产精品久久久久久久久免费看| 久久riav二区三区| 国产精品999| 91精品国产精品| www.亚洲一区二区| 国产精品一区二区三区在线| 欧美精品在线一区| 青青草原一区二区| 日本韩国在线不卡| 午夜精品美女自拍福到在线| 一区二区三区四区欧美| 精品产品国产在线不卡| 国产精品久久久久久久久久小说| 久久国产午夜精品理论片最新版本| 91精品国产高清自在线| 99视频在线播放| 国产精品自拍偷拍| 国产精品一区视频| 成人av中文| 成人免费在线网址| 国产精品一区二区免费| 国产在线999| 国产日韩欧美中文| 国产女大学生av| 国产毛片久久久久久国产毛片| 麻豆一区二区三区在线观看| 国内精品视频一区二区三区| 国模杨依粉嫩蝴蝶150p| 精品一区二区视频| 欧美 日韩 国产一区| 精品日本一区二区三区| 狠狠色噜噜狠狠狠狠色吗综合| 欧美v在线观看| 欧美精品久久久久久久自慰| 欧美二区在线| 欧美精品久久久久久久久久久| 欧美综合77777色婷婷| 欧美中日韩在线| 欧美日韩高清免费| 国内精久久久久久久久久人| 蜜桃久久精品乱码一区二区| 国产一区二区在线播放| 国产欧美日本在线| 81精品国产乱码久久久久久 | 久久艳片www.17c.com | 伊人久久av导航| 亚洲影院色在线观看免费| 亚洲v国产v在线观看| 午夜免费福利小电影| 婷婷久久伊人| 欧美日韩精品一区| 精品视频在线观看| 成人在线小视频| 国产激情片在线观看| 亚洲第一综合| 日韩av色综合| 欧美性视频网站| 精品网站在线看| 波多野结衣综合网| 国产激情视频一区| www.国产一区| 国产99久久精品一区二区永久免费 | 欧美亚洲另类久久综合| 国产日韩精品一区二区| 国产极品在线视频| 国产精品久久久久久久久久新婚| 夜夜添无码一区二区三区| 日本一区二区高清视频| 免费毛片一区二区三区久久久| 国产网站免费在线观看| 97国产在线播放| 色噜噜国产精品视频一区二区| 国产精品福利视频| 性高湖久久久久久久久aaaaa| 激情六月天婷婷| 91精品国产成人www| 国产精品久久久久久搜索| 性色av一区二区三区在线观看| 激情成人开心网| 久久伊人资源站| 精品久久久久久综合日本| 日韩经典在线视频| 浮妇高潮喷白浆视频| 久久久久久国产免费| 亚洲中文字幕无码一区二区三区 | 日韩在线视频免费观看高清中文| 萌白酱国产一区二区| 日韩免费在线看| 成人久久18免费网站图片| 日韩中文字幕在线免费观看| 永久久久久久| 欧美高清性xxxxhd| 国产高清在线一区| 中文字幕一区二区三区精彩视频| 欧美在线观看黄| 久久综合伊人77777麻豆| 美女精品视频一区| 青青青青在线视频|