孟国兴
(大连机床集团技术中心,辽宁大连 116620)
基于Pro/E的大型斜床身数控车床的程序设计
孟国兴
(大连机床集团技术中心,辽宁大连 116620)
以DL50大型数控车床为例,详细介绍了装配的参数化及程序设计方法和技巧。
公称参数 程序设计 条件语句 EXECUTE语句
不同于小型数控车床,即使在同一加工直径或同一床身的前提下,大型数控车床也应有多种不同加工长度、不同机床承重和不同功能配置,最终必须形成产品的系列化设计。这样,才能用最低的成本,组成多种不同性能的机床,来满足不同领域的不同要求。要在极短的时间内开发出多种相似的系列产品,就必须借助计算机辅助设计,如Pro/E的参数化及程序设计。
参数化设计就是将零件模型中的定量信息变量化,使之成为可调整的参数,当对变量化参数赋予不同数值时,就可得到不同大小和形状的新零件模型。参数化设计可以大大提高模型的生成和修改速度,在产品的系列设计、相似设计方面具有极大的应用价值。要实现参数化设计,参数化模型的建立极为关键。
程序是Pro/E工程设计软件自动提供的、格式为TXT、记录全部操作过程,它记录着三维模型自始至终的建模步骤,包括装配和特征的建立过程、参数设置、尺寸以及关系等模型信息。而程序设计就是根据需要编辑该程序,是Pro/E的一种高级应用。通过编辑可以实现全局参数自上而下的传递、零部件的自动装配和替换、自动隐含及恢复、自动更改参数化模型及名称等。参数化的零件模型必须结合装配的程序设计,才能实现工程设计的自动化和智能化。基于Pro/E的参数化及程序设计的大型斜床身数控车床(见图1)应具备以下功能:①输入参数后,Pro/E自动生成全部装配、零件三维模型,自动修改零件名称和机床型号;②依据装配、零件三维模型生成工程图、总部件目录及各种零件目录、外购件目录等。
本文以大型斜床身数控车床DL50为例,详细介绍基于Pro/E的装配参数化及程序设计的方法和技巧。
依据Pro/E参数化及程序设计要求,综合本台数控车床的动力参数、几何参数和运动参数,能够充分表征机床特性和能力的最主要的参数,可归纳为下面7个,其可供选择的参数值如后面的程序中所述:①工件长度;②加工直径;③机床承重;④尾座形式;⑤中心架规格;⑥刀台形式;⑦卡盘规格。
上述7项参数设定后,便可开始机床设计,依据Pro/E同步设计要求,应按下述流程:
(1)首先创建一个布局文件,见图2,图号为DL50—001.lay。本文件用来定义机床的主要外型尺寸、参数及相互之间的装配和位置关系,创建重要装配基准面、基准轴线、提出注释和技术要求等。
(2)创建机床的总装配,图号为DL50—001.asm。在总装配中,依据工程知识、模块化设计思想,分别创建本机床的全部子装配。此时,因子装配或零件中还没有任何几何实体,也可能没有装配约束关系,可以不装配到位,这样做的目的是快速建立起本产品的组成结构,便于自上而下地同步开展各子装配的设计。
(3)根据布局文件,在总装配及各子装配中创建骨架模型,图号为DL50—1001~8601_SKEL.PRT。将总装配及各子装配声明到布局和名称中,通过发布几何和复制几何将骨架模型中的重要基准和设计数据传递到各零件中。
(4)打开总装配DL50—001.asm的程序,进行参数化及程序设计,详细见下文所述。
(5)各子装配开始设计,建立参数化零件模型,开展有限元、动态仿真等。
(6)随时修改、调整、完善总装配。
(7)设计工程图、目录、检图、交档等。
打开总装配DL50-001.asm,点选工具→程序→编辑程序,即可打开Pro/E自动创建的原程序(图3)。DL50-001.asm原程序的组成为:
第一部分:抬头。这部分的内容由Pro/E自动产生,用来标识文件,可不做任何修改。
第二部分:在INPUT……END INPUT语句之间。此处为设置输入提示句与参数的位置,让设计者输入参数值或其它设计信息,来控制参数化零件模式的设计变更,实现人机交互。首次进入时,此部分呈空白状态。
第三部分:在RELATIONS……END RELATIONS语句之间。此处为设置关系式的位置。凡是可以在工具→关系里设置的关系式,在这里也可以设置,并且两者是互通的,这部分内容由设计者编辑时自行填入,首次进入时,此部分呈空白状态。
第四部分:在ADD FEATURE#……END ADD语句之前。此处设置为全局参数传递程序位置。使用EXECUTE指令,该指令仅能将参数传递到相邻的下一级,通过下一级装配中的EXECUTE指令继续向下下级传递直至最底层。参数传递到相关级后,便可开始本级的参数化及程序设计。
第五部分:在ADD FEATURE#……END ADD之间。每个ADD FEATURE到END ADD代表着一个特征,而介于ADD FEATURE到END ADD之间的文字为该特征的建立过程与参数设置。这部分所占的比例最多,由Pro/E自动产生,不能做任何修改。但可包容在某个或多个嵌套条件语句之间,从而控制该特征的产生与否。即满足条件时产生该特征,否则不产生。
第六部分:在MASSPROP……END MASSPROP之间。此处为设置质量性质的位置。这部分的内容由设计者编辑时自行填入。第一次进入时,此部分呈空白状态。如使用标准模板时,事先可填好。
正如前面设计流程第4项所述,在各子装配开始设计前,要初步完成总装配参数化及程序设计。主要应实现以下5个功能。
(1)设置参数输入提示句
在提示语句的后面一定要注明可供选择的参数值,便于以后或其他设计员操作此装配。例如:
此后,当设计者更新总装配时,自动弹出参数输入对话框,见图4,可根据提示句输入参数值。
(2)校验新输入参数的有效性
每次输入时,难免输入不正确参数,如用此不正确参数驱动模型,会产生不可预知的严重后果。因此,必须对每次、每个输入的参数做有效性校验,如输入不正确,系统将维持上次的参数值不变,并且保证此次的不正确参数值不会显示在提示语句的后面。如下面程序所示,这是一种有效的校验方法:将本参数各个许用值组成的多个条件语句串联起来,满足某个条件时便做一次赋值操作,被赋值参数在程序的最后再重新赋值给本参数,不正确参数值便不会显示在提示语句的后面,见图5,其程序为:
根据3项参数的意义,容易确定与之相关的各部件及零件。即:
①工件长度:用来驱动床身、Z轴滚珠丝杠、排屑器、防护等组中相关零件的总长度。
②工件直径:用来驱动床头箱、尾座、刀台中心高。
③机床承重:用来驱动床头箱主轴及轴承直径、尾座套筒直径。
注意,程序设计首先要将通过窗口输入的参数,经装配传递给装配内的各零件,方法之一就是使用“EXECUTE”语句。采用布局和声明布局的方法也可以实现同样的功能。
布局方法适合大型的装配,即需要控制的参数多。在大型装配的自上而下设计中可充分发挥它的功能。而程序设计中的“EXECUTE”语句适合较少装配的参数传递。采用“EXECUTE”语句,零件的参数名与装配参数名称可以不同,而采用声明布局方法,零件与装配的参数名则必须相同。
程序输入参数比布局传递参数更灵活。例如,按模块化设计要求,床头箱虽然为本机床重要部件,同时也要考虑到被其它机床借用。如该部件已声明某个布局,当床头箱的某个参数不适用新机床时,是不能修改已声明的布局的;而用程序输入参数的方法,床头箱的参数只受控于上级装配的程序或布局,因此,床头箱可作为独立的模块广泛用于其它产品当中。
另外,布局优先于程序。即已程序化的装配或零件,一旦声明布局后,程序中的参数将被布局中的同名参数屏蔽掉,但程序中传递参数的指令仍然可有效地向下传递参数。当取消声明后,程序输入参数的功能也将自动恢复。利用此特点,可以很好地解决大型子装配的参数传递。例如大型斜床身车床的防护,零件数量众多,如采用程序传递参数,会十分不便,这时可将各参数加入到布局中,然后与参数相关的众多零件通过布局关联起来。而本组内,为了设计参照方便而装入的诸如床身、床头箱等参考零件,不要与此布局文件关联,这些零件的驱动参数,仍是通过布局再经过装配中传递参数指令传递过来的。这些零件才允许再次检回到公共空间。
有些独立部件,如卡盘或尾座会有多种规格和样式,但每台机床只需一套,因此要根据参数信息实现自动替换。方法有四种:
(1)用装配族表替换
当装配至少有一个是表驱动零件时,如图6床头箱中的各种轴承等,此装配便可做成装配族表,用族表替换简单易行,在程序中可直接指定实例各称来实现自动替换,程序同下。
如图7所示,本机床可分别安装三爪卡盘、四爪卡盘及中空卡盘。但三种卡盘模型因形状或结构相差较大,必须用3个零件族表来表示。这时可先组成3个子装配族表,每个子装配族表如图8所示,表中可直接写入各零件的实例名称。在总装配中实现替换前,要先将每个子装配族表中的普通模型及总装配事先声明布局、名称后,才可在总装配中,用指定实例名称办法实现直接替换。
程序如下:
如装配中无族表驱动零件,但又希望用装配族表方法替换,也可组成一种特殊的装配族表。此时,要通过不同零件的组合方式或不同的定位尺寸等,来生成不同的实例。在族表中可用“Y”表示选择了该零件,用“N”表示不选择或直接写入某零件的件号(已装入到装配中)。注意,件号不要用N开头,系统易误操作,导致本件不会出现在装配中。
(2)用指令直接替换
当部件功能、形状相差较大,不能组成族表时,可独立成部。如本机床的尾座,用直接在程序中指定名称的方法直接替换,但必须将3个安装基准先在布局中声明名称,程序同上。
(3)用条件语句隐含或恢复的办法实现替换
此方法,用在部件只有两、三种,如本机床中心架,可先将两种中心架全部装配到总装配中,通过程序输入选用条件后,用条件语句隐含或恢复该部件,因要独自装配到组件中,故不用事先声明布局名称。本例程序如下:
以上三种替换,都是建立在各部件均装配在骨架模型之上,相互间没有任何参照关系,本部件的替换不会影响其它部件。反之,这种替换会引起与之相关部件基准参照的丢失,造成特征生成失败。这时,必须用下面的方法替换。
(4)用互换文件替换
点选创建→组件→互换,可生成一个互换文件,如图9。该文件可建立起两个需互换零件在指定的总装配中,所有已用参照和被用参照的对应关系。这样,即可实现手动和自动替换。
上述几种替换方法,自动替换后就不可再手动替换。否则,程序中的变量部件名称会自动修改为手动替换时指定的部件名称,下次就不能自动替换了。另外,自动替换时,同名称基准面按“对齐”方式,因此,声明名称时,一定要考虑基准面的方向也应相同。在布局文件中,用草绘创建基准面时,可用基准面侧面红色辅助线来标记平面的法线方向。
商品机床都有自己的机床铭牌,其上注明机床型号、规格、主要参数等。如图10,“DL”表示产品系列,“50”表示最大加工直径的1/20,“Z”表示为加重型,“×4”表示最大加工长度为4 m。以上内容均应随参数的变化而自动更改。故机床参数先要传递到该零件,可用一条语句,传递全部参数,即:
在利用条件语句、字符串运算语句等,编程生成机床型号并放置在指定的变量参数内。该铭牌上的文字是用3个拉伸文本特征创建的,文本要用“插入参数”功能,插入参数内对应的文字(程序将在下文中讨论)。
在总装配中,有些独立部件可有不同的安装位置和工作状态。如床鞍的左右极限位置、刀台的上下极限位置以及这些部件所用的拖链、软油管、伸缩防护罩等,也应随移动部件的位置,动态改变形状和位置。这些重要信息,是机床设计者必须熟知的。因此,可用辅助参数来驱动这些模型。这些参数,不能像全局参数那样通过程序输入窗口输入,以免太多的全局参数会影响程序设计的效率。此时,可用布局文件内的参数并通过声明布局传递到各组件及零件。如图11,D16:1及D173:35是床鞍的左右、刀台的上下位置约束尺寸代码,分别在总装配及子装配中编程,即可实现动态切换位置。程序如下:
为使布局中的参数能集中显示出来,可在布局中先创建一个动态报表的格式文件,如图12。先创建表格,再创建“重复区域”,输入如图所示的“报告符号”,更新表格,便生成如图13参数表。先单击在双击表中的参数值,输入有效参数即可驱动总装配中的模型。
到此,总装配的程序设计完毕。各子装配的程序设计,也用同样的方法,只是有些内容不一样(如替换的不是部件而是零件等)。当参数传递到最底层的零件后,便可开展零件模型的参数化建模。
实践证明,参数化设计的床身、中心架支架等,铸造及加工工艺性良好,铸造成本降低,程序稳定可靠。该系列产品现已定型生产。
基于Pro/E的DL50系列大型数控车床的参数化及程序设计,使机床的设计周期由一年减少到三个月,综合效益十分显著,且为二次开发打下了良好的基础。
作者:孟国兴,男,1963年生,工程师,主要从事数控车床研发及制造技术、Pro/E应用研究。
如果您想发表对本文的看法,请将文章编号填入读者意见调查表中的相应位置。
Programme Design of Large Inclined Lathe Bed NC Lathe Based on Pro/E
MENG Guoxing
(DMTG Technical Dep.,Dalian 116620,CHN)
This article takes DL50 large NC lathe as example to introduce the method and technique of assembly parameterization and program design.
Nominal Parameter;Program Design;Conditional Statement;Execute Statement
(编辑 李 静)(
2009―07―16)
10319