新闻中心

EEPW首页>嵌入式系统>设计应用> 基于UG的接口技术研究

基于UG的接口技术研究

作者: 时间:2011-12-15 来源:网络 收藏

2 接口实现过程

前首先要设置环境变量,设置环境变量的目的是使UG能找到开发的可执行程序的入口,并在启动UG的时候加载必要的信息。UG提供了两种设置环境变量的方法,一种是注册工程路径法,即将用户工程路径注册到文件customs—dIRs.dat(该文件位于${UGII—BASE—DIR}\UG\menus文件夹下)。

另一种比较简单并且适合一般开发用户的设置方法如下:右键点击我的电脑一属性一高级一环境变量,新建一个UG_USER—DIR环境变量,并将环境变量的值设置为建立Application和Startup两个目录所在的文件夹的路径,这两个文件夹分别用来存放dll和菜单文件%.men 。具体实现过程如下:

(1)在Visual C++6.0的应用程序创建向导中选择AppWizard(dl1),并选择应用程序类型为Regular DLL using sharedDLL。

(2)设置UG应用开发环境。在Project—Setting---~Link中,Object/library modules文本框中加入UG库文件libufun.1ib和libugopenint.1ib。

(3)配置路径选项,选择Tools--~Options,选择Directoris选项卡,分别在Library Files和Include Files中添加UG根目录下UGOPEN文件夹所在的路径。

(4)编制程序,在应用程序中添加UG的人口函数ufsta(),即将前面的代码加入即可。

(5)建立对话框并添加调用MFC函数。选择菜单命令Insert---~Resource,在Resource对话框中选择Dialog,就可以创建Windows风格对话框。

(6)在VC++中添加实现代码编译连接后生成动态连接库文件(:一c.dl1),打开UG,选择File—Ex—ecute UG/--*User Function,在Execute User Func—tion对话框中选择该DLL文件;或者通过MenuScript编辑的菜单和工具条调用。

3 实例分析

二维参数化程序设计可以采用程序自动生成工程图的方式实现,但在零件的三维设计中,由于三维模型的创建涉及到基准实体等特征,直接利用程序生成三维模型非常困难。实例采用三维模型与程序控制相结合的方式,先利用交互的方式生成零件的三维模型,再根据设计要求建立一组完全控制三维模型的关键设计参数,通过程序设计对设计参数进行编程,实现设计参数的检索、修改和根据新的参数值生成新的三维模型的功能。

图3所示为用户定制的MenuSeript菜单界面。布线系统菜单下“连接器库”和“自动布线” 按钮的回调函数均为已编译好的application文件夹下下的DLL文件,后面的3个点表示单击后会弹出一个对话框,而Ctrl+1或Ctrl+2表示此菜单的快捷键。如在UG的主菜单上点击“布线系统” 按钮再按下Ctrl+1快捷键就会运行相应的DLL程序。

MenuScript菜单界面

实例实现了整机布线模型中线夹的参数化设计。

如图4所示为由MFC生成Windows风格的线夹模型对话框,输入相应尺寸,单击“生成”按钮,就可以生成线夹的三维参数化实体模型,“修改”按钮将按照用户输入的参数值更新并保存模型的参数。实例解决了UG应用程序向导不能调用MFC的接口问题,实现DLL程序与UG的集成,并通过参数化驱动的方式实现了线夹的三维参数化建模。

实例程序运行结果

4 结束语

在研究UG的基础上,给出了二次开发接口实现方案。解决了利用MenuScript菜单和UIStyler的回调函数无法直接调用MFC函数的问题,实现了DLL程序与UG的集成。开发人员可以充分发挥VC++及MFC库类函数的强大的功能,借助VC++中面向对象的思想,开发功能强大的应用程序,例如可以利用Windows消息机制编写更复杂的界面,利用ADO访问数据库,还可以调用VC++中ActiveX控件、Intemet控件等。使用该方法进行二次开发具有速度快、方便简单、界面统一、良好的人机交互能力、功能强大和编程容易等特点。有效地提高UG软件的二次开发效率,使UG二次开发的应用领域更加广阔。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭