1、关系关系关系是书写于符号尺寸和参数之间的用户定义的等式。这些关系可让您通过定义特征或零件内的关系,或者组件元件中的关系来捕捉设计意图。可在不同级别创建关系:组件、零件、特征或截面。可使用关系按以下方式控制建模过程:控制模型的修改效果;定义零件和组件中的尺寸值 ;设置设计条件的约束。例如,指定相对于零件的边的孔的位置; 描述模型或组件的不同零件之间的条件关系。关系可以是简单值(例如 d1=4)或复杂的条件分支语句。也可在关系中使用单位。截面关系在草绘器中创建以控制复杂截面几何的关系。除非截面尺寸更改,否则系统通常在零件再生期间再生截面关系。零件关系在零件级添加的关系。零件再生期间,这些关系会在再
2、生特征之前求解完毕。特征关系添加至选定特征的关系。零件再生期间,这些关系排在零件关系之后、但在其应用于特征的再生之前求解。只有在应用了零件关系且已再生了某些特征之后,才能使用特征关系更改特征几何。访问关系要访问关系,可打开模型并单击“工具”(Tools)“关系”(Relations)。“关系”(Relations) 对话框打开。关系类型有两种类型的关系:221等式 (Equality) - 使方程左边的参数等于右边的表达式。这类关系用于给尺寸和参数赋值。例如:o 简单的赋值:d1 = 4.75o 复杂的赋值:d5 = d2*(SQRT(d7/3.0+d4)(开平方)222比较 (Compari
3、son) - 比较方程左边的表达式和右边的表达式。这种关系通常用于作为一个约束或用于逻辑分支的条件语句中。例如:o 作为约束:(d1 + d2) (d3 + 2.5)o 在条件语句中:IF (d1 + 2.5) = d723使用关系的规则请考虑下列规则:231如果试图将截面之外的关系指派给已经由截面关系驱动的参数,则系统再生模型时给出错误信息。试图将关系指派给已经由截面之外关系驱动的参数时也同样。(一个参数只能有一个关系来驱动)删除关系之一并再生模型。232如果组件试图给已经由零件或子组件关系驱动的尺寸变量指派值时,将得到错误消息。移除其中一种关系,然后再生模型。已经有关系驱动的底层参数不能再
4、由上层来关系驱动。233修改模型的单位可使关系无效,因为它们没有随该模型缩放。提示: 在有些情况下,在不同层级定义的关系会相互矛盾。单击检查关系的有效性,确保关系实现设计意图。关于再生期间的关系计算顺序,直到模型再生时才计算关系。再生过程中,按如下顺序计算关系:(可将关系排序)1. 再生开始时,系统按输入模型关系的顺序对其进行求解。在组件中,首先计算组件关系。然后,系统按放置元件的顺序计算全部子组件关系。这就意味着系统会在所有特征或元件开始再生前计算全部子组件关系。2. 系统按创建的顺序开始再生特征。如果某个特征具有依附自身的特征关系,则系统会在再生该特征之前求解这些关系。3. 如果用户将某些
5、关系指定为“后再生”,则系统会在再生完成后求解这些关系。3.关系中使用的运算符和函数关系中也可以包括下列数学函数:cos () 余弦tan () 正切sin () 正弦sqrt () 平方根asin () 反正弦acos () 反余弦atan () 反正切sinh () 双曲线正弦cosh () 双曲线余弦tanh () 双曲线正切注意: 所有三角函数都使用单位度。log() 以 10 为底的对数ln() 自然对数exp() e 的幂abs() 绝对值ceil() 不小于其值的最小整数floor() 不超过其值的最大整数可以给函数 ceil 和 floor 加一个可选的自变量,用它指定要圆整的
6、小数位数。 带有圆整参数的这些函数的语法是: ceil(parameter_name 或 number, number_of_dec_places) floor (parameter_name 或 number, number_of_dec_places) 其中 number_of_dec_places 是可选值: 可以被表示为一个数或一个使用者自定义参数。如果该参数值是一个实数,则被截尾成为一个整数。 它的最大值是 8。如果超过 8,则不会舍入要舍入的数(第一个自变量) ,并使用其初值。如果不指定它,则功能同前期版本一样。 使用不指定小数部分位数的 ceil 和 floor 函数,其举例如下
7、:ceil (10.2) 值为 11 ;floor (10.2) 值为 11 使用指定小数部分位数的 ceil 和 floor 函数,其举例如下: ceil (10.255, 2) 等于 10.26 ;ceil (10.255, 0) 等于 11 与 ceil (10.255)相同 floor (10.255, 1) 等于 10.2 ;floor (10.255, 2) 等于 10.26 曲线表计算曲线表计算使使用者能用曲线表特征,通过关系来驱动尺寸。尺寸可以是草绘器、零件或组件尺寸。格式如下: evalgraph(“graph_name“, x) ,其中 graph_name 是曲线表的名称
8、,x 是沿曲线表 x-轴的值,返回 y 值。 对于混合特征,可以指定轨线参数 trajpar 作为该函数的第二个自变量。 注释:曲线表特征通常是用于计算 x-轴上所定义范围内 x 值对应的 y 值。当超出范围时,y 值是通过外推的方法来计算的。对于小于初始值的 x 值,系统通过从初始点延长切线的方法计算外推值。同样,对于大于终点值的 x 值,系统通过将切线从终点往外延伸计算外推值。 复合曲线轨道函数 在关系中可以使用复合曲线的轨道参数 trajpar_of_pnt。 下列函数返回一个 0.0 和 1.0 之间的值: trajpar_of_pnt(“trajname“, “pointname“)
9、 其中 trajname 是复合曲线名,pointname 是基准点名。 轨线是一个沿复合曲线的参数,在它上面垂直于曲线切线的平面通过基准点。因此,基准点不必位于曲线上;在曲线上距基准点最近的点上计算该参数值。如果复合曲线被用作多轨道扫瞄的骨架,则 trajpar_of_pnt与 trajpar 或 1.0 trajpar 一致(取决于为混合特征选择的起点) 。字符串运算符和函数字符串可以使用下列运算符和函数:= 比较字符串相等。!=, = 大于或等于 & 与 /= 不等于 /! 非 注意: “等于”赋值运算符不同于“等于”比较运算符。运算符 |、&、! 和 扩展了比较关系的应用,它们使得能在
10、一个语句中设置若干条件。例如,只要 d1 介于 2 和 3 之间且不等于 2.5,下面的关系就返回 TRUE:d1 2 & d1 d2temp = d1d1 = d2d2 = tempENDIF34关系中的条件语句注意: 不对包含条件语句的关系进行排序。条件是指表达式,这种表达式可以为 TRUE(或YES)或 FALSE(或 NO)。这些值可以在条件语句中互换使用。例如,下列语句都可以用同样的方式计算:IF ANSWER = YESIF ANSWER = TRUEIF ANSWERIF 语句可将 IF 语句添加到关系中来创建条件语句。例如,IF d1d2length=14.5ENDIFIF d
11、1 d2length = 14.5ELSElength = 7.0ENDIF在 IF、ELSE 和ENDIF 语句之间可以有若个特征。此外,IFELSEENDIF 结构还可以嵌套在特征序列内。IF 子句的语法如下:IF 顺序 0 或更多关系或 IF 子句或序列ELSE 顺序 0 或更多关系或 IF 子句 ENDIF请考虑下列规则:ENDIF 作为一个字来拼写。ELSE 需要添加在单独一行。 条件语句中的相等关系以两个等号 (=) 的形式输入。赋值号以一个等号 (=) 的形式输入。24关系错误添加或编辑关系后,单击“确定”(OK) 退出“关系”(Relations) 对话框,Pro/ENGINE
12、ER会检查关系的有效性。如果发现错误,Pro/ENGINEER 会标记错误的关系以便能改正它们。Pro/ENGINEER 检测的错误类型包括:241.长的行 - 关系行超过 80 个字符。编辑改行,或把该行分成两行(其方法是键入反斜杠符号 () 以表示关系在下一行继续)。241.长符号 - 符号名称超出 31 个字符。编辑符号名使其字符少于 31 个。241.语法错误 - 出现语法错误,例如,参数未定义。注意: 这种错误检查捕捉不到约束冲突。如果联立关系不能成立,则在消息区出现警告。如果系统检测到不确定的联立关系,则在最后一个关系行下的空行上出现出错消息。避免循环关系可能会错误地创建类似下面的
13、循环关系:d0 = d1d1 = d0关系进行排序时,排序实用程序会检测到循环关系并发出警告。但是,前面的行仍将是联立方程组的有效部分。下面的循环关系示例说明在输入关系期间错误重定义符号的过程:d0 = d1.d0 = 2*d1这些关系是依赖于顺序的,故不能进行排序。系统会发出警告。关于关系中使用的参数在关系中使用参数符号可在关系中使用以下参数类型: 尺寸符号 - 支持下列尺寸符号类型:o d# - “零件”或”组件”模式中的尺寸。o d#:# - “组件”模式中的尺寸。组件或元件的进程标识添加为后缀。o rd# - 零件或顶级组件中的参照尺寸。o rd#:# - “组件”模式中的参照尺寸。组
14、件或元件的进程 ID 添加为后缀。o rsd# - 草绘器(截面)中的参照尺寸。o kd# - 草绘器(截面)中的已知尺寸(在父零件或组件中)。o Ad# - 在”零件”、”组件”或”绘图”模式下的从动尺寸。 公差 - 与公差格式相关的参数。当尺寸由数字的转向符号的时候出项这些符号。o tpm# - 加减对称格式的公差;# 是尺寸数。o tp# - 加减格式的正公差;# 是尺寸数。o tm# - 加减格式的负公差;# 是尺寸数。 实例数 - 阵列方向中的实例数的整数参数。o p# - 其中 # 是实例的个数。注意: 如果将实例数改成一个非整数值,Pro/ENGINEER 将截去其小数部分。例如
15、,2.90 将变为 2。 用户定义参数 - 通过添加参数或关系而定义的参数。例如:Volume = d0*d1*d2Vendor = “Stockton Corp.“ 系统参数 - 可在”关系”(Relations) 对话框的”局部参数”(Local Parameters) 框中更改系统参数的值。这些改变的值应用于当前工作区的所有模型。下列参数是由系统保留使用的:o PI(几何常数)- 值 = 3.14159注意: 不能更改此值。o G(引力常数) - 缺省值 = 9.8 米/秒2(C1、C2、C3 和 C4 是缺省值,分别等于 1.0、2.0、3.0 和 4.0。)程序中设置参数输入及提示行
16、语法: INPUT 参数名称 参数值型态 提示行 END INPUT 注:1参数名称可输入汉字或英文字母。 2参数值型态分为三种(如果不输入参数值型态,系统会默认为NUMBAT): a. NUMBAT 参数值为数值 b. STRING 参数值为字符串 c. YES_NO 参数值为是否 3提示行是对参数的简要说明,提示行前面需加上英文状态下的引号。 示例: INPUT DE NUMBER “请输入拉伸件的直径=“ END INPUT 关于添加关系通常,可通过单击“工具“(Tools)“关系“(Relations) 并使用“关系“(Relations) 对话框来添加关系。另外,也可通过以下方法添加
17、关系: 编辑关系文件并添加更多的关系。 创建特征时,可在操控板的尺寸框中键入表达式。编辑特征时,可键入表达式作为尺寸的值。 在图形窗口编辑尺寸时,可双击尺寸,再键入表达式作为尺寸值。为不同类型的对象添加关系可为不同类型的对象添加关系。在“关系“(Relations) 对话框中“查找“(Look In) 下列出的所支持的对象类型有:零件 (Part) - 在“零件“和“组件“模式下访问零件关系。组件 (Assembly) - 访问组件中的关系。特征 (Feature) - 在“零件“或“组件“模式下访问专用于某个特征的关系。继承 (Inherited) - 在“零件“和“组件“模式下访问各种关系
18、。截面 (Section) - 如果特征具有截面,则在“零件“或“组件“模式下访问“草绘器“中的截面关系。阵列 (Pattern) - 在“零件“或“组件“模式下访问专用于某个阵列的关系。骨架 (Skeleton) - 在“组件“模式下访问骨架模型的关系。元件 (Component) - 访问组件元件的关系。在特征中创建关系的规则当在特征中创建关系时,它们同特征一起保存、一起驻留,而不管使用该特征的模型如何。特征关系在零件关系之后进行计算,并在其所属的特征再生后进行求解。因此,在关系执行几何计算(诸如两点之间的距离)时,如果与用作零件关系相对,它被用作特征关系,则可能给出不同的结果。注意:可通
19、过特征级名称修改已存在的模型参数。给模型增加关系在文本框中键入关系并按 ENTER 键。可在键入每个关系后按 ENTER 键来键入多个关系。使用以下工具添加关系:要插入尺寸、几何公差或表面光洁度,可在图形窗口内单击相应选项。提示:如果尺寸没有显示,可双击特征以显示其尺寸。要插入函数,可单击 。要插入运算符,可单击对话框左侧工具栏上列出的运算符。要从现有参数列表中插入参数,可单击 。 注意:参数、变量或符号的名称不能超出 31 个字符。要指定关系是应按常规顺序计算,还是在再生后计算,可从列表中选取“初始“(Initial) 或“后再生“(Post Regeneration)。可单击 校验已输入关
20、系的有效性。若接受这些关系,请单击“确定“(OK)。要重新开始,可单击“重置“(Reset)。使用关系中的注释在关系中使用注释是一个好习惯。注释可帮助您记住添加关系的意图。使用模型的其他人也会从中受益。每一个注释行必须以一个斜杠和一个星号开始。例如:/* 宽度是高度的 2 倍 d1 = 2*d2注释必须在应用关系之前编写。关系进行排序时,注释会随关系移动并保持在注释的上方。确定表达式的值可获得一个表达式(可以是单个参数或一个方程)的值,而不必将其作为关系添加到模型中。单击“工具“(Tools)“关系“(Relations)。“关系“(Relations) 对话框打开。单击 。“计算表达式“(Evaluate Expression) 对话框打开。在“表达式“(Expression) 框中输入参数符号(例如,d20、$d20、d10:2、depth) 、用户参数(例如,颜色) ,或表达式(例如,d5 + d6, d2!= d4) 。单击“计算“(Evaluate)。计算结果出现在“结果“(Result) 框。比较方程诸如 d2!= d4 或 d3 = d2 会返回 0(假)或 1(真) 。 单击“关闭“(Close)。关系中的负尺寸如果使用负的尺寸,并且在关系中要使用真的有正负之分的值,则可在符号前加一美元符号(例如,$d20 或 $depth) 。