APP下载

变量表在Solid Edge参数化设计中的应用

2012-10-23由艳平

制造技术与机床 2012年9期
关键词:图标约束尺寸

王 劲 肖 冰 由艳平

(西安理工大学机械与精密仪器工程学院,陕西西安 710048)

早期CAD系统所构造的几何模型只给出了模型的可视化形状,不包含几何图素间的约束关系,不具备模型的尺寸驱动功能,几何模型的尺寸也不能直接与工程计算建立联系,给产品的开发设计带来了不便。为解决这些问题,早在20世纪80年代就开始了基于约束的参数化和变量化CAD系统的研究,目前主流的CAD系统都具备了参数化和变量化设计的功能。参数化设计是在CAD系统中建立由参数、关系和约束组成的参数化模型,在基于特征的参数化CAD系统中,参数和约束是在建模过程中通过自动或人工方式添加的,系统能够显示这些参数和约束,并允许设计者对参数和约束进行编辑和修改。参数化设计采用尺寸驱动的方式改变由拓扑约束、尺寸约束和尺寸间参数约束构成的几何模型,参数化设计求解中最重要的思想是“顺序求解约束模型”。变量化设计采用约束驱动方式改变由拓扑约束、尺寸约束、参数约束以及工程约束混合构成的几何模型。变量化设计中尺寸约束可以包括工程约束,增加了设计的自由度。变量化设计通过求解一组包含几何约束和工程约束的联立方程组来确定产品的形状和尺寸。当前的研究趋势是将参数化设计与变量化设计合并在一起,更好地满足不同设计的需要,而不再明确区分这两种设计方法,统称为参数化设计[1]。

参数化设计技术是提高产品设计效率和质量的重要手段,通过将变量关联起来,驱动整个CAD模型,从而达到快速完成设计的目的。Solid Edge是基于特征的三维参数化设计软件,使用Solid Edge设计零件模型和装配模型时可以设置设计参数,各个参数间可以添加函数约束关系或工程约束关系,通过修改模型的设计参数就可以得到新的产品模型,与模型相链接的产品二维工程图纸更新后可以自动进行变更,这种特性对于提高系列化产品的开发设计效率具有重要意义。

变量表是Solid Edge用来保存零件模型、装配模型、钣金模型和图纸文档中各种设计变量的表格,表格中的每一行表示一个变量,表格的列表示变量的属性。打开Solid Edge文件,选择“工具”选项卡,在“变量组”中单击变量图标按钮,就可以打开当前文件的变量表对话框。利用变量表可以建立设计变量间的函数关系、变化范围等。变量表对于Solid Edge的参数化设计具有重要的作用。

1 Solid Edge变量表介绍

在Solid Edge零件模块中用同步模式按图1所示尺寸建立模柄模型,其中φ10 mm的孔由孔特征生成,并用圆形阵列进行排列,该模型的变量表如图2所示。变量表的上部包括变量的单位类型下拉框、过滤器图标按钮、公式图标按钮和变量规则编辑器图标按钮等,变量表的下部列出了当前模型中的变量,每一行表示一个变量,每列表示变量的一个属性,变量的属性包括:类型、值、规则、公式、范围、显示、显示名称和注释等,可以用鼠标拖动调整列的次序,也可以右击列单元格,通过快捷菜单设置列的显示性、按某列的数据进行变量排序等。变量表中的变量可以通过以下方式来生成:(1)模型本身的特性,如图2中的材料密度(PhysicalProperties_Density)和计算精度(Physical-Properties_Accuracy);(2)设计特征时标注的草图尺寸;(3)生成特征时的特征参数,如图2中的拉伸高度(线性_2)和阵列个数(阵列事例_2_X_数);(4)用人工方式添加变量,其操作步骤是选择变量表中空白行的“名称”属性,键入变量名称,然后单击“单位类型”下拉框,设置变量的单位,默认的单位是“距离”,也可以将变量的单位设置为“角度”、“面积”等,如果无单位可设置为“标量”,最后在“值”属性中键入变量的值。

2 变量表的设置方法

变量表的设置包括:变量名称的修改,变量驱动类型的设置,变量变化范围的设置,变量间函数关系的设置,变量过滤器的使用等。

2.1 变量名称的修改

变量表中的变量大部分都是在模型设计过程中由Solid Edge自动生成的,变量的名称没有明确的含义,在使用中常常不方便,可以选择某个变量的“名称”属性,直接键入由字符、数字或下划线组成的变量名称,使变量名称具有明确的含义。图3为修改了变量名称后的模柄模型的变量表。

2.2 变量驱动类型的设置

变量表中变量的“类型”属性有“Var”和“Dim”,Dim类型的变量是尺寸变量、直接与模型的形状有关,如图3中的“D1”变量。Var类型的变量与模型的形状没有直接的关系,如图3中的“PhysicalProperties_Density”变量。变量的“值”属性中除了有该变量的数值外,常常还带有一定的背景色和图标。不同的背景色表示该变量的状态,白色背景表示该变量可以被直接修改,如修改“HoleDia”变量的值可以改变孔的直径;灰色背景表示该变量被其他变量控制,不能直接修改,如“HoleDim”变量标注的是模柄螺钉过孔的直径,但是该孔是由孔特征生成的,其直径由“HoleDia”变量控制;橙色背景表示该尺寸数值不在该变量的限定范围内或出现了错误。锁图标和开锁图标表示该变量是驱动尺寸还是被驱动尺寸,带锁图标的变量是驱动尺寸(如图3中的“H2”变量),其数值的变化可以改变模型的尺寸;带有开锁图标的变量是被驱动尺寸(如图3中的“D1”变量),当模型的形状发生改变时其数值会相应变化。单击图标可以在锁图标和开锁图标间进行切换。在同步建模方式下标注的PMI尺寸,在变量表中显示为带开锁图标的被驱动尺寸,可以通过选择模型上的PMI尺寸来修改模型,相应变量的数值会发生相应的变化,单击开锁图标可将该尺寸变量转换为带锁图标的驱动尺寸。在同步建模方式的草图上标注的尺寸在变量表中显示为带锁图标的驱动尺寸,可以直接通过修改变量表中变量的数值来修改图形,单击带锁图标可将该尺寸变量转换为带开锁图标的被驱动尺寸。在顺序建模方式下标注的PMI尺寸在变量表中显示为灰色背景,当模型形状改变时,该尺寸变量会发生相应的变化。在顺序建模方式的特征草图中标注的尺寸在变量表中显示为带锁图标的驱动尺寸,可以通过修改变量表中变量的数值来改变模型尺寸,单击带锁图标可以将该尺寸变量转换为带开锁图标的被驱动尺寸。

2.3 变量变化范围的设置

变量的变化范围指变量数值的变化情况。变量值可以限定于一定的变化区间或限定于某个常数列表。设置变量变化范围有两种方法:一个是利用变量规则编辑器来设置,另一个是直接在变量的“范围”属性中按照规定格式进行设置。对于已设置了变化范围的变量,由于函数关系等原因使变量值超出了所设置范围时,变量值将不会发生更改,同时变量的“值”属性的背景会变成橙色,表示变量出错。如图3所示的模柄模型变量表中变量的“范围”属性的表达式规定了相应变量的变化范围,可以直接在变量的“范围”属性中用表1中的符号来设置变量的变化范围,表2中列出了变量x的“范围”属性为各种表达式时的含义。

表1 设置变量变化范围的符号

表2 变量x范围属性表达式的含义

2.4 变量间函数关系的设置

建立变量间的函数关系是产品模型参数化设计的重要方法,对于比较简单的函数关系,可以利用表3所示的算术运算符和表4所示的数学函数直接建立变量间的函数关系。对于变量间比较复杂的关系,可以利用VBA编程。

表3 算术运算符

表4 数学函数

在Solid Edge零件模块中绘制如图4所示的草图并标注尺寸,尺寸的具体数值并不重要。打开相应模型的变量表,按图5修改变量的名称,在变量的“公式”属性中建立变量的相应公式。从图5所示修改后的变量表中可以看出,只有“D1”变量为白色背景并带锁图标,表示“D1”变量为可以修改数值的驱动尺寸,当“D1”变量的值修改后,整个图形就会发生相应的改变。

3 利用变量表加载VBA过程

VBA(Visual Basic for Application)与Visual Basic的语法结构是相同的,VBA程序依附于Solid Edge主应用程序[2]。利用变量表直接建立变量间的函数关系,只能处理变量间比较简单的关系,对于比较复杂的约束,可以利用VBA编程来实现。Solid Edge变量表可以通过调用VBA代码编写的子程序(Sub过程)和函数(Function过程)建立变量间的参数约束和工程约束。Sub过程是由Sub和End Sub包含的一系列VBA语句,没有返回值;Function过程是由Function和End Function包含的一系列VBA语句,可以返回一个值。包含过程的文件的扩展名为“.BAS”,是ASCII码文本文件,可以使用Visual Basic编辑器编写和调试,也可以用记事本(NotePad)来编写。

3.1 VBA过程的定义格式

定义子程序的语法格式为:

定义函数的语法格式为:

说明:

(1)<表达式>的值通过赋值语句将值赋给<函数名>,该值就是函数的返回值。

(2)可以用一个或多个Exit Sub或Exit Function语句从过程中退出。

(3)<形参表>在过程调用时用变量表中的变量替换。

(4)关键字ByVal定义的变量只传递变量的值,过程运行时将不会改变该变量的值。

(5)关键字ByRef定义的变量,可以在过程中进行修改。Function过程本身只能返回一个值。

(6)通过定义多个ByRef变量可以得到多个返回值,不指定关键字的变量,将被认为是ByRef变量。

3.2 VBA过程的应用实例

如图6所示的槽钢模型,其拉伸截面草图如图7所示,现欲建立10、12和14号槽钢的参数化模型。新建一个零件模型文件,按10号槽钢的尺寸设计槽钢模型,打开变量表,将所有尺寸变量修改为“值”属性带锁图标的驱动尺寸,按图7所示修改槽钢模型变量表的变量名称,将“型号”变量的“范围”属性设置为“{10;12;14}”,修改后的变量表如图8所示。

用记事本或Visual Basic编辑器编写 CaoGang.Bas文件,其内容为:

在变量表上单击“公式”图标按钮加载CaoGang子程序,用变量表中的“型号”、“h”、“b”、“d”、“t”、“r”和“r1”变量依次替换CaoGang子程序中的“Xing-Hao”、“h”、“b”、“d”、“t”、“r”和“r1”形参,加载 CaoGang子程序后的变量表如图9所示,当将“型号”变量修改为12或14时,槽钢模型的尺寸变量将按照CaoGang子程序的设置进行变化,得到12号或14号槽钢模型。

建立如图10所示的轴对称的盘形零件模型,其中孔由孔特征生成,并利用圆形阵列排列,孔的数量(n)与其分布直径(Dia)之间的函数关系符合式(1)。

编写 HolesNumber.bas文件,用 HolesNumber函数来设置“n”变量的值,以满足式(1)。HolesNumber.bas文件的内容如下:

在变量表中加载HolesNumber函数,用变量表中的“孔分布直径”变量替换 HolesNumber函数中的“Dia”形参,加载HolesNumber函数后,盘形零件模型的变量表如图12所示。

新建一个零件模型文件,按图13所示绘制一个矩形草图,以该矩形的面积和周长为参数,建立矩形长度(L)、宽度(W)与其面积和周长之间的函数关系。

设计分析:若矩形的边长为d1和d2,已知面积(area)和周长(perimeter),则有:

将式(3)代入式(2),该问题可以转化为一元二次方程求解,计算结果如下:

编写名为“SideLength.bas”的ASCII码文本文件,其内容如下:

加载Side子程序,依次用变量表中“area”、“perimeter”、“L”和“W”变量替换 Side子程序中的“area”、“perimeter”、“d1”和“d2”形参,零件模型的变量表如图14所示。

4 结语

三维CAD软件的参数化设计对于提高产品开发设计的速度和质量有重要意义,Solid Edge变量表是利用Solid Edge进行产品参数化设计的主要工具之一,利用变量表可以直接建立产品设计参数间的函数关系,也可以利用VBA编程实现设计参数间比较复杂的关系。

[1]童柄枢.机械CAD技术基础[M].北京:清华大学出版社,2010.

[2]王劲,赵宏伟,郭天德.基于SolidEdge的灰斗参数化三维模型设计[J].制造业自动化,2010,32(10):156 -159.

[3]王维,王劲,王艳芳,等.Solid Edge基础应用与实践[M].北京:清华大学出版社,2011.

猜你喜欢

图标约束尺寸
尺寸
CIIE Shows Positive Energy of Chinese Economy
“碳中和”约束下的路径选择
约束离散KP方程族的完全Virasoro对称
Android手机上那些好看的第三方图标包
D90:全尺寸硬派SUV
中国风图标设计
佳石选赏
有意思的厕所图标
适当放手能让孩子更好地自我约束