亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        MFC在UG開發(fā)中的應(yīng)用及數(shù)據(jù)傳遞

        2013-12-31 00:00:00張超宗鵬程
        電子世界 2013年18期

        【摘要】基于UG NX5.0,詳細(xì)闡述了UG與MFC的通信的方法。以長方體三維參數(shù)化設(shè)計調(diào)用MFC為例介紹了UG二次開發(fā)的一般過程以及如何在UG中調(diào)用MFC程序。此外,為其它UG開發(fā)提供了另一條途徑和參考。

        【關(guān)鍵詞】UG二次開發(fā);UG/Open MenuScript;MFC;長方體三維參數(shù)化

        UG軟件進(jìn)入中國市場以來,在我國得到了越來越廣泛的應(yīng)用,己成為我國工業(yè)界主要使用的大型CAD/CAE/CAM軟件之一。UG為制造行業(yè)產(chǎn)品開發(fā)的全過程提供解決方案,功能包括概念設(shè)計、工程設(shè)計、性能分析和制造。但是,為了滿足用戶的特殊需要,提高設(shè)計效率和質(zhì)量,必須對UG進(jìn)行二次開發(fā)。

        1.UG二次開發(fā)簡介

        UG二次開發(fā)模塊是為滿足用戶特殊需要而隨UG一起發(fā)布的,被稱為UG/Open。它為UG軟件的二次開發(fā)提供了許多函數(shù)和工具集,便于用戶進(jìn)行二次開發(fā)工作,利用該模塊可對UG系統(tǒng)進(jìn)行用戶化定制和開發(fā),滿足用戶的需求。UG/Open包括以下幾個部分:UG/Open GRIP、UG/Open API、UG/Open MenuScript、UG/Open UIStyler。

        2.UG與MFC的通信

        UG/Open應(yīng)用程序盡管從UG 15.0推出微機(jī)以來,一直采用Microsoft Visual C++作為編譯器,但是UG/Open API中沒直接提供對MFC的支持,所以在UG開發(fā)中還不能直接調(diào)用MFC。同目前流行的Windows應(yīng)用序開發(fā)工具相比,UG應(yīng)用程序界面的專用工具UIStyler中包含的控件較少,功能有限,使得在開發(fā)靈活性應(yīng)用時受到一定的局限,使用起來很不方便,有的功能甚至難以實現(xiàn)。目前,還沒有公開UG/Open API中調(diào)用Microsoft Fundament Class(MFC)的方法,所以無法使用MFC來編寫UG應(yīng)用程序的界面。為了讓程序支持MFC,必須對應(yīng)用程序結(jié)構(gòu)做出相應(yīng)的改變。

        (1)在visual C++的應(yīng)用程序創(chuàng)建MFC AppWizard(dll)程序框架。

        (2)在全局對象類theApp下面添加UG/Open函數(shù)入口ufusr,主要代碼如下:

        MFC in UG.h源程序

        #if !defined(AFX_MFCINUG_H__A2769751_B6D2_4F47_AA4D_141127CCB274__INCLUDED_)

        #define AFX_MFCINUG_H__A2769751_B6D2_4F47_AA4D_141127CCB274__INCLUDED_

        #if _MSC_VER > 1000

        #pragma once

        #endif // _MSC_VER > 1000

        #ifndef __AFXWIN_H__

        #error include 'stdafx.h' before including this file for PCH

        #endif

        #include \"resource.h\"

        class CMFCinUGApp :public CWinApp

        {

        public:

        CMFCinUGApp();

        // Overrides

        // ClassWizard generated virtual function overrides

        //{{AFX_VIRTUAL(CMFCinUGApp)

        //}}AFX_VIRTUAL

        //{{AFX_MSG(CMFCinUGApp)

        // NOTE - the ClassWizard will add and remove member functions here.

        // DO NOT EDIT what you see in these blocks of generated code !

        //}}AFX_MSG

        DECLARE_MESSAGE_MAP()

        };

        #endif

        MFC in UG.cpp源程序

        #include \"stdafx.h\"

        #include \"MFC in UG.h\"

        #ifdef _DEBUG

        #define new DEBUG_NEW

        #undef THIS_FILE

        static char THIS_FILE[] = __FILE__;

        #endif

        BEGIN_MESSAGE_MAP(CMFCinUGApp, CWinApp)

        //{{AFX_MSG_MAP(CMFCinUGApp)

        // NOTE - the ClassWizard will add and remove mapping macros here.

        // DO NOT EDIT what you see in these blocks of generated code!

        //}}AFX_MSG_MAP

        END_MESSAGE_MAP()

        CMFCinUGApp::CMFCinUGApp()

        {

        // TODO:add construction code here,

        // Place all significant initia-lization in InitInstance

        }

        CMFCinUGApp theApp;

        #include

        #include

        #include

        #include

        #include

        #include

        extern \"C\" DllExport void ufusr( char *param,int *returnCode,int rlen )

        {

        int errorCode = UF_initialize();

        if ( 0 == errorCode )

        {

        //實現(xiàn)所需功能的函數(shù)調(diào)用,如:

        AfxMessageBox(\"I have realized how to call MFC in UG development!\");

        errorCode = UF_terminate();

        }

        }

        extern \"C\" int ufusr_ask_unload( void )

        {

        return( UF_UNLOAD_UG_TERMINATE );

        }

        (3)在Visual C++中編譯連接后生成動態(tài)鏈接文件(*.dll),打開UG,選擇執(zhí)行【NX Open】命令,在“Execute User Function”對話框中選擇要執(zhí)行的動態(tài)鏈接庫,運行結(jié)果如圖。

        3.設(shè)計實例

        下面就以長方體三維參數(shù)化設(shè)計為例,闡述UG二次開發(fā)的一般過程及MFC在UG二次開發(fā)中的應(yīng)用。

        (1)菜單、對話框的制作

        首先,在自定義目錄下創(chuàng)建startup和ap-plication兩個文件夾,其中自定義的菜單文件就在

        startup文件夾中。本例中自定義目錄為:E:\ug_para_design

        然后,打開控制面板->系統(tǒng)中的高級選項卡,注冊環(huán)境變量,其中的變量名為UGII_USER_DIR,變量值為自定義目錄。如圖所示。

        最后,在startup文件夾下建立菜單文件

        VERSION 120

        EDIT UG_GATEWAY_MAIN_MENUBAR

        BEFORE UG_HELP

        CASCADE_BUTTON three_dimensional_para_design

        LABEL 三維參數(shù)化設(shè)計

        END_OF_BEFORE

        MENU three_dimensional_para_design

        BUTTON block

        LABEL 長方體三維參數(shù)化設(shè)計

        ACTIONS block_act

        END_OF_MENU

        其中block_act是在UG/Open API程序中注冊的函數(shù)名。

        (2)利用VC建立長方體三維參數(shù)設(shè)計與數(shù)據(jù)庫鏈接

        根據(jù)MFC程序框架,建立MFC DLL。把長方體設(shè)計所用的計算公式、數(shù)據(jù)等以程序的形式寫入DLL中。同時,把所計算所得結(jié)果存入到數(shù)據(jù)庫中。在DLL中,利用Access完成對數(shù)據(jù)庫中數(shù)據(jù)的管理。根據(jù)上述方法,完成UG中對MFC DLL程序的調(diào)用,結(jié)果如圖所示:

        4.結(jié)束語

        本文介紹了在UG平臺上進(jìn)行二次開發(fā)的一般過程和如何把MFC成功的融入到UG二次開發(fā)當(dāng)中的方法,并以長方體參數(shù)設(shè)計為例詳細(xì)敘述了具體實現(xiàn),可為其它方面的UG二次開發(fā)提供參考和借鑒。

        參考文獻(xiàn)

        [1]董正衛(wèi),田立中,付宜利,編著.UG/OPEN API編程基礎(chǔ)[M].清華大學(xué)出版社,2002,8.

        [2]任哲等,編著.MFC Windows應(yīng)用程序設(shè)計[M].清華大學(xué)出版社,2004,6.

        作者簡介:張超,碩士研究生,現(xiàn)就讀于華北電力大學(xué)(保定),研究方向:數(shù)字化設(shè)計與制造。

        精品卡一卡二卡3卡高清乱码| 精品在线视频免费在线观看视频| 一本久道久久综合狠狠操| 激情都市亚洲一区二区| 亚洲av无码精品色午夜app| 久久精品国产亚洲av大全| 777米奇色狠狠俺去啦| 亚洲成a人片在线观看无码| 国产精品白浆视频一区| 亚洲国产精品天堂久久久| 亚洲精品无码精品mv在线观看| 久久无码专区国产精品| 四虎影视一区二区精品| 99久久精品国产亚洲av天 | 亚洲日本中文字幕乱码| 美女扒开大腿让男人桶| 99精品国产第一福利网站| 日韩中文字幕网站| 人妻有码av中文幕久久| 人妻少妇精品视频三区二区一区 | 猫咪免费人成网站在线观看| 日韩成人精品日本亚洲| 午夜一区二区三区福利视频| 久久久久亚洲av无码专区首| 又色又污又爽又黄的网站| 官网A级毛片| 国产精品一区二区三区播放| 人妻色综合网站| 一级做a爰片久久毛片| 用力草我小逼视频在线播放| 国产白浆一区二区三区性色| 无码午夜成人1000部免费视频| 国产精品成人观看视频| 揄拍成人国产精品视频| 精品国产3p一区二区三区| 国产免费观看黄av片| 天美传媒精品1区2区3区| 99久久精品国产片| 久久国产在线精品观看| 日本a片大尺度高潮无码| 国产乱理伦片在线观看|