久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区

您的位置:網(wǎng)站首頁 > UG教程下載

UG/OPEN API及MFC在虛擬儀表仿真中的應用

時間:2010-11-15 09:53:59 來源:

1 前言

UG作為通用支撐軟件系統(tǒng),具有強大的建模,裝配和工程分析功能,利用UG能夠創(chuàng)建數(shù)字化虛擬儀表的三維造型,但是卻滿足不了虛擬儀表的動態(tài)仿真方面的要求。本文對UG系統(tǒng)進行二次開發(fā),設計出界面友好、使用方便的虛擬儀表的動態(tài)仿真系統(tǒng)。著重介紹了應用UG/OPEN API、MFC以及輔助開發(fā)模塊UG/0pen MenuScript聯(lián)合開發(fā)的方法。同時用一個應用實例進行簡單的說明。

2 UG/OPEN API以及UG/0pen MenuScript

UG/OPEN API又稱User Function,是一個允許程序訪問并改變UG對象模型(UG Object Modal)的程序集。提供一個UG所共容的編譯和連接程序的方式.它支持C/C++語言,頭文件(Header Files),支持ANSI C,使用Micorosfot Visual C++編程環(huán)境。UG/OPEN API程序可以在兩種不同的環(huán)境中運行,即Internal與External環(huán)境.External模式可以直接在操作系統(tǒng)下運行獨立于UG系統(tǒng)。Internal模式只能運行在UG環(huán)境下 。 為實現(xiàn)軟件系統(tǒng)和UG的無縫封裝,一般采用Internal環(huán)境。

UG/Open MenuScript實現(xiàn)了對UG菜單的操作。可以用ASCII碼編輯器來編輯、刪除、添加已有的UG菜單條,為自己的應用程序建立專門的菜單條.MenuScript可以執(zhí)行宏文件、UG/OPEN API或者UG/Open GRIP所編寫的程序,通過這種方式可以把自己開發(fā)的應用程序無縫地嵌入到UG系統(tǒng)中,滿足用戶要求的交互式操作。

3 虛擬儀表的動態(tài)仿真

所謂虛擬儀表(Virtual Instrument) 就是利用PC機實現(xiàn)原來物理儀表的功能,并且要求功能更強。不僅可以實現(xiàn)數(shù)字顯示、棒圖顯示、曲線顯示,而且可以實現(xiàn)歷史查詢、事故追憶等。 操作人員通過友好的圖形用戶界面以及圖形化編程語言來控制儀器的運行,以完成對被測試量的采集、分析、判斷、顯示、存儲以及數(shù)據(jù)生成。

UG具有強大的設計和表達能力,能夠逼真地表現(xiàn)儀表的外觀和幾何造型,應用UG開發(fā)虛擬儀表實現(xiàn)產(chǎn)品的數(shù)字化設計,縮短了設計周期。通過應用本文論述的基于UG二次開發(fā)的虛擬儀表的動態(tài)仿真系統(tǒng),使得產(chǎn)品的設計表現(xiàn)更加有力,還可以應用在機械人機界面的設計評價中。

4 利用UG/OPEN API和MFC聯(lián)合開發(fā)應用程序結(jié)論

盡管UG使用了Micorosfot Visual C++作為編譯器,但UG/OPEN API沒有直接提供對MFC的支持,所以在UG中還不能直接調(diào)用MFC 。 Visual C++提供了豐富的MFC資源,其編程環(huán)境的集成度和靈活性遠遠超出了UG/OPEN API。UG應用程序基本上都是采用UG提供的應用程序向?qū)G/Open AppWizard創(chuàng)建的,但是用該向?qū)?chuàng)建的應用程序本身不支持MFC。為了讓程序支持MFC我們采用MFC AppWizard(dll)向?qū)В趹贸绦蛑屑尤險G Internal模式的入口函數(shù),編譯生成動態(tài)連接文件,最后通過菜單調(diào)用該程序。其實現(xiàn)的具體步驟如下:

1)在Visual C++中新建MFC AppWizard(dll) 類型工程,輸入工程名。點擊OK。

2)在向?qū)У牡谝徊竭x擇應用程序類型為Regular DLL using shared MFC DLL,其它選項保持默認即可,點擊Finish。完成創(chuàng)建該向?qū)А?

3)在Visual C++中進行編譯設置,選擇菜單Project ->Setting。在project setting對話框的Link選項卡Object/library modules中設置庫文件(libufun.lib,libugopenint.lib),也可以在Tools->Options 的directories中設置。在project setting對話框的Debug選項卡Excutable for debug session中輸入ugraf.exe的全路經(jīng)。

4)編制程序,在程序中添加UG的用戶入口函數(shù)ufsta()。添加MFC對話框資源和控件,設計人機界面 (user computer interface)。添加所需要的Windows消息,在消息處理函數(shù)中添加代碼。

5)編譯連接,生成.dll文件。通過UG菜單調(diào)用程序。

5 光柱表動態(tài)仿真控制系統(tǒng)實例

5.1 人機界面設計及程序代碼分析

應用程序二次開發(fā)的一個重要的方面就是人機界面的設計,實現(xiàn)用戶和軟件系統(tǒng)的數(shù)據(jù)交換。在這里我們在應用程序中使用模式對話框,添加標準控件。

在Visual C++創(chuàng)建MFC AppWizard(dll)工程,工程名為VirInstrument,在應用程序中添加UG入口函數(shù),用MFC設計對話框類CGZInstrument,在話框類中設計控制函數(shù)On_PutOn(),On_PutOff()。添加Windows消息WM_TIMER,生成消息處理函數(shù)OnTimer()。用在On_PutOff()函數(shù)調(diào)用KillTimer()函數(shù)撤銷計時器。編譯連接生成VirInstrument.dll文件。部分代碼如下:

extern "C" DllExport void ufsta( char *param, int *returnCode, int rlen )
{ //UG函數(shù)入口
int errorCode = UF_initialize();//初始化API環(huán)境
AFX_MANAGE_STATE(AfxGetStaticModuleState( ));
CGZInstrument GZdlg;
GZdlg.DoModal(); //調(diào)用虛擬儀表控制面板
if ( 0 == errorCode )
{
errorCode = UF_terminate(); //釋放API的執(zhí)行許可
}
}
extern "C" int ufusr_ask_unload( void )
{
return( UF_UNLOAD_UG_TERMINATE );
}
void CMyDlg::On_PutOn() //開始執(zhí)行仿真程序
{
m_nTimer=this->SetTimer(1,temp_tmslics*1000,NULL);//設置監(jiān)控時間間隔
}
void CMyDlg::OnTimer(UINT nIDEvent)
{ …
uc1601(char *cp1, int ip2 );//超出安全范圍調(diào)用報警函數(shù)

UF_MODL_edit_exp(char * expr_str );//更新光柱表的數(shù)值
UF_MODL_update( void );//更新視圖

CDialog::OnTimer(nIDEvent);
}


圖1 對話框界面

5.2 MenuScript應用

5.2.1 設置環(huán)境變量

在UG安裝目錄下的UGII文件夾中打開ugii_evn.dat文件,其中有一條語句是用來設置用戶自己二次開發(fā)內(nèi)容的目錄——#UG_USER_DIR=$[HOME]。在用戶目錄下建立兩個子目錄startup和application。startup文件夾存放UG啟動時需要加載的動態(tài)共享庫及菜單腳本文件;application文件夾存放具體的功能擴展程序文件。

要使自定義菜單起作用,必須修改custom_dirs.dat文件。該文件在安裝目錄的UGII menus文件夾中。在文件的最后加入用戶自定義的二次開發(fā)目錄的全路經(jīng)。

5.2.2 菜單腳本文件

本例是在主菜單 [Help]的前面添加自定義菜單[虛擬儀表仿真系統(tǒng)],該菜單下有一個子菜單[光柱表控制]。菜單文件的文件名為main_menu.men。

VERSION 120
EDIT UG_GATEWAY_MAIN_MENUBAR
BEFORE UG_HELP
CASCADE_BUTTON MENU_ID_1
LABEL 虛擬儀表仿真系統(tǒng)
END_OF_BEFORE
MENU MENU_ID_1
BUTTON MENU_ID_1_0
LABEL 光柱表控制
ACTIONS VirInstrument.dll
END_OF_MENU

5.2.3 實現(xiàn)菜單功能

為了實現(xiàn)菜單和對話框連結(jié)功能,在相應的UG_USER_DIR startup和UG_USER_DIR application目錄中復制main_menu.men文件和VirInstrument.dll文件。UG加載DLL文件成功后,用戶可調(diào)入已建完模型的光柱表,并通過菜單調(diào)用對話框,就實現(xiàn)了虛擬儀表的動態(tài)仿真功能(如 圖2)。


圖2 定制的UG菜單及仿真控制界面

6 結(jié)論

對UG進行動態(tài)仿真功能的開發(fā),在產(chǎn)品虛擬現(xiàn)實的設計和評價中有重要意義。本文探討了利用UG/OPEN API、MFC及UG/Open MenuScript對UG聯(lián)合開發(fā)進行動態(tài)仿真的方法。并通過一個例子加以簡單說明。該方法具有開發(fā)速度快,界面簡單統(tǒng)一,編程簡潔,功能強大的特點。本文稍有不足的是,沒有使用UIStyler來創(chuàng)建UG風格的人機交互界面。


相關文章

久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区
精品乱子伦一区二区三区 | 国产美女三级视频| www国产无套内射com| 久久不射热爱视频精品| 国产日韩欧美在线| 亚洲综合视频一区| 久久狠狠久久综合桃花| 男人天堂手机在线视频| 精品国产乱码久久久久久丨区2区 精品国产乱码久久久久久郑州公司 | 国产精品久久久久免费| 伦理中文字幕亚洲| 欧美不卡福利| 国产成人精品久久亚洲高清不卡 | 日本三日本三级少妇三级66| 成人中文字幕在线播放| 精品免费国产一区二区| 国内精品美女av在线播放| 久久国产色av| 久久精品一二三区| 国产精品视频大全| 欧美极品第一页| 日本精品免费一区二区三区| 日韩精品手机在线观看| 欧美在线视频网站| 成人精品久久久| 久久精品亚洲国产| 丁香六月激情婷婷| 国产一区二区高清视频| 久久久久高清| 精品自拍视频在线观看| 亚洲综合在线做性| 欧美污视频久久久| 91精品视频免费| 久久五月天色综合| 日本午夜在线亚洲.国产| 欧美有码在线观看视频| av一区观看| 无码aⅴ精品一区二区三区浪潮| 久久男人的天堂| 日韩中文一区| 久久精品国产视频| 国产一区二区在线播放| 欧美激情在线视频二区| 91国产在线播放| 热久久精品国产| 国产精品久久久久久五月尺| 国产一区二区不卡视频在线观看| 在线不卡日本| 国产成人亚洲综合91精品| 青青草成人免费在线视频| 国产精品久久电影观看| 国产免费观看久久黄| 岛国视频一区免费观看| www亚洲欧美| 国产综合精品一区二区三区| 亚洲最大福利视频网站| 国产成人aa精品一区在线播放| 青青在线免费观看| 欧美精品日韩三级| 91福利视频导航| 欧美xxxx黑人又粗又长精品 | 亚洲a区在线视频| 国产精品一久久香蕉国产线看观看| 色天天综合狠狠色| 欧美不卡福利| 成人97在线观看视频| 国产女人水真多18毛片18精品| 久久久精品久久久| 国内外免费激情视频| 国产精品久久久久9999爆乳| 蜜桃av久久久亚洲精品| 另类天堂视频在线观看| 国产欧美在线播放| 亚洲最大av在线| 高清一区二区三区四区五区| 中文精品一区二区三区| 北条麻妃一区二区三区中文字幕| 成人免费毛片播放| 黄色免费高清视频| 日韩视频免费在线播放| 欧美极品第一页| 久久久91精品国产| 99精彩视频| 免费看国产精品一二区视频| 日韩中文字幕组| 欧美激情在线一区| 国产精品视频公开费视频| 久久人人九九| 隔壁老王国产在线精品| 免费在线成人av| 日韩欧美精品久久| 亚洲精品久久区二区三区蜜桃臀| 国产精品福利片| 日韩在线小视频| 国产精品1区2区在线观看| 国产日韩精品在线| 欧美午夜性视频| 亚洲精品在线观看免费| 蜜臀久久99精品久久久无需会员 | 国产成人av影视| 国产日韩一区二区| 欧日韩在线观看| 午夜免费久久久久| 欧美成在线观看| 国产经典久久久| 国产欧美日韩综合一区在线观看| 日本一区二区三区在线播放| 欧美成人精品一区二区三区| 久久www免费人成精品| 国产精品一级久久久| 欧美国产综合视频| 日韩美女在线观看| 亚洲成熟丰满熟妇高潮xxxxx| 国产精品久久97| 久久久久久久久久久免费| 国产精品9999久久久久仙踪林| 国产美女搞久久| 国产素人在线观看| 国产在线欧美日韩| 欧美日韩亚洲一区二区三区四区| 精品免费国产| 久久综合久久八八| 国产精品国产三级国产专播精品人| 国产成人久久婷婷精品流白浆| 久久久噜噜噜久久| 久久久久亚洲精品国产| 久久国产精品视频在线观看| 91精品久久久久久久久久另类| 国产九色porny| 成人在线国产精品| av在线不卡一区| 99爱精品视频| 91精品国产成人www| 91精品国产电影| 91好吊色国产欧美日韩在线| 国产精品亚洲片夜色在线| 成人精品视频久久久久| 97久久精品国产| 国产精品99免视看9| 国产v综合ⅴ日韩v欧美大片| 日韩在线视频中文字幕| 久久精品在线播放| 久久亚洲精品视频| 欧美精品video| 亚洲va韩国va欧美va精四季| 日本一区二区三区视频免费看| 日本a在线天堂| 黄色国产一级视频| 国产欧美日韩免费看aⅴ视频| 不卡一区二区三区四区五区| 97久久精品视频| 日韩有码在线观看| 国产精品乱子乱xxxx| 久久久久久久久久国产| 国产精品久久久久999| 一区二区日本伦理| 日韩av高清| 激情网站五月天| 国产精品一二区| 久久人人97超碰精品888| 日韩综合视频在线观看| 91黄在线观看| 九色自拍视频在线观看| 欧美激情极品视频| 午夜精品免费视频| 国产在线青青草| 国产成人亚洲综合青青| 久久91亚洲精品中文字幕| 日本久久亚洲电影| 91精品久久久久久久| 美女精品视频一区| 国产av熟女一区二区三区| 久久精品国产96久久久香蕉| 中文字幕欧美日韩一区二区三区| 欧美一级片免费在线| 黄色网址在线免费看| 91精品成人久久| 国产精品久久久久久久久久尿| 亚洲一区二区在线观| 日韩欧美亚洲天堂| 国产欧美在线观看| 久激情内射婷内射蜜桃| 色综合久综合久久综合久鬼88| 日韩av日韩在线观看| 黄色一级视频播放| 91久久国产自产拍夜夜嗨| 国产精品免费一区二区三区四区| 亚洲永久免费观看| 欧美a在线视频| 99电影网电视剧在线观看| www.久久撸.com| 亚洲视频精品一区| 欧美精品成人网| 久久久一本二本三本| 国产精品福利无圣光在线一区| 日本精品久久久久久久久久| 成人亚洲欧美一区二区三区| 久久久www成人免费精品| 性欧美长视频免费观看不卡| 国产欧美精品在线播放|