本文探讨了PDM下的SolidWorks变型设计和自动装配系统相关内容。
随着市场竞争的日益加剧和客户需求的多样化、个性化,使得企业在成本、质量、交货期和客户满意度方面面临着越来越大的压力,迫使企业不得不采用大批量定制(MC,Masscustomization)等先进的设计、制造和管理技术。大批量定制技术的实施需要PDM系统的支持以管理企业目前存在着的大量产品设计和工艺资源,同时管理设计和生产过程中产生的各种信息,通过产品配置和产品族管理来缩短订单产品的通过时间。
为了使机械制造业能够对市场进行灵活而快速的响应,尽可能重用原有的设计资源并缩短订单通过时间,作者在实施自主开发的PDM系统的过程中,针对企业CAx系统及PDM系统的应用现状,从资源重用、信息集成的角度,研究并开发了支持设计重用的产品快速组合设计系统,同时以SolidWorks为三维设计平台开发了支持快速组合设计的变型设计系统,并得到了相应的验证。
1系统的支持平台及主要功能
1。1系统的支持平台
本支持平台以客户需求和未来市场需求预测为基础,以产品族设计为核心,根据客户订单从产品族中配置产品满足订单。将产品开发过程分为客户需求分析、产品族设计、产品配置三部分。
当接到客户订单时,首先对订单进行分析,确认订单产品是否能够接受。若订单能够接受,则对订单产品进行处理和分解,确定订单产品是属于产品快速组合设计的哪种情况,即直接配置、产品变型设计还是产品全新设计。产品的变型设计是从产品族中配置出相似产品,在相似产品的基础上进行变型设计,可以进行标准化审核,作为产品族的一个产品实例。订单产品设计完成后,能够自动生成产品的模型图,在产品生产以前对产品的各种参数进行分析以减少设计的失误。由于每个部门对产品数据的需求不同,从产品结构中生成不同的BOM视图供各部门使用。图1为系统支持平台的运行流程。
1。2系统支持平台的主要功能
(1)设计资源管理系统。设计资源管理是PDM环境下产品快速组合设计系统的基础。设计资源管理企业中已有的设计资源。对设计资源进行分类,使设计资源能够有效查询和利用。在设计资源管理中不仅管理零部件,而且支持零部件的设计并建立零部件模型。当已有零部件无法满足设计要求时,通过改变零部件模型的可变尺寸参数来生成满足条件的零部件。本平台采用支持设计重用、多层次的产品设计资源可重用模型。该模型通过分层的组织结构形式,反映产品设计资源在重用过程中的信息需求。
(2)产品族管理系统。在大批量定制环境下,只有拥有能够迅速变型的产品族,才能实现对客户需求的快速设计。产品族管理系统必须能够建立产品族并且能对产品族进行维护,能够预测将来的产品需求。面向整个产品族进行设计,需提取符合顾客群需要的产品变型参数,其设计结果是形成可变型的动态产品模型。在此动态产品模型的支持下,当针对单个客户需求进行设计时,可以快速配置出满足客户需求的产品。因此,产品族管理系统还需实现与相关CAD系统的集成,并支持产品模型及各零部件模型的变型设计。
(3)BOM管理系统。对于同一产品,在企业不同部门需要的产品信息并不相同。BOM提供了满足不同部门需求的产品信息,产品的BOM信息在其生命周期的不同阶段具有不同的内容,形成了产品结构的多视图。无论是设计BOM还是制造BOM,其中的每一结点可看作零件(或组件、虚拟件、中间件等),对零件进行重用时不仅重用了零件的设计数据,同时也重用了零件的所有数据。
(4)产品配置管理系统。通过产品族的设计可形成可变型的产品模型,为产品配置打下了基础。对订单进行分解后,在产品族结构中,根据产品族中零部件之间的配置规则配置订单产品。
产品配置是产品快速组合设计重要的实现手段。它根据客户选定的选项对产品模型进行变型,通过CAD系统向客户展示该个性化产品并提供报价。若客户满意则可生成可供制造的产品模型并投入生产部门进行制造。如果客户需求不能得到满足,则可向设计人员提供最相似的产品实例,使定制设计有较高的起点从而缩短工作时间。产品配置本身并不能实现产品的快速组合设计,它为产品族和客户需求之间建立了联系。产品快速组合设计的真正实现还依赖于产品族的设计以及零部件的变型设计等。
产品配置有三种途径,分别是产品配置、产品变型设计、产品全新设计。
2 系统各模块的设计
通过SolidWorksAPI可开发相应的应用系统来扩展系统的功能。本系统各应用程序开发工具采用VisualC++、VisualBasic和VisualC#,各应用程序与SolidWorks的接口插件开发采用VisualC++,开发接口采用基于OLEDB的ActiveX技术。所开发系统的结构如图2所示。
2。1与运行平台的集成接口
系统与SolidWorks的集成实现如图3所示。通过属性编辑器对零部件的总体信息和特有属性进行统一的管理,属性编辑器的界面如图4所示。基本信息包括代号、名称、规格、材料、设计者、日期和备注,这些内容正好对应二维图纸中标题栏的主要属性,符合设计人员的习惯。把零部件的参数分为可变参数和不变参数,可变参数作为零件的特有属性,在属性编辑器中通过改变参数的值生成新的配置,然后驱动SolidWorks对新配置重新建模,从而完成零部件的变型设计。提取零部件图形的总体信息的API函数为value=ModelDoc2。SummaryInfo(fieldId);提取特有信息的API函数为retval=odelDoc2。GetCustomInfoValue(configuration,FieldName)。
可通过属性编辑器来实现与三维CAD系统的集成。在属性编辑器中,不仅可对零部件的共有属性进行编辑,而且可保存零部件的特有属性。在特有属性中可以保存保存零部件尺寸名称和代号的关系。
由于尺寸名称是由SolidWorks软件自动命名的,从尺寸名称上一般无法理解其含义,通过建立尺寸名称和代号之间的对应关系,可以使设计人员根据代号就可得知尺寸名称代表哪个尺寸参数。由于尺寸名称和代号的关系是针对一个模型文件的,所以把尺寸名称和代号的关系保存到SolidWorks图形文件属性---自定义中。为了实现零部件的变型设计,只保存零部件的可变参数。在添加特有属性时,其尺寸参数从零部件所有尺寸参数中进行选择,图5为信息提取模型。
2。2设计与工艺信息的集成
在SolidWorks的对象模型中提供了外部应用程序对模型文件及其相关属性和变量进行访问和操作的外部接口,通过该接口可实现对模型的特征及其属性、变量进行定义和编辑的操作。这样可将模型的工艺信息以属性或变量的形式附加于设计模型上。
例如:
(1)通过模型文档类的AddPropertyExtension、GetPropertyExtension函数实现对零件特征、曲面属性的设置和访问,如硬度、粗糙度等;
(2)通过选择集类的GetSelectedObjectType实现对特征类型的访问;
(3)通过特征类的Name、GetFaceCount对特征的名称及构成的信息进行访问;
(4)通过尺寸类的GetToleranceType、GetToleranceValues和SetToleranceType、GetToleranceValues函数可实现对尺寸公差类型及偏差的访问和设置,等等。
基于此,可将零件的工艺路线、工序、工时和材料定额等工艺信息以属性的形式存储于模型文件中,从而从逻辑和存储两个角度均可实现设计和工艺信息的集成。这些属性的编辑通过专门开发的属性编辑器进行。
2。3零部件的变型设计
2。3。1零部件主模型的建立
企业中存在大量相似的零部件,在新设计的零部件中,大部分零部件与已有的零部件结构相似。分析已有相似零部件参数,其目的是减少零部件的可变参数,从而减少工具、夹具类型,简化加工过程。建立零部件模型,通过零部件模型中参数的修改生成新零部件。这样做尽管单个零部件不是最优,但通过减少加工工具、工装装备等,降低了加工成本并简化了管理,从而实现整体的优化。
通过分析已有的相似零部件,建立零部件模型,并建立零部件模型的图形,确定零部件模型的可变参数和不变参数,这些参数作为零部件模型的一类信息进行维护,建立零件模型界面如图6所示。在可变参数中,显示了所有的尺寸参数,尺寸参数选中表明此参数是可变参数。
2。3。2零件的变型设计
对零部件进行变型设计时,首先检索零部件主模型,在满足条件的零部件主模型的基础上,通过修改零部件主模型的可变参数,自动生成与零部件主模型相似的零部件图形。生成零部件图形后,设计人员对零部件图形进行检查,如果与设计要求一致,则把零部件保存到设计资源库中,同时对零部件进行分类。若生成的零部件图形与设计要求不一致要重新设计。新生成的零部件与零部件模型共用同一图形文件,只是在图形文件中添加一个配置,其零部件属性保存到图形文件的配置属性中,这样可减少零部件图形文件的数量,从管理的角度便于保证数据的一致性。
2。3。3装配体的变型设计
SolidWorks中的配置是一组类似零部件在其共同抽象之上的特有形态。在每一个配置中只保存该种形态的特有部分(如驱动尺寸大小等),对于整个模型文件体积的影响几乎可以忽略;在新生成配置时,由于只对部分特征进行重新计算,速度要比重新绘制零件快很多。这样可将同一类型的多个零件作为配置存入一个文件中,既节省了磁盘空间又便于管理。配置提供了简便的方法来开发与管理一组有着不同尺寸、零部件、或其它参数的模型。要生成一个配置需先指定名称与属性,然后再根据需要来修改模型。在装配体模型文件中,配置通过压缩或隐藏零部件来生成简化的设计,使用不同的零部件配置、不同的装配体特征参数、不同的尺寸或配置特定的自定义属性来生成装配体系列。图7为装配体变型设计的实现界面。
可通过装配体模型的变型设计来生成新的装配体。生成的新装配体是装配体模型文件的一个配置。在生成新装配体的过程中,由于组成装配体的有些零件尺寸参数变化,则生成零件的新配置从而自动生成零件的新版本。除了版本号外,新零件的所有属性和原零件相同。在生成装配体的模型图后,提取装配体的层次结构,保存到企业设计资源库中,装配过程中涉及的主要API如下:
DimswAssyAsSldWorks。AssemblyDo
//定义swAssy为SolidWorks的装配实体
DimpMateObjOutAsObject
SetpMateObjOut=swAssy。AddMate2(mateType-FromEnum,alignFromEnum,flip,distance,distAbsUpper-Limit,distAbsLowerLimit,gearRatioNumerator,gearRatio-Denominator,ange,angleAbsUpperLimit,angleAbsLower-Limit,errorStatus)
//进行装配,mateTypeFromEnum为装配类型swFeatureManager。FeatureCircularPatternlngNum,lngInterval,True,""
//圆周阵列,lngNum阵列中零部件的数量,lngInterval零部件之间的间距swFeatureManager。FeatureLinearPatternX1Num,X1Interval,X2Num,X2Interval,True,True,X1Name,X2Name
//线性阵列,X1Num,方向1的数量,X1Interval方向1间距,X1Name在方向1上的零部件名称,X2Num,//方向2的数量,X2Interval方向2间距,X2Name在方向2上的零部件名称swFeatureManager。InsertMirrorFeaturestrMirrorType,bGeometryPattern,bMerge,bKnit
//镜像,strMirrorType表示镜像类型,bGeometryPattern表示是否镜像几何特征,bMerge表示是否合并,bKnit表示是否结合面
swModel。ClearSelection2True
//清除所有选择的基准
2。4产品模型图的自动装配
由于在设计产品族结构的过程中,已经考虑了各零部件之间的装配关系,并把各零部件之间的装配关系作为产品族结构的一类信息进行管理,因此,在生成产品结构后可以自动生成产品的总装图。这主要是考虑到产品族结构根据不同的配置项可以配置出很多产品,若把这些产品的模型图全部进行存储要占用很大的空间,更为突出的问题是带来了管理的不便,对产品模型图维护的工作量很大,并且当增加一个可选配置项时,产品模型图的数量将增加一倍。
2。4。1装配关系的定义
确定零部件之间装配关系的具体方法如下:建立一个虚拟件,把新零部件和与之有装配关系的零部件作为虚拟件的子节点,把虚拟件的所有子节点中所涉及到的零部件全部输入到SolidWorks装配环境下进行手工装配。手工装配完成后对虚拟件进行提取,与提取产品结构的区别是不在设计资源库中保存零部件,只保存与新零部件有关的装配关系,提取结束后自动删除选中的虚拟件。
在SolidWorks中零部件之间的装配关系有9类,装配关系在SolidWorks中的参数如表1所示。
2。4。2装配关系的提取
在装配关系进行提取时,如果装配基准在零部件的装配基准库中不存在,则需首先把零部件的装配基准保存到相应零部件记录的装配基准中,再确定与其它零部件的装配关系。若提取的装配基准在相应的零部件装配基准中存在,则直接确定与其他零部件之件的装配关系。而对于新建版本的零部件或者新零部件,把装配基准保存到新零部件记录的装配基准中,最后确定产品结构中零部件使用的装配基准。
产品结构中零部件的装配基准确定后,提取装配基准之间的装配关系,把装配关系保存到数据库中。导入产品结构的过程中,在遍历产品中所有零部件的同时,遍历与零部件相关的装配零部件提取装配关系。对于已经提取的装配关系给予标记,防止同一装配关系在数据库中保存多次。
2。4。3产品模型图的装配方式
可将系统中的产品结构树按装配的层次关系在CAD系统的装配环境下进行装配。根据用户需求在系统中从产品族结构中按照零部件的配置约束进行配置,从而形成新的产品结构树,或对已有的产品结构树进行修改。根据该产品结构树,可以在CAD系统装配出新的产品。对于可以预定义装配关系的CAD系统(如SolidWorks),并且装配关系可以预先确定的情况下,则根据装配层次关系及装配参数,通过系统的API操纵数据结构自动实现装配过程。装配过程可以后台执行,最后向用户显示装配结果,也可以前台执行,给用户直观地显示装配过程。装配过程如图8所示。
2。4。4产品自动装配实现
SolidWorksAPI可以从几何级、特征级和零部件级对模型进行操作。产品自动装配是在遍历产品结构中零部件之间装配关系的过程中进行的,在遍历到零部件之间的装配关系时,其装配基准处于被选中状态,这个装配关系结束后,取消装配基准的被选中状态,遍历下一个装配关系并进行装配,直至产品装配结束。
3 结语
本文提出了大批量定制环境下基于PDM平台的产品快速组合设计系统的解决方案;以自主研发的QUST-PDMS作为产品快速组合设计的支持平台,建立了系统的体系结构;以订单产品的快速通过和设计资源的重用为目的,将企业的产品数据通过设计资源管理系统、产品族管理系统、产品配置管理系统和BOM管理系统等进行管理,并通过基于SolidWorks的产品变型设计和自动装配系统完成订单产品的快速组合设计,所研究的内容已得以实现并得到初步验证。实践证明,基于PDM平台开发的支持产品快速组合设计的变型设计及自动装配系统明显地提高了设计资源的充用程度,明显地缩短了订单产品的设计周期。
参考文献:
[1]祁国宁,顾新建,谭建荣,等。大批量定制技术及其应用[M]。北京:机械工业出版社,2003。10。
[2]张涛,史俊友。基于设计重用的零件管理系统的设计与开发[J]。现代制造工程,2004,(12):47-49。
[3]王玉。产品设计重用技术支持体系研究[J]。机械科学与技术,2004,23(6):643-646。
[4]张涛,张灵泉,史俊友。基于PDM的产品快速组合设计系统的研究[J]。机械,2004,31(7):33-35。
[5]史俊友,翟红岩。基于SolidWorks的CAPP系统的研究与设计[J]。制造业自动化,2005,27(10):50-54。