基于UG的车桥桥壳参数化设计Word文件下载.docx
《基于UG的车桥桥壳参数化设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于UG的车桥桥壳参数化设计Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
![基于UG的车桥桥壳参数化设计Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-12/12/53e0dfc2-7e37-45b7-8842-d5e9e0e483bd/53e0dfc2-7e37-45b7-8842-d5e9e0e483bd1.gif)
因为设计是一项十分复杂的脑力活动,一项设计从任务的提出到设计完成从来不会是一帆风顺的,一项设计的完成过程就是一个不断改进、不断完善的过程,因此,从这个意思上讲,设计的过程就是修改的过程,参数化设计的目的就是按照产品的设计意图能够进行灵活的修改,所以它的易于修改性是至关重要的。
这也是UG软件为什么特别强调它的强大的编辑功能的原因。
2.2相关概念
2.2.1几何特征参数
几何特征参数是指基本几何形状的尺寸参数,例如长、宽、高是长方体的几何特征参数。
确定了几何参数,几何形体便唯一确定了。
2.2.2定位参数
定位参数是指几何形体之间的位置参数,设置定位参数是进行复杂形体建模的必要途径。
例如在一个平面上创建的圆柱凸台,需要两个参数定义其位置。
2.2.3形体自由度及约束
形体自由度是指几何形体(点、线、面、体)在空间中可以自由变化的位置参数的数目,例如一个点在二维空间中的自由度为2(x轴和y轴上的自由度);
三维实体在三维空间中有6个自由度,分别为沿X轴的平动、Y轴的平动、Z轴的平动、绕X轴的转动、绕Y轴的转动、绕Z轴的转动。
约束是针对自由度而言的,形体约束越多,它具有的运动自由度就越少,就越不灵活[1]。
2.2.4草图约束状
根据所加约束和元素间的关系,草图所处的状态可分为不完全约束,完全约束,过约束和约束冲突四种状态。
激活约束窗口后,系统将就草图所处的约束状态给出提示信息,除此之外,系统还根据情况不同,给出下列相应反应:
如为不完全约束状态,用自由度箭头提示每个元素顶点仍需限定的自由度的方向;
如为完全约束状态,所有的自由度箭头消失;
当草图处于过约束状态,被约束过多的几何尺寸和尺寸将自动变为黄色;
草图处于约束冲突状态,相互冲突的尺寸约束将自动变为粉红色、草图元素变为灰色。
2.2.5特征线的参数化
为了实现模型的参数化,首先必须实现特征线的参数化,在UG中有两类曲线,一类是CURVE功能创建的普通曲线,由于它一般不具有与表达式相关的参数,只能手工在UG交互界面中修改,不适合用于参数化建模。
另一类是利用草图(SKETCHER)功能绘制的草图,它必须定义在二维平面上,可包含任意绘制的二维几何图形,是极好的参数化建模工具。
2.2.6基于二维特征线生成三维曲面或实体
在创建模型过程中,大量的利用了UG拉深、扫掠、修剪、加厚曲面、由若干曲线生成面等功能,来实现由线到面或体的过程。
拉伸是指将位于同一平面上的若干条封闭或相连接的曲线组沿该平面法向方向或指定方向拉深而成三维实心体(SolidBody)或曲面(Sheetbody)。
扫掠是指将位于同一平面上的若干条相连接的闭合或开口曲线组沿一条指定的曲线延伸而成三维实心体或曲面。
2.2.7参数化和相关性的体现——表达式(Expression)
表达式是UG软件中参数化建模的一个重要部分,其本质是用来控制零件特性的数学或条件表达式,它可用来定义和控制模型中的大部分尺寸,如特征的尺寸或草图的尺寸。
表达式可被用来控制单个零件中不同特征之间的关系或装配零件中各零件的关系,因此对于参数化设计有着重要的意义。
修改表达式有两种方法:
一种是直接法,即直接调用UG内部TOOL\Expression模块实现定义、编辑和删除表达式等表达式操作功能,另一种是编程法,即利
用UG的二次开发工具API编程实现模型内部表达式的管理。
前者为软件包的标准模块,具有功能齐全,操作简便的优点,而利用后者可用C语言调用UG内部函数并自行设计界面,可以完全体现开发者的意图,针对性强[2]。
2.3零件参数化设计方法
2.3.1使用草图进行零件参数化设计
草图是UG建模中建立参数化模型的一个重要手段,草图曲线是一条参数化曲线,通过使用平面曲线来建立零件的大致轮廓。
在进行零件的参数化设
计中大量采用草图,因为草图容易使用,容易建立,容易修改。
特别是复杂的零件,可建立多个草图,几个草图之间有形状和位置关系的,用尺寸关系式使
其产生相关性。
UG采用的是“变量化技术”的设计建模方法,在绘制草图时,不需要精确地画出表示其轮廓形状的平面曲线,只是绘出零件的大致轮廓形
状,然后通过给草图加上尺寸约束和几何约束来精确地定义其形状,利用这些轮廓曲线通过拉伸或旋转等扫描方法来建立符合设计要求的零件的三维参
数化模型。
要修改零件的形状,只需改变草图尺寸参数,则由草图建立的零件三维模型也相应改变。
2.3.2使用表达式进行参数化设计
表达式是UG中参数化设计的一个重要的工具。
在零件的参数化设计中起着很重要作用,使用表达式可以定义和控制零件的尺寸参数,通过建立算
术和条件表达式可以控制一个零件特征之间的尺寸和位置关系,也可以控制几个草图之间的相互关系的尺寸,使之产生相关性。
使用表达式很容易对零件
进行修改,也容易实现零件的系列化设计。
如一个长方体的高度可以用它与长度的关系式来表述,如果其长度改变,则高度也自动随之改变。
表达式可以自动建立或手工建立。
当建立草图特征时,系统自动建立相应的表达式,在给草图标注尺寸时可给出数值,也可用算术表达式来表示。
几个
草图之间的尺寸关系也可用表达式表示。
还可根据设计意图自定义算术或条件表达式。
自定义表达式采用下拉菜单中表达式的命令,通过对话框输入来建立。
只要改变表达式中的任意一个参数,零件三维模型与其相关的形状和尺寸就
会自动随之改变。
2.3.3利用形状约束条件建立截面之间的相关对应关系进行参数化设计
在设计一些复杂曲面时,通常要建立各截面的形状,这时可通过求出实体表面、平面、曲线与指定平面之间的交线或交点,使用这些点利用几何形状
约束条件建立截面之间的相关关系。
从而在各截面之间建立起相关的参数化关系,只要对其中一个截面进行任何修改,三维模型都会自动随之改变。
除此之外,还可利用UG中的提取功能、Wave技术进行参数化设计来实现零件的系列设计。
2.4参数化设计方案的确定
图1设计方案流程图
3UG软件及二次开发工具简介
3.1UG软件简介及研究现状
UG软件起源于美国麦道飞机公司,当时为了设计和制造F5战斗机而开发了UG产品,由于它在CAD/CAM/CAE以及产品数据管理(PDM)上所具有的卓越的性能,加上它提供CADE/CAE/CAM/PDM集中解决方案,目前该软件在航天航空、汽车制造、模具加工、通用机械等具有很多的知名度,并受到广泛的运用。
同时UG还提供编程工具UG/OPENAPI和UGOPENGRIP用来进行二次开发。
UG软件自1990年进入中国市场,经过十年的发展,目前国内用户已近千家。
国内许多大型企业、公司均采用UG作为其产品设计生产的支撑软件。
大连机车车辆厂、天津汽车研究所、长春光机所、上海飞机制造厂、北京福田汽车股份有限公司都是使用UG的成功范例,许多知名的家电企业,如海尔、海信、科龙、康佳、长虹、小鸭,利用UG开发自身的系列化产品,获得了显著的经济效益。
国内外有关UG的应用研究资料表明,UG应用包括两种类型:
一、直接利用UG软件进行产品的建模、分析、制造。
二、在UG平台上进行二次开发。
二次开发的内容涉及标准零件库、行业产品特征库、复杂零件的自动化生成、零件成型与分析自动集成、典型产品的专家系统研究等。
3.2UG二次开发工具的简介
3.2.1宏命令(Macro)
宏命令是UG平台上人机交互操作的一系列过程的记录。
宏命令文件扩展名为*.macro。
为ASII码形式。
宏命令通过两种方式产生:
一是软件自动记录;
二是手工编写(用任一文本编辑器)。
3.2.2用户自定义特征(UserDefineFeature)
用户自定义特征是UG软件提供的造型特征之一,它可对一简单实体生成用户化的特征,特征的参数由用户自定义。
通过这一功能可建立用户自定义特征库,在需要时直接调用。
用户自定义特征文件扩展名为*.udf。
3.2.3UG/openMenuScript
此项功能使用户或第三方软件商通过文本编辑器UG菜单文件,生成用户化的菜单集成它们的特殊应用。
UG/openMenuscript支持UG主菜单和快速弹出式下拉菜单的修改,通过它可以改变UG菜单的布局、添加新的菜单项以执行用户二次开发程序、UserTools文件、操作命令等。
UG/openMenuscript的使用需要专门授权,运用可以完全改变UG软件的主界面,所以需谨慎使用以防出现混乱。
该文件后缀*.men,一般来讲,该文件必须放在\startup目录中,以便在UG启动自动加载。
3.2.4用户工具(UserTools)
用户工具是一种生成用户对话框的工具。
它有两种功能:
其一是在UG主菜单的UserTools下拉菜单中添加用户项:
其二是生成弹出式对话框。
用户工具生成的界面风格和UG界面一致,通过它可运行对话框文件、宏文件、UG/openAPI及UG/openGRIP程序。
用户工具生成的文件扩展名有*.utm和*.utd,其中*utm文件用于UG16.0以前的版本,在主菜单UserTools中添加用户项,这需在UG的初始化文件ugii_env.dat文件中指明路径,自动装载。
*.utd文件可通过*.utm文件调用或*.men菜单文件调用。
*.utm文件和*.utd文件可用Windows中的写字板进行编辑,并且该文件必须放在application目录中,以便UG启动自动加载。
3.2.5UG/openUIStyler
(1)UIStyler对话框文件的生成
和VisualC++对话框设计相似,UIStyler包含对话框的各种控件,
即UIObjects对象,如静态文本(label)、整形数值输入框(Integer)、浮点型数值输入框(Real)、字符串输入框(String)、宽字符串输入框(WideString)、多行文本框(Multi-lineText)、按钮(PushButton)、复选框(Toggle)、分割线(Seperator)、位图(Bitmap)、布局按钮(ButtonLayout)、下拉列表(OptionMenu)、单选按钮(Radio)、工具组(ToolPalette)、整形数滑动条(ScaleInteger)、实型数滑动条(ScaleReal)、单选列表框(SingleSelectionList)、多选列表框(Mult-SelectList)、单选框(SelectionBox)、滚动窗口(scrolledWindow),可以随意对它们进行组合并编辑确定其位置。
每一UIObjects对象具有一定的属性、选择性及回调函数,这些性质均应在生成UIStyler对话框文件之前确定。
在保存UIStyler对话框时共生成三个文件:
*.dlg、*_template.c、*.h。
其中*.dlg是UIStyler对话框界面文件,非ASCII格式,封装了对话框的图形界面;
*_template.c、*.h分别是UIStyler对话框C语言模板文件和头文件。
用户的主要工作是修改*_template.c模板文件并在其中添加用户代码,确定UIStyler对话框被调用的形式及其所实现的功能。
这些工作都在VisualC++6.0中完成,最终和*.h编译链接生成可调用的*.dll文件。
(2)UIStyler对话框的调用
UIStyler对话框有三种被调用方式:
UIStyler对话框CallBack、Menu、UserExit。
CallBack指被对话框调用,即对话框嵌套,Menu指被MeniScript调用、UserExit指被用户接口调用。
不同的被调用方式具有不同的接口函数,分别为externint<
enterthenameofyourfunction>
(int*reponse)、externufsta(char*param,int*retcode,intrlen)、externvoidufusr(char*,int*retcode,intrlen)。
确定UIStyler对话框被调用方式后,应清除*_template.c文件中对应接口函数的条件编译代码。
使该函数能够进行编译。
(3)UIStyler对话框CallBackFunction的实现
对话框的最终功能是实现用户的某种操作,如建模。
这将在*_template.c文件中的CallBackFunction中完成,CallBackFunction是对话框响应函数,也称回调函数。
无须专门设定,摸板文件*_template.c中提供最基本的apply的按钮回调函数框架,函数名为:
int*_apply_cb(intdialog_id,void*client_data,
UF_STYLER_item_value_type_p_tcallback_data)
每一UIObjects对象都可确定一回调函数。
回调函数名在UIStyler对话框编辑时定义,其框架将在生成*_template.c时自动产生。
UG/openUIStyler是用户或第三方软件商开发UG对话框的可视化工具,它比UserTools具有更强的功能。
使用这个工具可以避免复杂的图形用户接口GUI(GrahicsUserInterface)编程,其设计对话框的方式与VisualC++相似,即利用对话框中基本单元的组合生成不同的对话框,对话框中所有控件设计都是实时可见的。
UG/openUIStyler生成的对话框可与UG/openMenuScript、UG/openAPI、UG/openGRIP集成,执行二次开发程序。
由主菜单项Application→UserInterfaceStyler..即可进入该对话框设计界面。
在设计好对话框界面后,保存退出,可生成三个文件:
*.dlg、*_template.c、*.h,在VC++编程时将分别应用。
3.2.6UG/openGRIP语言
GRIP是GraphicsInteractiveProgramming的缩写,它是与FORTAN相似的程序设计语言。
GRIP能提供大多数UG操作及相关模块的操作。
几乎任何UG操作均可通过GRIP程序交互式地实现,如实体建模、工程制图、制造加工、系统参数控制、文件管理、图形修改等。
GRIP也提供交互式的命令,这些命令在对话框中显示信息,允许用户在GRIP程序运行时进行交互操作,这些交互命令控制对象的选择、菜单项选择、数据输入、文件输入及一般点子功能。
GRIP语言通过命令来实现对UG的操作,每一条命令的形式为:
关键词/参数
GRIP命令有三种表示格式:
(1)陈述格式,主要用于生成和编辑实体;
(2)GPA符号格式。
GPA是全局参数存取(GlobalParameterAccess)的缩写,用于访问UG系统中各种对象的状态和参数;
(3)EDA符号格式。
EDA是实体数据存取(EntityDataAccess)的缩写,用于访问UG数据库,能够访问各种对象的功能性数据。
例如在属性、绘图和尺寸标注及几何体等领域与UG进行交互操作时,其参数可用EDA格式的命令取得。
GRIP定义了四种类型的结构:
变量、命令、函数和符号。
其中所有的关键词后面都紧跟一个斜杠(/)符号。
关键词没有严格的大小写要求,但在GRIP程序中通常采用大写形式。
使用GRIP进行编辑的一般步骤为:
1)编写源代码:
在UG菜单中选择UnigraphicsTools\UGOpenGRIP,弹出UGOpenGRIP环境界面,选择Edit,用文本编辑器(如记事本)编写源代码,以扩展名.grs存盘。
2)编译源代码:
将源程序进行编译生成扩展名为.gri的编译文件。
若主程序中含有子程序,则两者要分别进行编译,链接时主程序自动对子程序进行链接。
3)链接程序:
将扩展名为.gri的文件链接生成可执行的GRIP文件,扩展名为.grx。
4)运行程序:
在UG中的file菜单下的ExecuteUG/open一项可以运行*.grx文件,也可以通过其它方式执行.grx文件,如通过用户化菜单或对话框。
在UG18.0版本中的编辑工具提供了GRIP源程序编辑、编译、链接全程服务。
其位于“桌面”→“开始”→“程序”→“UnigraphicsNX4.0”→“UnigraphiCsTools”→“UGOpenGRIP”。
3.2.7UG/openAPI程序
UG/openAPI又称UserFunction,是一个允许用户访问并影响UG对象模型的程序集,它支持C/C++语言,头文件支持ANSIC。
UG/openAPI应用程序即是用C/C++编程,通过调用UG/openAPI,把UG及其相关模块各种子功能集成在用户程序中实现用户的特定任务。
UG/openAPI提供了比GRIP更多的对UG及其模块进行操作的功能,包括建模、装配、有限元分析、机构运动分析、制造、钣金等。
从UG/openAPI里使用函数来编程可以有两种不同的模式(Model):
Internal和External,这里模式是指产生的可执行代码的类型,即一个是共享库(Internal)或一个是独立的可执行代码(External)。
1)nternalUG/openAPI的一般形式:
#include<
uf.h>
头文件
voidufusr(char*param,int*record,intparm_len)
{/************申明变量*********/
UF_initialize();
/************用户代码*********/
UF_terminate();
}
InternalUG/openAPI必须使用ufusr/ufsta函数(主函数)作为程序运行的入口点,它可以看作是用户写的UG子程序或子函数。
执行程序时,UG将程序装入内存并搜索ufusr/ufsta,程序从这里开始执行,执行完后由一个return语句返回UG。
2)ExternalUG/openAPI的一般形式:
intmain(intargc,char**argv)
输入主函数的参数(arguments)是标准的C参数:
argc-参数个数,argv-字符串指针。
所有UG/openAPI程序必须正确地开始和终止一配置和返回UG/openAPILicense,用户使用两个函数UF_initialize()和UF_terminate()来实现这一点。
在定义变量后调用的第一个UG/openAPI函数必须是UF_initialize(),且最后一个调用函数也必须是UF_terminate()。
在程序中除了包含标准的ANSIC头文件外,还包括所使用的UG/openAPI程序。
UG/OPENAPI的主要应用有以下几个方面:
用户化定制CAD环境。
用户化定制CAD环境主要包括:
提供用户化CAD规范;
提供用户化标准库;
定制用户化CAD界面等。
3.3二次开发的关键技术
UG(NX4.0)提供的二次开发工具和方法,只有用程序将它们集成起来,才能实现用户需要的特定功能。
本文通过应用实例探讨了利用VC++6.0开发平台编程调用UG/OPENUIStyler对话框和UG/OPENAPI,进行API、UIStyler及MenuScript联合开发后桥零件标准库开发管理系统系统的基本方法和关键技术。
3.3.1UG工作目录的设置
在硬盘中建立工作文件夹,如D:
\user,再在user目录下建立application、startup和udo分别用于存放开发过程中所建立的文件。
3.3.2环境变量的设置
在进行UG/OPENAPI应用开发之前,应首先进行开发及运行的环境设置,以确保应用程序的开发、调试及运行过程的正常进行。
设置UG启动时读取用户文件目录有三种方法。
(1)通过改变UG环境文件中的设置
指定UGIII_USER_DIR或UGII_SITE_DIR或UGII_VENDOR_DIR的
放二次开发结果所使用的目录,并删除前面的“#”。
如:
UGII_USER_DIR=D:
\user。
(2)在customize_dirs.dat文件的末尾增加一条语句D:
(3)在操作系统的环境变量中设置。
UGII_USER_DIR=D:
3.3.3编程向导的生成
将D:
\UGS\UGOPEN中的UgOpen_v18和UgOpen_v18.awx文件复制目录到D:
\MicrosoftVisualStudio\MSDev98\Template下,即可在VC新建工程是找到UG/OPENAppwizardV18向导,方便并简化了用户的开发[3]。
3.3.4系统接口程序开发流程图
3.3.5界面设计方法
界面设计方法关系如下图,箭头指向表明可调用执行的关系,其中GRIPdialog、APIdialog