您的位置:网站首页 > CAD新闻

基于Solid Edge 复杂变型产品参数传递结构研究

时间:2011-02-25 10:30:35 来源:

  1 产品变型参数及其变型关系分析

  产品变型过程的实质是变型参数在整个产品模型中的传递,最终反映到某些零部件的变型上。而零部件的变型包括特征变型、装配关系变型、相同零部件配置数目变化和零部件的选配等。

  产品的变型设计首先要解决的是产品变型参数的选择。产品变型参数分析是通过对产品或整个产品系列的调研,确定整个产品模型的变型参数,称为产品级变型参数。而零部件的变型参数分析是根据产品的变型要求来确定零部件所需的变型参数,相应零部件的变型参数就称为零件(部件)级变型参数。

  变型关系分析所做的工作之一就是根据产品的变型特点,分析所有零部件的变型参数和产品级变型参数之间的关联关系。相互关联的参数最终形成一条参数传递链,而所有参数传递链将组成一个复杂的参数传递结构。产品变型参数传递结构将直接影响复杂产品的变型能力及其变型设计效率,所以变型关系分析的另一项极其重要的工作就是优化变型产品的参数传递结构。

  2 产品建模结构

  利用3维设计软件进行产品建模会形成一个树形装配结构,称为产品建模结构(如图1)。它根据零部件在建模过程中的装配关系来确定,与按照零部件功能来划分的产品结构很相似,但并不完全相同。区别在于按功能划分出来的部件在使用3维软件进行建模和装配时,因为缺少定位基准而不能组成独立的子装配件,如剑杆织机按照功能划分的产品结构中包含机架部件和传动部件,但是在实际装配时传动部件往往与机架部件密不可分,在计算机建模过程中它不可能脱离机架部件而单独形成一个子装配件。所以产品建模结构中的装配件与传统物料清单(Bill of Material,BOM)结构中的部件不完全一样,装配件是指能够在3维软件中独立装配的那部分零件集合。本文用零件、装配件、零装配件表示在产品建模结构中的对象,以区别于传统BOM中的零件、部件、零部件的概念。

  

  图1 产品建模结构

  建立一个层次简单而又合理的产品建模结构,是建立一个有效的变型产品参数传递结构的前提。在利用3维设计软件提供的二次开发接口开发产品零装配件越在建模结构的底层,变型运算的工作量就越大,内存消耗和时间消耗也就越多,对于有几百上千个零件组成的复杂产品,还有可能造成“死机”;而且建模结构层次过多,又往往会造成不同层次之间的变型零装配件难以协调,程序开发难以对需要配置的零装配件进行定位等问题。因此,在产品建模过程中,应该把需要变型的零部件尽量放在产品建模结构的顶层,把无需变型的零部件尽量放在建模结构底层,并尽量模块化,组成固定子装配件;在不影响产品结构合理性的情况下,把含有相对独立的变型零部件的部件尽量打散,并将变型部分尽可能放到产品建模结构的上层。

  3 变型参数传递结构

  在合理的产品建模结构基础上,需要根据变型参数及其关联关系建立一个既有规律又有效率的变型参数传递结构,以解决产品中变型零装配件之间的协调问题,为产品变型设计的程序开发提供一个可靠、准确的数据传递通道,这是产品变型设计系统最为关键的部分。一般的参数传递结构没有规范,是设计者根据产品结构要求而进行的各种直接关联,最终形成的一般都是纵横交错的复杂的网状结构,它与产品建模结构之间没有任何相似性。这种结构不利于参数传递结构的更新和维护,更不利于参数结构的模块化。

  图2表示了参数传递结构中上下层之间参数传递的工作原理。零装配件的模型文件被分成参数输入层、数据处理层、模型驱动层和参数输出层4个基本层次。每个零件或装配件根据其复杂性及变型需要,可以只包含其中的某几个层次。在该结构中,参数输入层接收从上级装配件传递下来的参数,包括装配件自身的变型参数及其所有子装配件和零件的变型参数;经过数据处理,一部分参数驱动零件或装配件模型自身的变化,其他参数被分离出来,形成将被传递给各下属子装配件和零件的变型参数。

  

JPG

  图2 参数传递节点

  零装配件在上述参数传递结构中,其整个变型过程都是一个独立的整体。它实现了参数传递结构的模块化,只通过输入输出参数和其他零装配件进行联系,就如同程序设计过程中的函数一样。在产品变型设计过程中,这种函数化的参数传递结构是变型产品在建模过程中实现模块化建模的基础。只要零装配件的输入输出参数一致,产品变型时就可以方便地进行零装配件间的选配变型。

  对于复杂产品,在上述参数传递节点的基础上,以产品建模结构为依据,提出了一个简单有效的变型参数传递结构模型,如图3所示。在该结构模型中,规定参数只允许在产品建模结构中纵向传递,任何横向传递和跳跃式传递都是不允许的,更不允许参数在无结构隶属关系的零装配件之间直接传递。按照此模型建立的参数传递关系,最终形成一个与产品建模结构相似的参数传递树,而不是一个纵横交错的参数传递网。从形状上看,变型产品的每棵参数传递树都是产品建模结构树的一个子结构树。

  

  图3 参数传递树

  需要横向关联的参数应该通过上级装配件参数,甚至产品级参数来实现。图4显示了一般参数传递结构和树形传递结构的差异,以及如何将横向参数传递转变为纵向树形参数传递。从图4可知,没有规则约束的参数传递结构可能会缩短某些参数的传递链长度,如产品级的“轴1直径”直接与零件级的“轴1”关联,这对于简单产品确实不错。但是对于复杂产品,大量的零装配件需要变型且变型关系错综复杂,其产品模型的建立往往需要反复地修改,参数传递结构也需要不断地调整。这种没有约束、没有规律的直接参数传递结构将会成为设计人员的沉重负担,当产品建模结构需要调整或参数传递结构发生错误时,设计人员将很难对这种错综复杂的参数结构进行调整。

  

  图4 参数传递结构比较

  4 产品变型设计方法及其实现

  基于产品的建模结构及其参数传递结构,用户输入客户定制参数就可迅速派生出新产品实例。图5说明了产品的变型设计实现过程。

  从图5中可以看出,客户定制的尺寸参数首先传递给产品级变型参数,然后按照参数传递树传递给各个零装配件的变型参数;对于配置参数的处理,本文不再详细叙述。针对每类产品,其整个变型设计实现分为产品建模实现和变型实现两个阶段。

  

  图5 产品变型设计过程

  4.1 变型产品建模实现

  变型产品建模不仅包括3维模型的建立,而且的变型设计系统时,产品的建模结构层次越多,变型包括参数传递结构的建立。这一过程按照以下步骤进行。

  首先,利用3维设计软件(如Solid Edge)建立零件的3维模型,同时根据零部件的变型分析结果,定义好零件的变型参数;然后,在零件模型的基础上建立部件的3维模型(装配件),同时建立装配件内的参数传递子树,并定义好装配件变型参数;最后,基于所有装配件建立整个产品的3维模型和参数传递树。

  从建模步骤中可以看出,参数传递结构的建立是以产品建模结构为基础的。在Solid Edge中,产品建模的关键技术和参数之间的关联形式主要有以下几种:

  (1)直接赋值 在Solid Edge中,通过直接赋值的形式,把一个参数名或含有参数名的计算公式赋值给另一个变量,实现单个Solid Edge文件内部参数之间的关联。

  (2)复制变量 通过Solid Edge制作的模型文件,通过变量复制和变量粘贴的方式实现不同文件之间的参数关联。这种参数关联方式把一个标志参数的特殊字符串赋值给另一文件中的参数。这个字符串由文件的绝对路径加上文件内参数的惟一标志符组成,通过解读这个字符串来确定被关联参数的取值。这种文件之间的参数关联实现了产品零装配件之间输出参数和输入参数的传递。

  (3)脚本程序语言赋值 Solid Edge软件可以解析VBScript语言,将复杂的计算公式以及条件选择关系用VBScript语言来实现。这使参数关联有了更大的灵活性,同时也可以用VBScript建立变型规则库。不同的脚本文件代表了不同的变型规则,通过选择不同的脚本文件来实现变型规则的选择。由于篇幅有限,本文对变型规则库的建立和维护不再赘叙。

  (4)零装配件的阵列 在建模过程中,相同的特征可以很简单地通过阵列来实现。零装配件阵列需要借助零件的局部特征,在装配件中以阵列的零件特征作为定位基准,实现零装配件的阵列。零装配件的阵列结合VBScript语言控制,就可以实现相同零装配件的数目配置。

  4.2 变型实现

  采用VB语言对Solid Edge进行二次开发来实现产品变型。首先加载Solid Edge的类型库,通过对象链接与嵌入(Object Linking and Embedding,OLE)实现对模型文件的访问;然后用VB的CreatObject()或GetObject()函数来获取Solid Edge的程序对象objSEApp,用objSEApp.Documents.Open()打开产品模型,或通过objSEApp.ActiveDocument取得模型文件对象。通过Set Variables—obiSEApp.ActiveDocument.Variables提取模型文件的自定义变型参数对象,并进一步访问模型文件中变型参数的参数名、值和计算公式。只要建立合适的建模结构和参数传递结构,通过赋值操作可以实现对产品的尺寸变型和相同零装配件数目配置。

  零装配件的选配只能通过替换来实现。在VB中,首先要实现对替换零装配件的定位,通过Document.Occurrences.Count取得产品中的零装配件总数,然后用Occurrences.Item(i).OccurrenceDocument.Name取得所有零装配件的文件名。对于子装配件,需要采用递归调用,通过判别文件名取得需替换零装配件的文件对象,用Occurrences.Item(i).Replace实现零装配件的选配。

  为使选配的零装配件能正确地装配到产品中,选配的零装配件和原有的零装配件必须有相同或相似的装配特征和相同的输入输出参数。而且在建模时,其装配特征必须方向相同即选配的零装配件和原有的零装配件在绝对坐标重合的条件下,其装配特征可以通过平移使之重合,而无需做镜像、旋转等其他操作。

  5 应用实例

  剑杆织机是纺织工业中普遍使用的先进纺机产品,根据用户的不同的纺织面料生产需要,经常需要改变织机的一些配置,以及进行筘幅调整等。通过变型分析,确定剑杆织机的主要尺寸变型参数为机架长度、传速齿轮齿数、连杆装配位置、纬密棘轮齿数、墙板厚度和上横梁间距等;确定的主要配置参数为电动机、电控箱、停经装置等零部件的型号。当机架长度不同时,轨道片和机架撑脚等零部件需要按照设计人员定义的配置规则自动配置不同的数目。

  剑杆织机产品的参数传递结构如图6所示。每一个产品级变型参数都会形成一棵参数传递树,而一个复杂产品往往包含多个产品级变型参数,因此其参数传递结构往往是几棵参数传递树交错重叠在一起的。

  

  图6 剑杆织机产品参数传递结构(部分)

  图7给出了剑杆织机的变型实例,设计人员从变型规则库中选择变型规则后,通过选择或输入各个变型参数,就可以产生新的剑杆织机实例。通过生成的BOM可以浏览变型产品的配置情况。

  

  图7 剑杆织机变型实例

  6 结束语

  本文以Solid Edge为设计环境,研究了复杂产品3维变型设计的原理和方法,给出了复杂产品的变型实现方法。通过对参数化计算机辅助设计(Computer Aided Design,CAD)系统Solid Edge的二次开发,并结合OLE技术,在产品建模结构和参数传递关系树的基础上,实现了对复杂产品的变型设计。目前,笔者正对复杂产品变型实现方法进行进一步优化,并结合产品数据管理(Product Data Management,PDM)系统实现基于产品主模型的变型产品集成数据管理系统。