1、proe 参数化建模本教程分两部分,第一部分主要介绍参数化建模的相关概念和方法,包括参数的概念、参数的设置、关系的概念、关系的类型、如何添加关系以及如何使用关系创建简单的参数化零件(以齿轮为例)。第二部分介绍参数化建模的其他方法:如族表的应用、如何使用 UDF(用户自定义特征) 、如何使用 Pro/Program 创建参数化零件。(后一部分要等一段时间了,呵呵)参数化设计是 proe 重点强调的设计理念。参数是参数化设计的核心概念,在一个模型中,参数是通过“尺寸”的形式来体现的。参数化设计的突出有点在于可以通过变更参数的方法来方便的修改设计意图,从而修改设计意图。关系式是参数化设计中的另外一项
2、重要内容,它体现了参数之间相互制约的“父子”关系。所以,首先要了解 proe 中参数和关系的相关理论。一、什么是参数?参数有两个含义:一是提供设计对象的附加信息,是参数化设计的重要要素之一。参数和模型一起存储,参数可以标明不同模型的属性。例如在一个“族表”中创建参数“成本”后,对于该族表的不同实例可以设置不同的值,以示区别。二是配合关系的使用来创建参数化模型,通过变更参数的数值来变更模型的形状和大小。二、如何设置参数在零件模式下,单击菜单“工具”参数,即可打开参数对话框,使用该对话框可添加或编辑一些参数。1.参数的组成(1)名称:参数的名称和标识,用于区分不同的参数,是引用参数的依据。注意:用
3、于关系的参数必须以字母开头,不区分大小写,参数名不能包含如下非法字符:!、”、和#等。(2)类型:指定参数的类型 a)整数:整型数据 b)实数:实数型数据 c)字符型:字符型数据 d)是否:布尔型数据。(3)数值:为参数设置一个初始值,该值可以在随后的设计中修改(4)指定:选中该复选框可以使参数在 PDM(Product Data Management,产品数据管理)系统中可见(5)访问:为参数设置访问权限。 a)完全:无限制的访问权,用户可以随意访问参数 b)限制:具有限制权限的参数 c)锁定:锁定的参数,这些参数不能随意更改,通常由关系式确定。(6)源:指定参数的来源 a)用户定义的:用户
4、定义的参数,其值可以随意修改 b)关系:由关系式驱动的参数,其值不能随意修改。(7)说明:关于参数含义和用途的注释文字(8)受限制的:创建其值受限制的参数。创建受限制参数后,它们的定义存在于模型中而与参数文件无关。(9)单位:为参数指定单位,可以从其下的下拉列表框中选择。2.增删参数的属性项目可以根据实际需要增加或删除以上 9 项中除了“名称”之外的其他属性项目三、关系的概念关系是参数化设计的另一个重要因素。关系是使用者自定义的尺寸符号和参数之间的等式。关系捕获特征之间、参数之间或组件之间的设计关系。可以这样来理解,参数化模型建立好之后,参数的意义可以确定一系列的产品,通过更改参数即可生成不同
5、尺寸的零件,而关系是确保在更改参数的过程中,该零件能满足基本的形状要求。如参数化齿轮,可以更改模数、齿数从而生成同系列、不同尺寸的多个模型,而关系则满足在更改参数的过程中齿轮不会变成其他的零件。四、关系式的组成关系式的组成主要有:尺寸符号、数字、参数、保留字、注释等。1.符号类型系统会给每一个尺寸数值创建一个独立的尺寸编号,在不同的模式下,被给定的编号也不同4)自定参数。用户自定义的参数。使用者参数名必须以字母开头(如果它们要用于关系的话)。不能使用 d#、kd# 、rd#、tm#、tp#、或 tpm#作为使用者参数名,因为它们是由尺寸保留使用的。使用者参数名不能包含非字母数字字符,诸如!、#
6、、$。2.系统内缺省的常量(大小写视为相同)下列参数是由系统保留使用的:3.运算符号(算数、比较、逻辑)4.数学函数(大小写视为相同)下面简单介绍这些函数的用法:sin()、cos() 、tan() 函数这三个都是数学上的三角函数,分别使用角度的度数值来求得角度对应的正弦、余弦和正切值,比如: A=sin(30) A=0.5 B=cos(30) B=0.866 C=tan(30)C=0.577asin()、acos() 、 atan()函数这三个是上面三个三角函数的反函数,通过给定的实数值求得对应的角度值,如:A=asin(0.5) A=30 B=acos(0.5) B=60 C=atan(0
7、.5) C=26.6sinh()、cosh() 、 tanh()函数在数学中,双曲函数类似于常见的(也叫圆函数的)三角函数。基本双曲函数是双曲正弦“sinh”,双曲余弦“cosh”,从它们导出双曲正切“tanh ”等。sinh / 双曲正弦: sinh(x) = ex - e(-x) / 2cosh / 双曲余弦: cosh(x) = ex + e(-x) / 2 tanh / 双曲正切: tanh(x) = sinh(x) / cosh(x)=ex - e(-x) / ex + e(-x) 函数使用实数作为输入值sqrt()函数开平方,如:A=sqrt(100) A=10; B=sqrt(2
8、)B=1.414. log()函数求得 10 为底的对数值,如: A=log(1) A=0; A=log(10) A=1; A=log(5)A=0.6989.;ln()函数求得以自然数 e 为底的对数值,e 是自然数,值是 2.718.;如: A=ln(1)A=0; A=ln(5) A=1.609.; exp()函数求得以自然数 e 为底的开方数,如:A=exp(2) A=e2=7.387.; abs()函数求得给定参数的绝对值,如A=abs(-1.6) A=1.6B=abs(3.5) B3.5 max()、min()函数求得给定的两个参数之中的最大最小值,如A=max(3.8,2.5) A=
9、3.8 B=min(3.8,2.5) B=2.5 mod()函数求第一个参数除以第二个参数得到的余数,如: A=mod(20,6) A=2 B=mod(20.7,6.1) B=2.4 pow()函数指数函数,如A=pow(10,2) A=100 B=pow(100,0.5) B=10ceil()和 floor() 均可有一个附加参数,用它可指定舍去的小数位. ceil(parameter_name or number, number_of_dec_places). floor(parameter_name or number, number_of_dec_places). parameter_
10、name or number:参数名或数值 要保留的小数位 (可省略) number_of_dec_places:要保留的小数位( 可省略) ,它的取值的不同可有不同的结果:可以为数值亦可为参数,若为实数则取整. 若 number_of_dec_place8, 则不作任何处理,用原值若 number_of_dec_place11 比 10.2 大的最小整数为 11. floor(-10.2)-11 比-10.2 小的最大整数为 -11.floor(10.2)10 比 10.2 小的最大整数为 10. Ceil(10.255,2)10.26. 比 10.255 大的最小符合数. Ceil(10.
11、255,0)11 floor(10.255,1)10.2 Len1=ceil(20.5) =Len1=21 Len2=floor(-11.3) =Len2=-12 Len=Len1+Len2 =Len=95.其他函数Proe 中提供的函数很多,除上述数学函数外,还有许多函数,在此介绍几个字符串函数tring_length( ) :返回某字符串参数中字符的个数。用法:String_length(Parameter name or string 参数名或字符串例)如:strlen1=string_length(“material“) 则 strlen1=8若 material=“steel“,st
12、rlen2=string_length(material) ,则 strlen2=5rel_model_name( ):返回目前模型的名称用法:rel_model_name( ) 注意括号内为空的,返回目前模型名称. 例: 当前模型为 part1,则 partName=rel_model_name( )=partName=“part1“ 如在装配图中,则需加上进程号(session Id),例如 partName=rel_model_name:2( ) rel_model_type( ) 返回目前模型类型用法: rel_model_type( ) 例: 如当前模型为装配图 parttype=r
13、el_model_type( ) =parttype=“ASSEMBLY“. itos( ) 将整数换成字符串用法: Itos(integer) 整数,若为实数则舍去小数点. 例:S1=Itos(123)=s1=“123“ S2=itos(123.57)=s2=“123“ intl=123.5 s3=itos(intl)=s3=“123“ search( ) 查找字符串, 返回位置值用法:search(string,substring). string:原字符串 substring:要找的字符串. 查到则返回位置,否则返回 0,第一个字符位置值为 1,依此类推. 例 : Parstr=abcd
14、ef.则 Where=search(parstr,“bcd“)=Where=2. Where=search(parstr,“bed“)=where=0(没查到). extract( ) 提取字符串用法:extract(string,position,length)string 原字符串position 提取位,大于 0 而小于字符串长度length 提取字符数,不能大于字符串长度例: new=extraecl(“abcded“,2,3)=new=“bcd“. 其含义是: 从“abcdef“串的第 2 个字符(b)开始取出 3 个字符.exists( ) 测试项目是否存在用法:exists(It
15、em)Item 可以是参数或尺寸. 例:If exists(d5) 检查零件内是否有 d5 尺寸.If exists(“material“) 检查零件内是否有 material 参数.evalgraph()计算函数用法:evalgraph(graph_name,x_value)其中 graph_name 是指控制图表( graph)的名字,要用双引号括起,x_value 是 graph 中的横坐标值。函数返回 graph 中 x 对应的 y 值。如 sd5evalgraph(“sec”,3) evalgraph 只是 proe 提供的一个用于计算图表 graph 中的横坐标对应纵坐标的值的一个
16、函数,你可以用在任何场合。trajparf_of_pnt( )返回指定点在曲线中的位置比例。用法:trajpar_of_pnt(curve_name,point_name)curve_name 是曲线的名称point_name 则为点的名字。两个参数都需要用“”来括起。函数返回的是点在曲线上的比例值,可能等于 trajpar 也可能是 1-trajpar。视曲线的起点如何。ratio=trajpar_of_pnt(“wire”,”pnt1”) ratio 的值等于点 pnt1 在曲线 wire 上的比例值。6.注释/* 后文字并不会参与关系式的运算,可用来描述关系式的意义。如:/*Width
17、is equal to 2*heightd1=2*d2五、关系式的分类proe 提供了为数不少的关系式,范围涵盖广泛,不过,一般使用者常用的仅其中几种,一下列举三大类分别说明。1.简单式该类型通常用于单纯的赋值。如:m=2d1=d2*22.判断式有时必须加上一些判断语句,以适合特定的情况,其语法是:if endififelseendif如:(1)if endifif d2=d3length_A=100endifif volume=50&area10type=1if B8type=2endifelsetype=0endif3.解方程与联立解方程组在设计时,有时需要借助系统求解一些方程。在 pro
18、e 中,求解方程的语法是:solvefor。若解不止一组,系统也仅能返回一组结果。如:r_base=70radtodeg=180/piA=0solveA*radtodeg-atan(A)=trajpar*20forAd3=r_base*(1+A2)0.5area=100perimeter=50solved3*d4=area2*(d3+d4)=perimeterfor d3,d4六、如何添加关系单击主菜单“工具”“关系”,即可打开关系对话框下面以实例说明如何使用参数和关系创建参数化零件1、新建零件:gear2、设置尺寸参数单击菜单“工具”参数,在参数对话框中添加尺寸的各个参数,如下图所示3、绘制
19、齿轮基本圆选取 FRONT 平面为草绘平面,单击草绘按钮,进入到二维草绘,在草绘平面内绘制认知尺寸的四个同心圆,确定,退出草绘模式。4、创建齿轮关系式,确定齿轮尺寸(1)在“工具” 主菜单选取“关系”选项,打开关系对话框(2)在关系对话框中分别添加齿轮的分度圆直径、基圆直径、齿根圆直径以及齿顶圆直径的关系式(如下图所示),通过这些关系式以及已知的参数来确定上述参数的数值。(3)接下来将参数与图形上的尺寸相关联。在图形上单击选择尺寸代号,将其添加到【关系】对话框中,再编辑关系式,添加完毕后的【关系】对话框如下图所示,其中为尺寸sdO、sdl、sd2 和 sd3 新添加了关系,将这四个圆依次指定为
20、基圆、齿根圆、分度圆和齿顶圆。(4)在【关系】 对话框中单击确定按钮,系统自动根据设定的参数和关系式再生模型并生成新的基本尺寸。最终生成如下图所示的标准齿轮基本圆。5、创建齿轮轮廓线(1)在右工具箱中单击“基准曲线”按钮打开【曲线选项 】菜单,在该菜单中选择【从方程】选项,然后选取【完成】选项。(2)系统提示选取坐标系,在模型树窗口中选择当前的坐标系,然后在【设置坐标类型】菜单中选择【笛卡尔】选项。系统打开一个记事本编辑器。(3)在记事本中添加如下图所示的渐开线方程式,完成后依次选取【文件】【保存】选项保存方程式,然后关闭记事本窗口。(4)单击【曲线:从方程】对话框中的确定按钮,完成齿轮单侧渐
21、开线的创建。生成如下图所示的齿廓曲线(5)创建基准点 PNTO。在右工具箱中单击“基准点”按钮打开【基准点】对话框,选择下图 1 所示的两条曲线作为基准点的放置参照(选择时按住 CTRL 键),(图 2),创建的基准点最终如下图 3 所示。(6)创建基准轴 A-l。在右工具箱中单击“基准轴”按钮打开【基准轴】对话框,选取 TOP和 RIGHT 基准平面作为放置参照(选择时按住 CTRL 键),如下图所示。(7)创建基准平面 DTMl。在右工具箱中单击基准平面按钮打开【基准平面】对话框,选取前面已经创建的基准点 PNT0 和基准轴 A-1 作为参照(选择时按住 CTRL 键)。创建下图所示的基准
22、平面(8)创建基准平面 DTM2。在右工具箱中单击基准平面按钮打开【基准平面】对话框,在参照中选择基准平面 DTMl 和基准轴 A_1 作为参照(选择时按住 CTRL 键),然后在【旋转】文本框中输入“-360(4*z)”,如下图所示。(9)在【工具】主菜单中选取【关系】选项打开【关系】对话框,在模型树单击上一步创建的“DTM2”基准平面,此时将显示如图所示的角度参数(本实例中为 d6),单击该尺寸将其添加到关系对话框,并完成关系式“d8=360(4*z)”,如下图所示。关闭【关系】对话框。(10)镜像渐开线。在工作区中选取已创建的渐开线齿廓曲线,然后单击右工具箱中的“镜像”按钮,选择基准平面
23、 DTM2 作为镜像平面,镜像渐开线后的结果如下图6、创建齿顶圆实体特征(1)在右工具箱中单击拉伸按钮,打开设计图标板,在图标板中单击定义放置打开【草绘】面板,单击“定义”按钮打开【草绘】对话框,选择基准平面“FRONT”作为草绘平面,其他设置接受系统默认参数,最后单击“草绘”钮进入二维草绘模式。(2)在右工具箱中单击“通过边创建图元”按钮打开【类型】对话框,选择其中的【环】单选按钮,然后在工作区中选择下图所示的曲线作为草绘剖面,最后在右工具箱中单击确定按钮,退出二维草绘模式。(3)在图标板中设置拉伸深度为 B,系统弹出如下图所示询问对话框,单击是按钮确认引入关系式。单击完成按钮完成齿顶圆实体
24、的创建。如图所示(4)仿照前面介绍的方法将拉伸深度参数添加到【关系】对话框中,并编辑关系式“d9=B”,如图所示。7、创建齿廓曲线。(1)在右工具箱中单击“草绘”按钮,打开【草绘】对话框。选取基准平面 FRONT 作为草绘平面,单击刊按钮,确保草绘视图方向指向实体特征,接受其他系统缺省参照后进入二维草绘模式。(2)在右工具箱中单击“通过边创建图元”按钮,打开【类型】对话框,选择其中的【单个】单选按钮,使用修剪和圆角钮并结合绘图工具绘制如图所示的二维图形(在两个圆 角处添加等半径约束)。完成后单击右工具箱中单击完成按钮,退出二维草绘模式。(3)将圆角半径参数添加到关系式对话框,完善关系式,如下图
25、所示8、创建第一个齿槽(1)选中刚刚做好的草绘特征,在右工具箱中单击拉伸按钮,打开设计图标板,在图标板中单击“放置”按钮打开草绘】面板,此时可以看到系统自动选取上一步创建的草绘曲线作为草绘(2)按照下图所示设置特征参数,完成,最终效果如下图。9、创建齿轮阵列特征(1)右键单击刚刚做好的拉伸特征,在编辑菜单中选择阵列,打开阵列操控板,将阵列类型改为轴,选择 A_1 作为轴阵列参照,如下图设置。确定。(2)将阵列成员数添加到关系式,单击工具关系,打开关系对话框,在模型树单击刚刚做好的轴阵列,此时阵列尺寸参数将显示在屏幕上,单击阵列成员数尺寸,将该尺寸添加到关系式中,完善关系式,如下图所示。(3)确
26、定后再生,最终个结果如下图10、添加修饰特征(1)在右工具箱中单击拉伸按钮打开设计图标板,在图标板中单击放置按钮打开【草绘】面板,选择基准平面 FRONT 作为草绘平面。在草绘平面中绘制直径为 35 的圆,创建减材料拉伸实体特征,拉伸深度为 9。生成如下图所示。(2)将上述拉伸特征尺寸添加到关系式,剖面尺寸:d90=0.8*m*z;拉伸深度:d89=0.3*b。如下图所示。(3)在右工具箱中单击基准剖面按钮打开【基准平面】对话框,选取基准平面 FRONT 作为参照,在【平移】文本框中输入:“B2”,创建新的基准平面 DTM3。(4)选取前面创建的减材料拉伸特征,然后在【编辑】主菜单中选取【镜像
27、】选项,然后选取新建基准平面 DTM3 作为镜像平面,在齿轮另一侧创建相同的减材料特征。(5)在右工具箱中单击“拉伸”按钮打开设计图标板,在图标板中单击“放置”按钮打开“草绘”面板,选择如下图所示平面作为草绘平面,在草绘平面内绘制如图所示图形。设置拉伸深度为“穿透” ,创建如图所示结构。(6)从【工具】 主菜单中选取【关系】选项打开【关系】对话框,为拉伸实体特征的下列尺寸编辑关系。中心圆孔半径:d99=0.16*m*z键槽高度:d100=0.03*m*z键槽宽度:d101=0.08*m*z小圆直径:d96=0.12*m*z小圆圆心到大圆圆心的距离:d97=0.3*m*z ;d98=0.3*m*z最终效果