张 晶
(特灵科技亚太工程技术中心,上海 200051)
钣金件在各类工业产品中的应用非常广泛,尤其是对于空调箱箱体设计来说,大部分的零件都是钣金件,钣金经过折弯加工成型,然后拼接组合在一起组成箱体,所以钣金件的设计是非常重要的。而针对一些对密封效果要求更高的产品,钣金件的轮廓会设计的比较复杂以达到更紧密的配合,设计难度不仅体现在前期概念阶段,而且对于后期模型更新维护也是非常耗时的。所以在此以空调箱的钣金件为例,介绍一种基于Pro/Program的参数化设计方法,利用这一方法能够减少模型的修改时间,提高零件的标准化程度,以及方便后期维护和管理。
以空调箱为例,一般由多块面板拼接组成每一个面,再把六个面拼接成箱体,而对于箱体同一个面来说,用到的零件的轮廓是类似的。例如空调箱的侧板,所有侧板都是与顶板和底面安装,所以上下的翻边设计是完全一样的,唯一不同的是零件左右侧的翻边。侧板根据不同的安装位置,与其配合的有各种零件,例如门、侧板、背板等,为此会设计各种不同的翻边类型。
假设空调箱侧板零件左右侧翻边共有3种不同的类型,并且每侧都存在3种选择,用编号01,02,03代表不同翻边类型。在非参数化设计中,根据左右侧翻边类型的不同进行排列组合后,将需要9个不同的零件号,详见表1。
表1 零件的排列组合
根据表1,在Creo软件中建模9次,创建9个不同的零件。为了节省重复建模的时间,一般先创建第一个零件1,完成后另存成一个新零件2,在零件1的基础上修改右侧的翻边特征,以此类推完成其余零件的创建。建模完成后的这9个新零件分别是独立的,相互之间没有任何关联。
对于非参数化设计,在初期设计时可以通过复制并修改的方式快速得到所有零件,但是如果任意一侧的翻边发生改变时,修改模型将会非常耗时。例如空调箱侧板,是通用翻边,一旦上下翻边在初次设计完成后发生改变,将影响到全部9个零件,而且所有改动都是重复操作,需要改动9次。同样的,如果翻边01发生设计变更,零件1,2,3,4,7都需要做对应的重复更新。以上只是基于3种翻边类型且只更改一次的情况,而现实设计过程中,会进行多次修改,而且对于空调箱的侧板设计来说,一般会有大约9种不同翻边类型,然后进行排列组合,所以零件的数量会更多,只要发生设计变更,大量的零件需要返工,而且大部分时间是花在重复的工作上。
Pro/Program是Creo软件中的一个模块,用程序记录了创建整个零件的过程,包括特征名字、参数等信息。每一个特征都会对应一段简单的程序,所以通过改动或者添加程序来控制特征或者参数是很容易操作的。基于Pro/Program并结合创建的新参数,对程序进行编改可以实现在特定条件下控制每一个特征的显示或不显示,然后利用族表创建不同特征的子零件,用对应的参数来控制各种不同特征的显示。
利用Creo里Pro/Program的功能对零件进行参数化建模设计,以空调箱侧板零件的3种翻边类型为例,介绍具体7个设计步骤,实现参数化控制模型特征。
(1)步骤1:创建共用翻边
首先创建所有零件需要共用的翻边,对于侧板零件来说就是上下翻边,依次创建APIOUTERFIRSTWALL、TOPFLAT1、TOPFLAT2以 及4个Bottom flange的 特征,如图1所示,这些翻边在每一个子零件中是通用的,在任何条件下都不需要Suppress,所以不会涉及之后的操作。
(2)步骤2:创建第一个右侧翻边
先创建右侧第一种类型01所有的特征,如果每侧翻边有多种类型,之后模型树将会有非常多的特征,用默认的名字容易产生混淆,所以建议重命名每一个特征来区分不同类型的翻边,方便之后管理查找和控制,例如图1中的命名方式,一目了然。
(3)步骤3:创建左右侧其余特征翻边
Suppress步骤2创建的所有右侧01翻边的特征,继续创建右侧02翻边的特征,如图1所示。以此类推,完成右侧以及左侧所有类型翻边特征的创建。注意:在创建过程中,保证每一侧只显示当前翻边类型的特征,完成一种类型后Suppress全部特征,再开始下一个新翻边类型的创建。
图1 创建翻边
(4)步骤4: 设置参数
为了方便在Pro/Program程序中控制不同的特征,需要先创建两个新参数Parameter,分别代表左右侧翻边的类型。如图2所示,APIPROFILEL表示左侧翻边类型,APIPROFILER表示右侧翻边类型。这两个参数的类型建议设置为整数,参数值以1,2,3以此类推代表不同翻边类型,创建这2个参数的目的是在步骤6中把参数作为条件加到程序中,利用参数值的不同变化,来控制各个特征,详见步骤6。
图2 创建新参数
(5)步骤5:显示Feat ID
Creo中创建的所有特征都会有一串自己独有的数字作为Feat ID,通过在模型树设置中打开显示Feat ID,可以查找到每一个特征的ID,Pro/Program中的程序也是引用这个ID 号码来标记每个特征,这一步是为了方便之后在Pro/Program大段的程序中找到需要定义的特征的程序段。
(6)步骤6:Pro/Program程序中IF语句添加
打开Pro/Program,通过搜索Feat ID找到需要控制的特征的程序段,并在程序段前后添加IF-END IF语句。每一个特征都是以ADD FEATURE开始,直到下一个END ADD结束,所以很容易找到并区分不同特征的程序段。
例如,在模型树中找到所有右侧翻边的特征的Feat ID,ID是从8 484开始往下至10 240,这些特征在模型树中是连续的,对应的程序段也会是连续的,所以只要在程序中查找到第一个ID以及最后一个ID就足够了。在第一个特征 ID 8484前加入以下语句:IF APIPROFILER == 1,表示IF语句之后的特征只会在参数APIPROFILER为1的时候显示。然后在最后一个特征ID 10240结束后加入END IF,表示IF语句结束。
以下程序段中第一句和最后一句是需要自己手动输入的,其余是默认程序,不需要任何改动。以此类推在program中找到下一个翻边类型的所有特征,用同样方法进行IF语句添加,直到所有翻边特征的显示条件都书写完成,保存并关闭程序。
(7)步骤7: 创建参数化族表
最后一步是创建族表Family Table,假设母零件号是495302540000,在其下可以创建多个子零件instance,如图3所示,在族表中新添加两列参数(步骤4中创建的APIPROFILEL和APIPROFILER),利用参数值来控制左右翻边的类型,并根据所需要的左右翻边的排列组合添加所需要的所有子零件instance。至此,所有的参数化建模工作完成,对于侧板零件所有的变化组合都集合在一个族表中。
考虑到零件可视化的好处,建议将零件号后4位用来定义翻边类型,如果左侧翻边APIPROFILEL是7,右侧翻边APIPROFILER是3,那零件号后四位就使用0703,这样通过零件号码就能知道零件的样子,不需要打开查看。
根据3.1中创建的模型族表如图3所示,所有的侧板零件都集合在同一个族表中,任何设计变更都可以通过对母零件的修改来实现整个族表中子零件的更新。如果上下共用翻边的设计有任何改变,仅仅需要修改一次母零件即可,所有子零件instance都将随之自动刷新成最新的设计,而且不论左右翻边类型如何排列组合,都不影响更新。若左右侧的翻边设计有更改,可在此族表母零件中直接修改相对应的翻边类型的特征,对应此类型的所有子零件也会随之更新。以前文中的3种翻边类型组合为例,对比非参数化的设计,利用Pro/Progarm参数化设计的零件,只需要1/9的时间就能完成一次更改,对于更多排列组合的情况来说,节省的时间将更多。
图3 族表子零件
对于大量相同类型的零件,例如箱体的侧板或者顶板等,零件有两侧固定翻边,而另外一侧或者两侧是变化的不同特征,可以利用Pro/Program创建成族表。这样在有任何设计变更时,只需要更改一次母零件,就能实现整个组表中所有子零件的更新。特别是在设计初期更改比较频繁的阶段或者针对轮廓复杂的同类零件,相比于一个个独立零件的更新,更能体现这一方法的高效,减少产品的设计周期。
如果在设计产品前就考虑用Pro/Program的方法来参数化建模,就需要在建模前把产品中的所有零件进行归类,分析并找到类似的零件,然后创建在同一个族表中。这个方法不仅能简化零件设计,更能发现完全相同的零件,避免同零件不同号的问题。对于同类零件,可以为每一种翻边设计定义命名,不论是在更新零件还是设计新零件时,优先采用现有的翻边类型。这样不仅能够标准化产品中的零件,更能方便加工生产。
在非参数化设计中,每个零件都是独立的,互相不存在任何的关系,所以需要对所有的零件进行维护管理。而基于Pro/Program的参数化设计,拥有相似特征的零件在同一个族表中,所以只需要管理维护族表,一旦族表中某一个子零件发生设计更改,一定会涉及整个族表,很容易找到与之关联的族表子零件,进一步确定是否有其他零件需要同样的更改,这样不容易出现漏改零件、改错零件的问题。