3 零部件参数化建模
3.1 SW三维系统参数层级划分
零部件三维参数化设计所涉及的参数很多,如果不对参数进行分级处理,就会出现一些用户不需要的参数也由用户来修改,使用起来很不方便。为此本文采用参数分级手段来简化参数,把用户不关心的尺寸参数封装起来,并将参数划分为主动参数、从动参数和通用参数等3种类型。
主动参数是指系统提供给用户并允许用户修改的参数;从动参数是指在设计过程中由SW方程式计算得到的参数;通用参数是指通过查阅相关资料得到的标准参数,也就是一般不需要变化的参数。3种参数之间可以形成某种函数关系。
3.2 基于SW的零部件参数化建模方法
3.2.1程序驱动直接建模
程序驱动直接建模是指开发程序软件与SW建立联系,程序调用SW API函数,设置模型的主动参数,直接建立零件并且自动装配,其流程如图2所示。
图2 程序直接驱动建模流程图
3.2.2 关联驱动建模
关联驱动建模是指首先在SW中建好模型,建立主动参数和从动参数之间的方程式关系,然后编写程序驱动主动参数,使从动参数关联改变,最后生成用户所需的模型,其流程如图3所示。本文基于第2种参数化建模方法,提出了一种产品零部件个性化设计方案。
图3 关联驱动建模流程图
4 零部件个性化设计思路
零部件个性化设计主要包括零部件外形尺寸变化、个性化零件自动更换及其外观参数自由选择。本文通过VC++6.0开发一个集成上述3种功能的个性化设计平台,功能由编写的专用类来实现,并且将此平台通过插件的形式与SW结合起来,方便用户的使用。主要设计流程为启动平台,选择产品,设置参数,经过程序后台优化设计,得到最终想要的结果,其设计流程如图4所示。
图4 个性化设计流程图
外形尺寸变化主要是通过在零件建模和装配过程中设置主动尺寸、从动尺寸以及二者之间的方程式关系。通过平台调用SW API 函数IModel-Doc2:: IParameter()和Dimension:: SetSystemValue2(),驱动主动尺寸,实现外形尺寸关联变化。
个性化零件大多属于非标准件,所以在其更换前应完成零件的设计,将其存储于零件库中,并将零件的个性属性、完全路径等参数存储在Access数据库中。个性化零件自动更换主要由SW装配功能中的“替换零/部件”子功能来实现,关键技术是遍历技术。平台通过遍历FeatureManager设计树,来定位需要更换的零件,并调用SW API函数AssemBlyDoc:: ReplaceComponents(),驱动“替换零/部件”功能,完成零件的更换。在更换完毕后,再调用函数EquationMgr: Add2()和EquationMgr::Put:_Equation(),设置个性化零件从动尺寸与装配体主动尺寸之间的方程式关系,实现装配尺寸关联。
个性化零部件外观参数自由选择主要是将MFC颜色选择对话框集成在个性化设计平台上,用户根据个人喜好选择颜色,并通过平台调用函数Configuration:: SetColor(),驱动SW设置该零件的颜色属性配置,实现颜色的变换。上述3项功能既可以单独实现,也可以同时实现。