ProE关系语言.docx_第1页
ProE关系语言.docx_第2页
ProE关系语言.docx_第3页
ProE关系语言.docx_第4页
ProE关系语言.docx_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

pro/E关系-完整篇pro/E关系(上) (1)关于关系关系(也被称为参数关系)是书写在符号尺寸和参数之间的用户定义的等式。关系捕获特征、零件或组件元件内的设计关系,从而允许用户来控制对模型修改的效果。关系是捕获设计知识和意图的一种方式。和参数一样,关系被用于驱动模型。如果更改关系,则模型也会随之改变。可以使用关系来: 控制模型的修改效果。 定义零件和组件中的尺寸值。 作为设计条件的约束(例如,指定孔相对于零件边的位置)。 在设计过程中描述某个模型或组件的不同零件之间的条件关系。关系可以是简单值(例如 d1=4)或复杂的条件分支语句。(2)关系类型有两种类型的关系: 等式 (Equality) - 使方程左边的参数等于右边的表达式。这类关系用于给尺寸和参数赋值。例如:简单的赋值:d1 = 4.75复杂的赋值:d5 = d2*(SQRT(d7/3.0 d4) 比较 (Comparison) - 比较方程左边的表达式和右边的表达式。这种关系通常用于作为一个约束或用于逻辑分支的条件语句中。例如:作为约束:(d1 d2) > (d3 2.5)在条件语句中:IF (d1 2.5) >= d7(3)添加关系可以把关系添加到: 特征的截面(在“草绘器”模式下)。 特征(在“零件”或“组件”模式下)。 零件(在“零件”或“组件”模式下)。 组件(在“组件”模式下)。第一次选择“工具”(Tools)>“关系”(Relations) 时,假定要查看或更改当前模型(例如,“零件”模式下的零件)中的关系。要使用关系,同时打开零件或组件,可单击“工具”(Tools)>“关系”(Relations)。“关系”(Relations) 对话框打开。在“查找”(Look In) 下,选取下列对象类型之一: 零件 (Part) - 使用零件中的关系(在“零件”和“组件”模式下均可)。 组件 (Assembly) - 使用组件中的关系。 特征 (Feature) - 使用某一特征专用的关系(在“零件”和“组件”模式下均可)。 继承 (Inherited) - 在“零件”和“组件”模式下均可。 截面 (Section) - 如果特征具有截面,则可在截面(“截面”)中使用截面(“草绘器”)关系(在“零件”和“组件”模式下均可)。 阵列 (Pattern) - 使用某一阵列专用的关系(在“零件”和“组件”模式下均可)。 骨架 (Skeleton) - 使用组件中骨架模型的关系。 元件 (Component) - 使用组件元件的关系。注意:o 如果试图将截面之外的关系指派给已经由截面关系驱动的参数,则系统再生模型时给出错误信息。试图将关系指派给已经由截面之外关系驱动的参数时也同样。删除关系之一并重新生成。o 如果组件试图给已经由零件或子组件关系驱动的尺寸变量指派值时,出现两个错误信息。删除关系之一并重新生成。o 修改模型的单位可使关系无效,因为它们没有随该模型缩放。 给模型增加关系1. 零件或组件打开时,单击“工具”(Tools)>“关系”(Relations)。“关系”(Relations) 对话框打开。2. 在文本框中键入关系并按 ENTER 键。系统接受输入内容。可输入任意多个关系,输入每一个关系后按 ENTER 键。注意:系统不接受超过 31 个字符的参数名,变量名或符号名。用以下方式之一可以给模型添加关系: 编辑关系文件并添加更多的关系。 修改尺寸并且当提示输入新值,键入关系的右边。在特征中创建关系时遵循的规则当在特征中创建关系时,它们同特征一起保存、一起驻留,而不管使用该特征的模型如何。零件关系式在所有特征再生之前进行计算,特征关系式在特征再生时进行计算。因此,在关系执行几何计算(诸如两点之间的距离)时,如果与用作零件关系相对,它被用作特征关系,则可能给出不同的结果。在特征中创建关系可以使用在零件或组件中创建关系时使用的同一规则。注意:新参数不是在特征中创建的,但可以通过特征级名称修改已存在的模型参数。 关系中使用的参数符号在关系中使用四种类型的参数符号: 尺寸符号 (Dimension symbols) - 支持下列尺寸符号类型:o d# - “零件”或“组件”模式中的尺寸。o d#:# - “组件”模式中的尺寸。组件或元件的进程标识添加为后缀。o rd# - 零件或顶级组件中的参照尺寸。o rd#:# - “组件”模式中的参照尺寸。组件或元件的进程 ID 添加为后缀。o rsd# - 草绘器(剖面)中的参照尺寸。o kd# - 草绘(剖面)中的已知尺寸(在父零件或组件中)。 公差 (Tolerances) - 这些是与公差格式相关的参数。当尺寸由数字的转向符号的时候出项这些符号。o tpm# - 加减对称格式的公差;# 是尺寸数。o tp# - 加减格式的正公差;# 是尺寸数。o tm# - 加减格式的负公差;# 是尺寸数。 实例数 (Number of Instances) - 这些是阵列方向上的实例数的整数参数。o p# - 其中 # 是实例的个数。注意:如果将实例数改成一个非整数值,Pro/ENGINEER 将截去其小数部分。例如,2.90 将变为 2。 用户参数 (User Parameters) - 这些可以是通过添加参数或关系定义的参数:例如:Volume = d0*d1*d2Vendor = Stockton Corp.注意:o 用户参数名必须以字母开头(如果它们要用于关系的话)。o 不能使用 d#、kd#、rd#、tm#、tp# 或 tpm# 作为用户参数名,因为系统需要保留它们,和尺寸一起使用。o 用户参数名不能包含非字母数字字符,如 !、# 和 $。下列参数是由系统保留使用的:PI(几何常数) 值 = 3.14159(不能改变此值。)G(引力常数) 缺省值 = 9.8 米/秒2(C1、C2、C3 和 C4 是缺省值,分别等于 1.0、2.0、3.0 和 4.0。)可在“关系”(Relations) 对话框的“局部参数”(Local Parameters) 框中更改这些系统参数值。这些改变的值应用于当前工作区的所有模型。 关系中使用的运算符 可在关系(包括方程和条件语句)中使用下列运算符。算术运算符 加 减/ 除* 乘 指数() 分组圆括号例如:d0 = (d1d2)*d3赋值运算符= 等于= 号是一个赋值运算符,它使得方程或关系两边相等。应用时,等式左边只能有一个参数。注意:“等于”赋值运算符不同于“等于”比较运算符。比较运算符只要能返回 TRUE/FALSE 值,就可使用比较运算符。例如,只要 d1 大于或等于 3.5,下面的关系就返回 TRUE。只要 d1 小于 3.5,就返回 FALSE:d1 >= 3.5系统支持下列比较运算符:= 等于> 大于>= 大于或等于!=, <>,= 不等于< 小于<= 小于或等于| 或& 与, ! 非运算符 |、&、! 和 扩展了比较关系的应用,它们使得能在一个语句中设置若干条件。例如,只要 d1 介于 2 和 3 之间且不等于 2.5,下面的关系就返回 TRUE:d1 > 2 & d1 < 3 & d1 = 2.5 关系中使用的函数数学函数可在关系(包括方程和条件语句)中使用下列运算符。关系中也可以包括下列数学函数: cos () 余弦tan () 正切sin () 正弦sqrt () 平方根asin () 反正弦acos () 反余弦atan () 反正切sinh () 双曲线正弦cosh () 双曲线余弦tanh () 双曲线正切注意:所有三角函数都使用单位度。log() 以 10 为底的对数ln() 自然对数exp() e 的幂abs() 绝对值ceil() 不小于其值的最小整数floor() 不超过其值的最大整数可以给函数 ceil 和 floor 添加一个任意自变量,用以指定要圆整的小数位数。带有圆整参数的这些函数的语法是:ceil (parameter_name or number, number_of_dec_places)floor (parameter_name or number, number_of_dec_places)其中 number_of_dec_places 是可选值: 可以被表示为一个数或一个用户自定义参数。如果该参数值是一个实数,则被截尾成为一个整数。 它的最大值是 8。如果超过 8,则不会舍入要舍入的数(第一个自变量),并使用其初值。 如果不指定它,则功能同前期版本一样。使用未指定小数位数的 ceil 和 floor 函数,举例如下:ceil (10.2) 值为 11floor (10.2) 值为 11使用指定小数位数的 ceil 和 floor 函数,举例如下:ceil (10.255, 2) 值为 10.26ceil (10.255, 0) 值为 11 与 ceil (10.255) 相同floor (10.255, 1) 值为 10.2floor (10.255, 2) 值为 10.26 关系错误Pro/ENGINEER 检查刚刚编辑文件中关系的有效性,并且,如果发现关系文件中的错误,则立即返回到“编辑”模式并标记错误的关系。然后可以修正有标记的关系。在关系文件中可能出现三种类型的错误信息: 长的行 - 关系行超过 80 个字符。编辑改行,或把该行分成两行(其方法是键入反斜杠符号 () 以表示关系在下一行继续)。 长符号名 - 符号名超过 31 个字符。编辑符号名使其字符少于 31 个。 错误 - 发生语法错误;例如,出现没有定义的参数。计算关系以获得错误并编辑。注意:这种错误检查捕捉不到约束冲突。如果联立关系不能成立,则在消息区出现警告。如果遇到不确定的联立关系,则在最后一个关系行下的空行上出现出错消息。提示:修改单位将如何影响关系修改模型的单位可使关系无效,因为它们没有随该模型缩放。 - pro/E关系(下) 曲线表计算曲线表计算使用户能用曲线表特征,通过关系来驱动尺寸。尺寸可以是草绘器、零件或组件尺寸。格式如下:evalgraph(graph_name, x)- 其中 graph_name 是图形的名称,x 是沿图形 x 轴的值,返回 y 值。对于扫描特征,可指定轨迹参数 trajpar 作为该函数的第二个自变量。注意:曲线表特征通常是用于计算 x 轴上所定义范围内 x 值对应的 y 值。当超出范围时,y 值是通过外推的方法来计算的。对于小于初值的 x 值,系统通过将切线从起始点往回延伸计算外推值。同样,对于大于终值的 x 值,系统通过将切线从终点往外延伸计算外推值。 复合曲线轨道函数可在关系中使用复合曲线的轨迹参数 trajpar_of_pnt。下列函数返回一个 0.0 和 1.0 之间的值:trajpar_of_pnt(trajname, pointname)- 其中 trajname 是复合曲线名称,pointname 是基准点名称。轨线是一个沿复合曲线的参数,在它上面垂直于曲线切线的平面通过基准点。因此,基准点不必位于曲线上;在曲线上距基准点最近的点上计算该参数值。如果复合曲线被用作多轨迹扫描的骨架,则 trajpar_of_pnt 要么与该平面上的参数 trajpar 一致,要么与 1.0 trajpar 一致(取决于为扫描特征选择的起点)。 * 天使补充: 1.trajpar_of_pnt不是VSS里的内容,VSS里用到的是trajpar。trajpar是个变量,从0到1,trajpar_of_pnt是个函数,其值是一个0到1里的一个定值。2.假如曲线名为CURVE1,基准点名为PNT1,通常我们用到的都是点在曲线上的情况,不在曲线上时取过点PNT1的曲线的法线(切线垂直线)与曲线的交点来算结果。此函数的结果是:曲线起点到PNT1之间的这一段曲线长度与曲线全长的比值,如果pnt1与曲线起点重合,值为0,如果pnt1与曲线终点重合,值为1。因此,在某些情况下,trajpar_of_pnt与trajpar或1.0 - trajpar一致.3.点的位置由其它的东西控制,当点位置变更时,这个函数的结果反映点的变化,其结果用于扫描等(如截面尺寸)。因此,这个函数的作用是实现用一个点的位置变化来控制其它的东西,而不能反过来用函数的值去驱动点,点必须是由其它东西驱动的。 4.如果想用一个点沿一曲线连续运动以取trajpar_of_pnt去控制VSS截面尺寸的话,还是用graph比较好。目前trajpar_of_pnt比较成功的用法是用于随意阵列。 5.冰大的随意阵列是目前用此函数最成功的例子(冰大:关于珍珠项链的阵列思想 任意曲线上的等距离点的阵列方法) 来自其它: 6.问:a=trajpar_of_pnt(trajparname,pointname itos(2*idx1-1)后面 itos(2*idx1-1)是什么意思?还有一个函数是loc=itos(1000*trajpar_of_pnt(trajparname,pointname)表达的是什么意思? 答:“itos(2*idx1-1)”是把阵列的项数转换成字符串,再与之前的基准点名合并,以符合你的实际基准点名称。“loc=itos(1000*trajpar_of_pnt(trajparname,pointname)”同理,把数转换成字符串。7.trajpar是一个从0到1递增的函数,起始为0结束为1,比如sd#=sin(trajpar*360) 2,就是一个起始高度为2正弦函数从0度角到360度角变化。 将字符串作为关系的自变量来传递下列函数允许用户使用串作为自变量: string_length() - 返回参数中字符的个数。例如,如果串参数 material 的值定义为 steel,则 string_length(material) 等于 5,因为 steel 有 5 个字母。 rel_model_name() - 返回当前模型名。例如,如果当前正在处理零件 A,则 rel_model_name() 等于 A。要在组件的关系中使用该函数,关系如下所示:name = rel_model_name:2()注意括号 () 内是空的。 rel_model_type() - 返回当前模型的类型。如果正在“组件”模式中工作,则 rel_model_type() 等于组件。 exists() - 判断某个项目(如参数、尺寸)是否存在。该函数适用于正在计算关系的模型,或任何模型元件或子模型结构。例如:o if exists(d5:20) - 检查运行时间 ID 为 20 的模型其尺寸是否为 d5o if exists (par:fid_25:cid_12) - 检查元件 ID 12 中特征 ID 为 25 的特征是否有参数 par。这允许进行基于参数的决策,该参数只存在于大型组件的一个零件中。例如,假设在大型组件中有若干系统(诸如液压的、气动的、电子的系统),但大多数对象不属于任何系统。在这种情况下,为了进行基于参数的计算评估,只需要给系统中所属的模型指派适当的参数。例如,如果电子系统中的项目需要使用 BOM 报表中的零件号,而不是模型名,则可以创建一个报表参数 bom_name,并写出如下关系:if exists(asm_mbr_cabling)bom_name = part_noelsebom_name = asm_mbr_nameendif示例:曲线表计算曲线表计算使用户能用曲线表特征,通过关系来驱动尺寸。尺寸可以是草绘器、零件或组件尺寸。格式如下:evalgraph(“graph_name”,x)- 其中 graph_name 是图形的名称,x 是沿图形 x 轴的值,返回 y 值。见下图。图形名称:拉伸 d1=0.5 d2=1.5 d1=evalgraph (stretch, 1) d2=evalgraph (stretch, d1*4)对于扫描特征,可指定轨迹参数 trajpar 作为该函数的第二个自变量。示例:用注释批注关系可以使用注释评注关系。每一个注释行必须以一个斜杠和一个星号开始。关系中的注释举例如下:/* Width is equal to 2*heightd1 = 2*d2注释必须在所应用的关系之前出现。当排序关系时,注释将随关系一起移动,并附加在关系之上。提示:使用关系中的注释。在关系中使用注释是一个好习惯,这样做,总能够记住有哪些关系及为什么在模型中使用它。注释也会有益于使用模型的其他用户。 关系中的联立方程组联立方程组是这样的若干关系,在其中必须联立解出若干变量或尺寸。例如,假设有一个宽为 d1、高为 d2 的盒子,并要指定下列条件: 其面积等于 100 其周长等于 50可以键入下列方程组:SOLVEd1*d2 = 1002*(d1 d2) = 50FOR d1 d2 .or.FOR d1,d2所有 SOLVE 和 FOR 语句之间的行成为方程组的一部分。FOR 行列出要求解的变量。所有在联立方程组中出现而在 FOR 列表中不出现的变量被解释为常数。故也可以键入:area = 100perimeter = 50SOLVEd1*d2 = area2*(d1 d2) = perimeterFOR d1 d2用在联立方程组中的变量必须预先初始化。例如,在上一个关系中省略 area = 100 时会引起错误。由联立方程组定义的关系可以同单变量关系自由混合。选取“显示”(Show) 时两者都显示,并可使用“关系”(Relations) 对话框中的“编辑”(Edit) 进行编辑。注意: 即使方程组有多组解,也只返回一组。可在联立方程组后面添加额外的代码,以便在解多于一组时指定一组解。例如,在上一个例子中,两组可能的解为 d1=5,d2=20 和 d1=20,d2=5。或许要通过添加下列条件码来添加约束 d1 <= d2:IF d1 >d2temp = d1d1 = d2d2 = tempENDIF关系中的条件语句IF 语句IF 语句可以加到关系中以形成条件语句。例如,IF d1 > d2length = 14.5ENDIFIF d1 <= d2length = 7.0ENDIF条件是一个值为 TRUE(或 YES)或 FALSE (或 NO)的表达式。这些值可以用于条件语句中。例如,下列语句都可以用同样的方式计算:IF ANSWER = YESIF ANSWER = TRUEIF ANSWERELSE 语句即使再复杂的条件结构都可以通过在分支中使用 ELSE 语句来实现。用这一语句,前一个关系可以修改成如下这个样子:IF d1 > d2length = 14.5ELSElength = 7.0ENDIF在 IF、ELSE 和 ENDIF 语句之间可以有若个特征。此外,IF-ELSE-ENDIF 结构还可以嵌套在特征序列(它们是其它 IF-E

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论