摘 要:UG软件是美国EDS公司开发的一套集CAD/CAM/CAE一体的高端软件。UG是一个通用软件,用户必须在此基础上进行二次开发,才能满足专门模具设计的需要,提高设计效率。本文探讨UG二次开发技术,重点研究通过VC编程调用UG/OPEN API函数设计模具的技术。

关键词:UG 二次开发 UG/OPEN

1.     引言

Unigraphics(简称UG)在CAD/CAM上表现出了强大的功能,但UG为通用支撑软件系统,仅具有CAD/CAM的基本功能,没有提供专用产品所需要的完整计算机辅助设计/制造功能.由于机械产品的千变万化,需要针对具体对象在选用的CAM软件平台上进行二次开发,来设计出界面友好、功能强大和使用方便的专用产品的CAD/CAM系统.本文介绍UG/OPEN UIStyler、UG/OPEN GRIP和UG/OPEN API的二次开发技术。

UG/Open二次开发模块为UG软件的二次开发工具集,便于用户进行二次开发工作,利用该模块可对UG系统进行用户化剪裁和开发,满足用户的开发需求。UG/Open包括以下几个部分:UG/Open Menuscript开发工具,对UG软件操作界面进行用户化开发,无须编程即可对UG标准菜单进行添加、重组、剪裁或在UG软件中集成用户自己开发的软件功能;UG/Open UIStyle开发工具是一个可视化编辑器,用于创建类似UG的交互界面,利用该工具,用户可为UG/Open应用程序开发独立于硬件平台的交互界面;UG/Open API开发工具,提供UG软件直接编程接口,支持C、C++、Fortran和Java等主要高级语言;UG/Open GRIP开发工具是一个类似APT的UG内部开发语言,利用该工具用户可生成NC自动化或自动建模等用户的特殊应用。

2 UG/OPEN MenuScript

用这一工具可以实现用户化的菜单。UG/OPEN MenuScript支持UG主菜单和快速弹出式菜单的设计和修改,通过它可以改变UG菜单的布局。添加新的菜单项以执行用户GRIP、API二次开发程序、User Tools文件及操作系统命令等。应用UG/OPEN MenuScript编程有两种方法可以实现菜单用户化:

a)、添加菜单文件开发人员添加菜单文件到相应的菜单目录下,这些菜单文件是经过用户编辑的,符合自己要求的菜单文件。这是一种比较好的方法、

b)编辑标准菜单文件 开发者编辑存在的标准菜单文件。这种办法就会改变UG原来的界面,不能恢复。开发者可以通过文本编辑器,例如记事本编辑UG菜单文件。UG/Open API提供UG/Open API程序与UG/OPEN MenuScript

程序的接口函数。

3        UG/OPEN UIStyler

UIStyler是开发UG对话框的可视化工具,生成的对话框能与UG集成,让用户更方便、更高效地与UG进行交互操作。利用这个工具可以避免复杂的图形用户接口GUI的编程,直接将对话框中的基本控件组合生成功能不同的对话框。

开发人员进入UG,点击Aplication→UserInterfaceStyler就可以进入对话框设计的界面。该界面包括一个工具条和三个窗口:对象浏览窗口、资源编辑器窗口以及设计对话框窗口。应用工具条能够快速点击图标,在设计对话框上添加删除控件,进行对话框界面的设计;对象浏览器窗口显示对话框上所有控件的信息,选中某一控件即可在资源编辑器窗口中进行相应的操作;资源编辑器窗口用于设置修改控件的属性、消息等操作;设计对话框窗口用来显示对话框的界面。

当界面设计完成后,保存UIStyler编写的对话框时生成3个文件: *.dlg、*_template.c及 *.h文件。其中, *.dlg是保存对话框图形界面的文件; .h文件是UIStyler对话框C语言的头文件,包括对话框及其控件的标识符和函数原型的申明;*_template.c是UIStyler对话框C语言的模板文件,包括各种定义和命令。用户的主要工作是修改 *_template.c模板文件并在其中添加用户代码,以确定UIStyler对话框被调用的形式及其所能实现的功能。对模板文件的修改工作可在VC中完成,然后和 .h编译连接生成 .DLL文件。

应用UIStyler这一工具可以使开发人员方便、快速地设计出与UG界面风格一致的对话框,避免其他复杂的编程。而且可以和用其他开发工具开发出的结果进行集成。UG/Open UIStyler工具和UG/Open Menu Script工具一样,都只具有某一方面的功能:UG/Open UIStyler用于对话框的开发, UG/Open Menu Script用于菜单的开发。

4        UG/OPEN GRIP

GRIP(Graphics Interactive Programming)是一种专用的图形交互编程语言,开发者可以用GRIP编程的方法自动实现在UG下进行的绝大部分操作.GRIP命令很像英语单词,语法与BASIC和FORTRAN相似,有某些情况下对于一些高级操作,用GRIP编程的方法比用UG交互的方法更有效,在UG交互环境下可以实现的功能用GRIP几乎全都可以实现.UG提供了一个名叫UG/Open GRIP的GRIP语言编辑器,用这个工具可以编辑、修改、编译、连接程序.GRIP语言与一般的通用语言一样,有其自身的语法结构,程序结构,内部函数,以及与其他通用语言程序相互调用的接口。一个GRIP语句是由一个或几个GRIP命令组成,GRIP命令是GRIP语言的基本组成部分。GRIP命令有三种表示格式:A)陈述格式。主要用于生成和编辑实体。b)GPA符号格式。GPA是全局参数存取(Global Parameter Access)的缩写,用于访问UG系统中各种对象的状态和参数。c)EDA符号格式。EDA是实体数据存取(Entity Data Access)的缩写,用于访问UG数据库,能够访问各种对象的功能性数据。例如在属性、绘图和尺寸标注以及几何体等领域与UG进行交互操作时,其参数可用EDA格式的命令取得。

GRIP 编程语言是面向工程师的语言 , 具有简单、易学、易用的特点 , 但是所编写的程序长、复杂 , 要考虑程序的各个细节问题。因此 ,GRIP 语言常用于开发一些规模比较小的程序。

UG二次开发技术的研究相关推荐

  1. CAD二次开发技术 好辛苦啊!

    CAD二次开发技术 好辛苦啊! 2011年03月16日 [b]摘[/b][b][/b][b]要[/b][b][/b] 数据结构算法设计和演示(C++)-树和查找是在面向对象思想和技术的指导下,采用面向 ...

  2. Workbench二次开发技术分享

    之前我发过的关于Workbech二次开发的技术ACT,ACT主要是用来对workbench进行一些横向的开发(诸如workbench现有的载荷类型已经满足不了你的需求,你可以利用ACT技术扩展载荷类型 ...

  3. ug二次开发(一)添加标题栏及加入功能

    文章目录 1 概念 2 开发vb界面的二次开发(extra) 3ug ui界面上列表栏的产生 3.1 men文件 3.1 tbr文件 1 概念 将如图所示文件加入vs的目录中,与目录中文件合并一下,此 ...

  4. Autodesk 产品二次开发技术研讨会将在上海广州北京相继举行

    6月到7月我们准备在上海.广州.北京举行三次技术研讨会,讨论新技术,展望未来.届时我也会介绍一些云计算和移动计算方面比较酷的东西,欢迎所有对Autodesk产品开发感兴趣的有关开发人员参加,不论您是否 ...

  5. 使软件可二次开发_基于C++的?UG二次开发

    C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计.C++擅长面向对象程序设计的同时,还可以 ...

  6. autocad 二次开发 拆分图纸_AutoCAD二次开发技术在工程图纸绘制中的应用

    本文通过作者在最近几年的计算机辅助设计和绘图工作中应用 A utoCAD 进行二次开发的一些经 验 , 分别利用几个实例程序来说明 A utoCAD 二次开发技术在工程图纸绘制中的应用 . [ 中图分 ...

  7. 深度解析UG二次开发装配的部件事件、部件原型和部件实例

    做UG二次开发快一年了,每次遇到装配的问题涉及到部件事件.部件原型和部件实例还是一头雾水,什么是实例,什么是原型这些专业术语等等. 针对这个问题,今天专门写了一篇特辑,结合装配实例深度剖析装配过程中的 ...

  8. NX/UG二次开发创建曲面偏置体

    NX/UG二次开发--创建曲面偏置体 创建曲面偏置体 1.曲面偏置 创建曲面偏置体 这里介绍了一种对模型曲面进行偏置来获得偏置体的方法. 1.曲面偏置 void OffsetFace(tag_t fa ...

  9. UG二次开发CreateDialog函数在UI.hxx文件和WinUser.h中的冲突

    文章出自https://blog.csdn.net/qq_41843732/article/details/91422764 在UG二次开发中,若使用MFC库,一旦加上#include<Afx. ...

最新文章

  1. 王兴和张一鸣和我们的互联网启蒙
  2. 学神!手握7篇Nature的他,今天再发Science!
  3. POJ 1703 Find them, Catch them【并查集】
  4. 【一些简单的jQuery选择器】
  5. Linux Shell脚本专栏_Linux系统发送告警邮件脚本_02
  6. python excel 单元格格式_python设置单元格数值格式
  7. 《深入react技术栈》学习笔记(一)初入React世界
  8. java解析简历_java:解析word文档(前程无忧简历),最好有代码案例?poi或者jacob解析都可以,有jar资源,求急。感谢...
  9. springboot和springcloud及常用注解积累
  10. Python入门--字符串的连接和替换,replace,join
  11. 分析redis key大小的几种方法
  12. 精选JAVA毕业设计83套——源码+论文完整资源
  13. postman压力测试
  14. 物联网技术在智慧校园中的应用
  15. 电脑重装系统详细教程(以安装win10为例)
  16. aws lambda_AWS Lambda和Node JS的路由管理框架
  17. Java 常见摘要算法——md5、sha1、sha256
  18. Krpano入门,导航栏,与javascript交互!!
  19. java面试题:2年工作经验java简历包装,面试为什么公司不通过
  20. html雪碧图怎么设置,HTML 5开发的在线雪碧图片合成工具

热门文章

  1. kettle安装及使用
  2. LogicFlow与原生BPMN的对比
  3. 计算机word的常用功能技巧,word一些实用小技巧
  4. CentOS 7 下Kubernetes 1.16.4安装
  5. vue 加载数据后渲染页面
  6. 如何查看电脑是否支持CUDA及支持的CUDA版本
  7. suse11sp3上面配置zypper源
  8. 什么是LTE(Long Term Evolution)
  9. 微软OpenPAI平台搭建指南
  10. mmdetection 安装配置全过程