MFC在开发UG18.0微机版中的应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MFC在开发UG18.0微机版中的应用.doc

  MFC在开发UG18.0微机版中的应用|第1 内容显示中 摘要:鉴于目前UG二次开发中存在的问题,本文提出了一种如何应用MFC开发UG的方法,同使用UIStyler相比,使用MFC开发UG具有速度快,方法简单的特点。本文详细叙述了使用MFC开发UG的过程并给出了一个详细的例程。 1.概述 UG一直是高端CAD市场中的主流产品之一。随着基于三维设计的日益普及,UG在国内的用户也越来越多,为了更好的使用UG所提供的功能,很多用户提出了在UG上进行二次开发的要求。UG目前已经推出了第18版本,但是其开发工具没有太多的变化,还是GRIP和UG/Open,GRIP是一种宏语言开发工具,UG/Open是一种采用C/C++对UG进行二次开发的工具。利用这两个开发工具均可对UG进行二次开发。 鉴于目前C/C++在微机上十分流行,采用UG/Open对UG进行二次开发依然是用户的首选。UG/Open包含了三部分内容:UG/Open API、UG/Open C++和UI Styler,UG/Open API和UG/Open C++包含了一组访问UG图形数据的函数,其中UG/Open API是标准C的方式,UG/Open C++是C++的方式。UI Styler是应用程序界面的工具,主要用于对话框的定制。我们使用的是微机版的UG18.0,在开发时主要使用的是UG/Open,开发过程中发现UG/Open使用起来很不方便,主要表现在下面几个方面: 1)字符串处理,UG/Open基本上采用的是标准C的字符串函数,使用起来非常麻烦,很容易出现错误。由于在开发过程中需要大量使用字符串,无形中增加了开发的周期,如果能使用一个C++的类来处理字符串,例如MFC中提供的CString,将会大大降低开发的周期。 2)数据结构的实现,目前很多FC)来开发UG的应用程序是许多UG爱好者的梦想。尽管UG 从15.0推出微机版以来,UG/Open应用程序一直采用Microsoft Visual C++ (VC)作为编译器,但是由于UG/Open API中没有直接提供对MFC的支持,所以在UG开发中还不能直接调用MFC。我们通过摸索和大量的实践,提出了一种能够在UG/Open中直接使用MFC的方法,下面将对该方法作详细介绍。 2.实现原理 在实践中,我们发现目前的UG应用程序不能很好的支持MFC的原因在于:我们所创建的UG应用程序基本上都是采用的UG提供的应用程序向导UG/Open AppFC。为了让我们的应用程序支持MFC必须抛弃这种应用程序创建方式,在实践中我们按照下面的步骤来创建应用程序: 1)在VC的应用程序创建向导中选择MFC AppFC DLL; 3)结束创建应用程序的过程; 4)将UG库文件(libugopenint.lib,libufun.lib)加入所创建的项目。 5)结束 熟悉UG开发的人都知道UG应用程序的入口函数是ufsta,所以下一步的工作就是在应用程序中添加UG/Open函数入口ufsta。这个过程很简单,可以把UG所提供的例子程序中的主函数直接复制过来,或者采用UG/Open AppyDialog是采用MFC创建的一个对话框类,函数DisplayDialog的功能是显示显示模态对话框。其他的代码基本上都是由MFC AppFC类已经不成问题。因此就实现了利用MFC来开发UG的应用程序的功能。 #include stdafx.h #include ccc.h //以下代码与UG有关 #include #include #include #include resource.h #include MyDialog.h void DisplayDialog() { AFX_MANAGE_STATE(AfxGetStaticModuleState()); CMyDialog dlg; dlg.DoModal(); } extern C DllExport void ufsta( char *param, int *returnCode, int rlen ) { int errorCode = UF_initialize(); DisplayDialog (); if ( 0 == errorCode ) { errorCode = UF_terminate(); } } extern C void ufusr_cleanup(void) { } extern C int ufusr_ask_unload( void ) { return( UF_UNLOAD_UG_TERMINATE ); } //以下代码由MFC AppsoNormal s

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档