999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

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

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

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

UG二次開發(fā)模塊是為滿足用戶特殊需要而隨UG一起發(fā)布的,被稱為UG/Open。它為UG軟件的二次開發(fā)提供了許多函數(shù)和工具集,便于用戶進行二次開發(fā)工作,利用該模塊可對UG系統(tǒng)進行用戶化定制和開發(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推出微機以來,一直采用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平臺上進行二次開發(fā)的一般過程和如何把MFC成功的融入到UG二次開發(fā)當(dāng)中的方法,并以長方體參數(shù)設(shè)計為例詳細敘述了具體實現(xiàn),可為其它方面的UG二次開發(fā)提供參考和借鑒。

參考文獻

[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è)計與制造。

主站蜘蛛池模板: 成人午夜网址| 免费a级毛片视频| 国产在线98福利播放视频免费| 91久久偷偷做嫩草影院精品| 免费无码又爽又黄又刺激网站| 久久黄色一级片| 99re在线免费视频| 久久无码av三级| 无码粉嫩虎白一线天在线观看| 狠狠色综合久久狠狠色综合| 97国产一区二区精品久久呦| 亚洲性网站| 婷婷开心中文字幕| 欧美一区国产| 亚洲区第一页| 国产精品观看视频免费完整版| 四虎影视库国产精品一区| 国产男女免费视频| 91亚洲视频下载| 波多野结衣视频网站| 国产久草视频| 国产免费人成视频网| 婷婷亚洲视频| 在线观看国产精品一区| 免费一级毛片在线播放傲雪网| 毛片国产精品完整版| 日韩无码视频播放| 亚洲色图欧美在线| 国产成年无码AⅤ片在线 | 中文字幕第4页| 2020精品极品国产色在线观看| 国产精品国产主播在线观看| 中文字幕日韩欧美| 国产香蕉97碰碰视频VA碰碰看| 亚洲最大综合网| 亚洲精品视频免费| 一级毛片免费不卡在线视频| 一级香蕉视频在线观看| 精品国产自| 日本免费一级视频| 毛片在线播放a| 日韩精品欧美国产在线| 久久久国产精品无码专区| 亚洲欧美在线综合一区二区三区| yjizz国产在线视频网| 亚洲无线国产观看| 伊人91在线| 成人国产精品一级毛片天堂| 热99re99首页精品亚洲五月天| 日韩东京热无码人妻| 亚洲日韩国产精品综合在线观看| 欧美a在线看| 色综合手机在线| 中文字幕调教一区二区视频| 国产91在线|日本| 中字无码av在线电影| 大陆国产精品视频| 亚洲无码熟妇人妻AV在线| 亚洲第一香蕉视频| 国产麻豆福利av在线播放 | 精品91自产拍在线| 天堂成人在线| 欧美精品成人一区二区在线观看| 午夜限制老子影院888| 99热这里只有精品5| 亚洲三级成人| 国产精品亚洲精品爽爽| 亚洲成在线观看 | 精品国产免费观看| 日韩在线播放中文字幕| 久久久久亚洲Av片无码观看| 欧美国产三级| 国产成人你懂的在线观看| 亚洲欧美天堂网| 在线人成精品免费视频| 精品伊人久久久久7777人| 人人爽人人爽人人片| 99偷拍视频精品一区二区| 亚洲无码视频喷水| 国产精品七七在线播放| 伊人久久大线影院首页| 手机在线看片不卡中文字幕|