一种基于Pro/E的产品自动装配设计系统的制作方法与工艺

文档序号:13085709阅读:105来源:国知局
一种基于Pro/E的产品自动装配设计系统的制作方法与工艺
本发明属于计算机辅助设计技术领域,具体涉及一种基于Pro/E的产品自动装配设计系统及其装配处理算法。

背景技术:
随着CAD软件的广泛应用,越来越多的设计人员利用其进行产品设计。Pro/E软件因其特有的参数化特性被更多的设计者青睐。传统的产品设计方法一般都是零件到部件的层级型式,设计者先根据设计参数设计单独的零件,然后再按照Top-Down的装配设计方法把设计好的零件组装起来。这样的设计方法存在的问题有,当产品过于复杂时,往往产品设计任务会由一组设计人员参与,由于Top-Down的装配设计方法,设计人员之间很难做到有效地沟通,部件的装配必须等到零件设计全部完成之后才能进行,因此无法做到随设计随装配的实时装配;另外,当市场需求导致产品升级换代时,新一代产品系列的设计往往都是从头再来,仍然采用先设计零件再组装成部件的设计方法,而新产品的升级往往只是旧产品某一部分结构的改变,从头再来的设计不仅会导致对过去设计经验的极大浪费,也没有做到对一个产品系列的有效管理,从而导致设计效率较低、产品的设计周期较长。

技术实现要素:
本发明为解决现有技术中存在的问题,提供一种基于Pro/E的产品自动装配设计系统及其装配处理算法,以期实现产品的多任务、协同分布式设计,以及零部件的快速参数化设计及快速的自动装配;从而达到提高产品的设计质量和设计效率、缩短产品的设计周期的目的。本发明为解决技术问题采用如下技术方案:本发明一种基于Pro/E的产品自动装配设计系统,是用于针对不同设计需求而进行参数化模型设计和模型组装的产品设计中;其特点是:所述系统组成包括:n个安装有Pro/E软件的客户端和一个共享数据库;所述共享数据库中包含由若干个未完成零件任务项和与所述若干个未完成零件任务项一一对应的未完成零件参数项构成的未完成零件列表、由若干个已完成零件任务项和与所述若干个已完成零件任务项一一对应的已完成零件参数项构成的已完成零件列表、产品组成表、配置对表、配置接口对表、配置约束表和接口表;任意一个客户端的组成包括模型库、参数化工作站和装配工作站;所述模型库中的模型根据所述设计需求分为需要进行参数化设计的参数化模型和不需要进行参数化设计的非参数化模型;所述参数化模型分为参数化零件和参数化部件,所述非参数化模型分为非参数化零件和非参数化部件;所述参数化工作站包括定时器、任务分配器、中央参数化处理器;所述装配工作站包括接口定义模块、产品配置模块、装配检测模块和中央装配处理器;所述任意一个客户端中的定时器每隔一定时间周期T从所述共享数据库的未完成零件列表中依次读取若干个所述未完成零件任务项和未完成零件参数项,并把读取到的若干个未完成零件任务项和未完成零件参数项进行打包形成一个时间周期T内的未完成零件包发送给所述任务分配器,所述任务分配器将所接收到的一个时间周期T内的未完成零件包中的若干个所述未完成零件任务项和未完成零件参数项按照读取顺序依次发送给所述中央参数化处理器;所述中央参数化处理器依次接收所述若干个未完成零件任务项和未完成零件参数项并依次自动执行参数化零件设计,获得若干个参数化零件并存储在所述模型库中,由所述若干个参数化零件驱动与其从属的所有部件自动更新,从而实现参数化部件设计;同时,所述中央参数化处理器将所述若干个参数化零件分别所对应的零件任务项和零件参数项依次存入所述已完成零件列表中;从而完成一个时间周期T内的参数化模型设计;所述接口定义模块根据所述设计需求从所述模型库中调取相应的若干个参数化零件以及非参数化零件并进行接口定义,从而完成每一个参数化零件和非参数化零件的若干个零件接口添加,并将所述若干个参数化零件和非参数化零件的零件名称及相应的所有零件接口存储到所述共享数据库的接口表中;形成所述参数化零件和非参数化零件的零件名称与零件接口一一对应的关系;所述产品配置模块从所述模型库中读取所有参数化模型和非参数化模型的名称,并根据所述设计需求选择组成产品的参数化模型名称或非参数化模型名称,形成产品组成表;所述产品配置模块对所述产品组成表中的参数化模型名称或非参数化模型名称进行配置对设置,形成配置对表;所述配置对表中包括参数化模型名称或非参数化模型名称以及与所述参数化模型名称或非参数化模型名称互相配对的匹配零件名称;所述产品配置模块根据所述配置对表查询所述接口表并进行配置接口对设置,形成配置接口对表;所述产品配置模块根据所述设计需求对所述配置接口对进行配置约束设置,形成配置约束表;由所述接口表、产品组成表、配置对表、配置接口对表和配置约束表形成完整的产品配置信息并存储在所述共享数据库中;所述装配检测模块从所述共享数据库的产品组成表中读取所述产品的参数化模型名称或非参数化模型名称,并在所述模型库中读取所述产品的参数化模型名称或非参数化模型名称所对应的参数化模型或者非参数化模型;所述装配检测模块检测所述参数化模型或者非参数化模型的接口是否缺失,若缺失,则在所述接口定义模块中重新添加缺失的参数化零件接口或非参数化零件接口;否则,所述中央装配处理器根据所述产品配置信息自动完成所述参数化模型或者非参数化模型的组装;从而实现产品的自动装配。本发明一种基于Pro/E的产品自动装配设计系统的装配处理算法的特点是,所述中央装配处理器按照如下步骤自动完成所述参数化模型或者非参数化模型的组装:步骤1:根据所述产品配置信息提取所述共享数据库的接口表中所有的零件名称及相应的零件接口,从而形成含有零件接口的零件列表;步骤2:压缩所述含有零件接口的零件列表中的相同零件名称,使得所述含有零件接口的零件列表中的所有零件名称都不相同;从而获得具有唯一零件名称的标识零件列表;步骤3:将所述标识零件列表转化成Pro/E软件中能够识别的数据格式,获得Pro/E标识零件列表;步骤4:假设所述产品组成表中包含m个参数化模型名称或非参数化模型名称;定义循环变量x;并初始化x=1;步骤5:将所述产品组成表中第x个参数化模型名称或非参数化模型名称所对应的第x个模型调入Pro/E软件中;步骤6:判断所调入的第x个模型是否为零件,若为零件,则提取第x个零件的名称;否则,根据所述Pro/E标识零件列表获得所调入的第x个模型中具有接口的零件的名称,记为第x个零件的名称;步骤7:根据所述第x个零件的名称,查询所述配置对表,获得与所述第x个零件的名称互相配对的第x个匹配零件名称;步骤8:根据所述第x个匹配零件名称判断所述第x个匹配零件名称对应的第x个匹配零件或者包含所述第x个匹配零件的部件是否存在于所述产品组成表中,若存在,则从所述模型库中将所述第x个匹配零件或者包含所述第x个匹配零件的部件调入Pro/E软件中,由所述所调入的第x个模型和所述第x个匹配零件或者包含所述第x个匹配零件的部件构成第x个匹配模型对;由所述第x个匹配模型对获得相应的第x个配置接口对;并执行步骤9;若不存在,则将x+1的值赋给x,并判断x=m是否成立,若成立,则退出执行;否则返回步骤5;步骤9:从所述接口表中分别查询所述第x个配置接口对是否存在于配置接口对表中,若存在,则执行步骤10,若不存在,则表示所述第x个配置接口对缺失,从而返回所述接口定义模块重新添加所述第x个配置接口对;步骤10:根据所述第x个配置接口对在所述配置约束表中进行查询,获得所述第x个配置接口对所对应的第x个配置约束;并在Pro/E软件中转换为所述匹配模型对的约束,从而完成所述第x个匹配模型对的组装;步骤11、将x+1的值赋给x,并判断x=m是否成立,若成立,则表示完成所述参数化模型或者非参数化模型的组装,并退出执行;否则,返回步骤5执行。与已有技术相比,本发明的有益效果体现在:1、本发明采用参数化工作站与装配工作站独立工作的模式,二者不会造成相互干涉,既能保证零件层设计,又能保证不完全依赖于零件层设计的装配设计,从而实现了产品的多任务、协同分布式设计,有效地提高了设计质量和设计效率,缩短了产品的设计周期。2、本发明中参数化工作站采用定时器读取来自数据库的零件设计任务和参数,可同时读取多个未处理的零件设计任务,并将读取到的设计任务和相应参数传送给任务分配器,由任务分配器分配任务及其参数到中央参数化处理器中处理,由于Pro/E的参数化特性,中央参数化处理器处理一个任务一般只需要不到一秒的时间,因此,在设计者看起来,多个任务“同时”进行了;极大的缩短了零件设计的时间。3、本发明中装配工作站中的接口定义模块既支持了现有产品的装配设计,同时将属于零件的接口信息保存在相应的数据库中,而数据库的存在则支持在同一时刻多用户同时访问,是实现多设计者协同设计的基础,有效地管理了产品系列的系列特性,实现了协同分布式设计。4、本发明中装配工作站的产品配置模块是一种可视化柔性配置,它避免了传统设计方法中由于CAD软件窗口所带来的模型访问局限性,实现了在不打开模型的条件下也能操作模型,从而节省了更多的物理空间。5、本发明中装配工作站的装配检测模块是为了检测待装配的模型零件中接口的缺失与否,通过检测,设计者能够及时发现接口缺失的零件,并通过接口定义模块加以补充定义,从而避免在实际的Pro/E环境中进行装配时产生错误以及Pro/E的崩溃。6、本发明中装配工作站的中央装配处理器通过装配处理算法,一旦装配检测模块检测所有零件均无错误,就会进行自动装配,整个过程无需手工干预,能够极大的缩短产品装配设计的时间,从而提高产品装配设计的效率。附图说明图1为本发明系统工作原理图;图2为本发明装配处理算法流程图。具体实施方式本实施例中,一种基于Pro/E的产品自动装配设计系统,是用于针对不同设计需求而进行参数化模型设计和模型组装的产品设计中;参数化模型设计包括参数化零件设计和参数化部件设计,在本系统中,仍存在由非参数化零件和非参数化部件组成的非参数化模型,模型组装可以是任意参数化模型和非参数化模型之间的组装,参见图1,自动装配设计系统组成包括:n个安装有Pro/E软件的客户端和一个共享数据库;共享数据库作为多个客户端实现协同工作的数据存储工具;n个客户端在共享数据库的支持下,可实现协同设计。共享数据库中包含由若干个未完成零件任务项和与若干个未完成零件任务项一一对应的未完成零件参数项构成的未完成零件列表、由若干个已完成零件任务项和与若干个已完成零件任务项一一对应的已完成零件参数项构成的已完成零件列表、产品组成表、配置对表、配置接口对表、配置约束表和接口表,其中未完成零件列表和已完成零件列表为参数化工作站提供数据支持,产品组成表、配置对表、配置接口对表、配置约束表和接口表为装配工作站提供数据支持;任意一个客户端的组成包括模型库、参数化工作站和装配工作站,系统工作时,参数化工作站与装配工作站是独立工作的,二者不产生相互干涉,模型库为参数化工作站与装配工作站提供模型支持;模型库为系统提供所需要的模型,模型库中的模型根据设计需求分为需要进行参数化设计的参数化模型和不需要进行参数化设计的非参数化模型;参数化模型分为参数化零件和参数化部件,非参数化模型分为非参数化零件和非参数化部件;此种区分只是为了说明模型的参数化功能,实际上,在系统中,所有的参数化模型和非参数化模型在模型库都存在原始实体,只不过参数化模型相对于非参数化模型来说具有接收参数化设计任务和参数从而进行参数化设计的功能,而非参数化模型并无此功能;参数化工作站用以驱动零件和部件的参数化设计;其组成包括定时器、任务分配器、中央参数化处理器;因为在实际的产品设计中,可能在一定的时间内会产生很多参数化设计任务,定时器的作用就在于能将众多的参数化设计任务分块处理,从而避免任务过多导致的处理混乱问题;而由于参数化功能的实现在逻辑上只能是一个程序进程对应一个任务,因此,即使是分块的参数化设计任务在交给中央参数化处理器处理时,仍需要提前将分块的参数化设计任务和进程一一对应,这就需要任务分配器来实现;装配工作站用以驱动零件和部件的自动装配,其组成包括接口定义模块、产品配置模块、装配检测模块和中央装配处理器;接口在Pro/E软件中可理解为零件的一个子特征,比如,一个零件实体是由很多面组成的,那么这些面便可以视为此零件的子特征,均可以通过接口定义模块来定义各个子特征对应的接口;在实际的产品设计工作中,设计需求往往不能一次就能确定,需要不断的反复修改,针对这种产品设计的特点,产品配置模块的作用就在于它能适应不同的设计需求,实现柔性配置,从而为形成一个完成的产品提供支持;在Pro/E中的模型组装操作中,归根结底都是操作组成零件的子特征,也即接口,因此,要实现自动装配就需要在装配操作之前检测这些自定义的接口是否存在,此功能便由装配检测模块来实现;只有检测得到所有自定义的接口均存在,才能把相应的产品配置信息交由中央装配处理器来处理;任意一个客户端中的定时器每隔一定时间周期T从共享数据库的未完成零件列表中依次读取若干个所述未完成零件任务项和未完成零件参数项,并把读取到的若干个未完成零件任务项和未完成零件参数项进行打包形成一个时间周期T内的未完成零件包发送给任务分配器,任务分配器将所接收到的一个时间周期T内的未完成零件包中的若干个未完成零件任务项和未完成零件参数项按照读取顺序依次发送给中央参数化处理器;需要注意的是,时间周期T的设置不能过大也不能过小,T过大会导致一次读取的任务过多,从而导致处理混乱,T过小会导致一次读取的任务过少,难以发挥参数化工作站的作用;中央参数化处理器依次接收若干个未完成零件任务项和未完成零件参数项并依次自动执行参数化零件设计,获得若干个参数化零件并存储在模型库中,由若干个参数化零件驱动与其从属的所有部件自动更新,从而实现参数化部件设计;同时,中央参数化处理器将若干个参数化零件分别所对应的零件任务项和零件参数项依次存入已完成零件列表中;从而完成一个时间周期T内的参数化模型设计;所述接口定义模块根据设计需求从模型库中调取相应的若干个参数化零件以及非参数化零件并进行接口定义,从而完成每一个参数化零件和非参数化零件的若干个零件接口添加,并将若干个参数化零件和非参数化零件的零件名称及相应的所有零件接口存储到共享数据库的接口表中;形成参数化零件和非参数化零件的零件名称与零件接口一一对应的关系;需要说明的是,接口的定义只能针对零件进行,在接口定义模块内定义的零件既可以是参数化零件也可以是非参数化零件,每个零件也可同时定义多个接口;产品配置模块从模型库中读取所有参数化模型和非参数化模型的名称,并根据设计需求选择组成产品的参数化模型名称或非参数化模型名称,形成产品组成表;产品组成表中不需要有固定的顺序,只要表中包含组成产品的所有模型名称即可;产品配置模块对产品组成表中的参数化模型名称或非参数化模型名称进行配置对设置,形成配置对表;配置对表中包括参数化模型名称或非参数化模型名称以及与参数化模型名称或非参数化模型名称互相配对的匹配零件名称;配置对表的作用在于指定模型之间的相互关系,这种相互关系是成对出现的,且配置对的配置顺序并不需要预先设定。产品配置模块根据配置对表查询接口表并进行配置接口对设置,形成配置接口对表;配置接口对表的作用在于指定配置对中含有接口的零件的某个接口互相成对,也即属于某零件的子特征互相成对;产品配置模块根据设计需求对配置接口对进行配置约束设置,形成配置约束表;配置约束表的作用在于指定属于某零件的子特征的成对方式,比如,属于某零件的面与面之间的面贴合方式;由接口表、产品组成表、配置对表、配置接口对表和配置约束表形成完整的产品配置信息并存储在共享数据库中;当系统的某个模块需要读取或写入数据时,会从相应的表中读取或写入数据,从而实现功能与数据的对应关系;装配检测模块从共享数据库的产品组成表中读取产品的参数化模型名称或非参数化模型名称,并在模型库中读取产品的参数化模型名称或非参数化模型名称所对应的参数化模型或者非参数化模型;需要注意的是,在从模型库中读取模型时,此系统并不需要把相应模型调入Pro/E软件中,这样便可实现在不打开模型的条件下操作模型;装配检测模块检测参数化模型或者非参数化模型的接口是否缺失,若缺失,则在接口定义模块中重新添加缺失的参数化零件接口或非参数化零件接口;否则,中央装配处理器根据产品配置信息并利用装配处理算法自动完成参数化模型或者非参数化模型的组装;从而实现产品的自动装配。在产品组装过程中,并不需要人工干预,从而极大的提高了设计效率。参见图2,一种基于Pro/E的产品自动装配设计系统的装配处理算法,是按照如下步骤通过中央装配处理器自动完成参数化模型或者非参数化模型的组装:步骤1:根据产品配置信息提取共享数据库的接口表中所有的零件名称及相应的零件接口,从而形成含有零件接口的零件列表;由于一个零件可以同时定义多个接口,因此,含有零件接口的零件列表中同一个零件名称可能出现多次;步骤2:由于含有零件接口的零件列表中同一个零件名称可能出现多次,所以需要压缩含有零件接口的零件列表中的相同零件名称,使得含有零件接口的零件列表中的所有零件名称都不相同;从而获得具有唯一零件名称的标识零件列表;此标识零件列表中各个零件名称只可能出现一次,但由于此时的数据来源是共享数据库,所以,此标识零件列表还不能被Pro/E软件所识别;步骤3:由于标识零件列表还不能被Pro/E软件所识别,因此需要将标识零件列表转化成Pro/E软件中能够识别的数据格式,获得Pro/E标识零件列表;步骤4:由于不同的设计需求所对应的产品组成表中模型名称个数会不同,所以假设产品组成表中包含m个参数化模型名称或非参数化模型名称;定义循环变量x;并初始化x=1;步骤5:将产品组成表中第x个参数化模型名称或非参数化模型名称所对应的第x个模型调入Pro/E软件中,从而能够对模型实体进行操作;步骤6:判断所调入的第x个模型是否为零件,若为零件,则提取第x个零件的名称;否则,调入的第x个模型即为部件,但部件可能包含多个零件,所以需要根据Pro/E标识零件列表获得所调入的第x个模型中具有接口的零件的名称,记为第x个零件的名称;步骤7:根据第x个零件的名称,查询配置对表,获得与第x个零件的名称互相配对的第x个匹配零件名称;需要注意的是,第x个匹配零件名称所对应的模型可能是零件也可能是部件;步骤8:由于第x个匹配零件名称所对应的模型可能是零件也可能是部件,所以需要根据第x个匹配零件名称判断第x个匹配零件名称对应的第x个匹配零件或者包含第x个匹配零件的部件是否存在于产品组成表中,若存在,则从模型库中将第x个匹配零件或者包含第x个匹配零件的部件调入Pro/E软件中,由所调入的第x个模型和第x个匹配零件或者包含第x个匹配零件的部件构成第x个匹配模型对;由第x个匹配模型对获得相应的第x个配置接口对;并执行步骤9;若不存在,则将x+1的值赋给x,并判断x=m是否成立,若成立,则退出执行;否则返回步骤5;需要注意的是,由第x个匹配模型对获得的第x个配置接口对不一定存在于配置接口对表中;步骤9:由于第x个匹配模型对获得的第x个配置接口对不一定存在于配置接口对表中,所以需要从接口表中分别查询第x个配置接口对是否存在于配置接口对表中,若存在,则执行步骤10,若不存在,则表示第x个配置接口对缺失,从而返回接口定义模块重新添加第x个配置接口对;步骤10:根据第x个配置接口对在配置约束表中进行查询,获得第x个配置接口对所对应的第x个配置约束;并在Pro/E软件中转换为匹配模型对的约束,从而完成第x个匹配模型对的组装;而一个产品的完整组装过程是由很多个匹配模型对组装构成的,所以还需要明确产品的完整组装结束条件;步骤11、为了判断产品在组装过程中何时达到完整组装的状态,将x+1的值赋给x,并判断x=m是否成立,若成立,则表示完成所述参数化模型或者非参数化模型的组装,并退出执行;否则,返回步骤5执行。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1