当前位置:研发设计首页 >> 软件世界 >> 达索系统 (CATIA SOLIDWORKS...) >> SOLIDWORKS >> 基于SolidWorks的产品零部件个性化设计
基于SolidWorks的产品零部件个性化设计
2017-04-06 20:03:00  作者:张郭勇   来源:互联网
  •   工业革命之后,依靠以标准化为基础的大批量机器生产模式迅速占领市场,满足了消费者对产品的大量需求。然而,随着科技的迅猛发展,产品的生命周期越来越短,消费需求也正在迅速地变化和分化。随着信息化时代 ...

  工业革命之后,依靠以标准化为基础的大批量机器生产模式迅速占领市场,满足了消费者对产品的大量需求。然而,随着科技的迅猛发展,产品的生命周期越来越短,消费需求也正在迅速地变化和分化。随着信息化时代的到来,人们对于产品设计提出了更高的要求,标准化的设计已不能满足消费者个性化的需求。企业要想赢得市场,就应加强对消费者需求的理解,对多元化需求做出有力的对应,开发出高效、可行的产品个性化设计平台,以个性化的产品回馈社会,才能更好地营造并保持市场优势。目前,产品个性化设计的主要思路是在定型产品的基础上针对某些个性化零部件结合消费者意愿进行外形、外观的修改,以满足消费者的个人喜好。对于应用上述思路并且结合三维设计软件开发的产品零部件个性化设计平台还比较少见。

  基于此,提出以SolidWorks和Access为支撑平台,利用VC++6.0对SolidWorks进行二次开发,开发一种使得产品外形尺寸参数化设计,个性化零部件自动更换及其外观参数任意选择的个性化设计平台。

  1 SolidWorks二次开发关键技术和方法

  1.1 SolidWorks二次开发的关键技术

  SolidWorks(以下简称SW)二次开发的技术主要有2种;1)基于OLE技术,可以开发exe形式的程序;2)基于COM技术,可以生成*.dll格式的文件,作为SW的插件在SW中被加载运用。本文研究采用第2种开发技术。

  1.2 使用ATL对象向导进行二次开发

  ATL即活动模板库,支持利用C++语言编写ASP代码以及其他 ActiveX程序。通过活动模板库,可以建立COM组件,然后通过ASP页面中的脚本对COM对象进行调用。

  利用ATL开发SW之前,应将SW API SDK解压缩并根据向导安装,然后在VC++6.0中选择ATL COM Wizard 创建动态链接库,加入相关代码,编译生成动态链接库(*.dll)文件。此方式可在SW插件管理器中生成插件,并以菜单形式自动添加新建或打开的视图中,以完成特定功能。

  1.3 数据库的建立和链接

  本文需要使用个性化零部件的几何、属性等数据,在研究中运用数据库可以使对数据的访问和操作更加安全方便。在本文中数据库采用Access,使用ODBC接口访问数据库。

  ODBC接口通过操作平台的驱动程序与应用程序的交互来实现对数据库的操作,避免了在应用程序中直接调用与数据库相关的操作,从而使数据库保持了独立性。

  2 个性化设计平台总体结构

  本文开发的个性化设计平台主要功能为实现产品外形尺寸参数化设计,个性化零部件自动更换及其外观参数任意选择,因此,个性化设计平台由操作界面、参数化建模和数据库等三大部分组成,各部分的运行及其相互间的联动由后台程序完成,后台程序由各专用功能类组成。平台操作界面主要为人机交互界面,集成了个性化设计的全部功能。参数化建模主要实现零部件参数的更改及模型的建立。数据库主要存储个性化零件规格及其几何、属性等数据,以方便平台调用。平台总体结构如图1所示。

  

1

  图1 平台总体结构图

  3 零部件参数化建模

  3.1 SW三维系统参数层级划分

  零部件三维参数化设计所涉及的参数很多,如果不对参数进行分级处理,就会出现一些用户不需要的参数也由用户来修改,使用起来很不方便。为此本文采用参数分级手段来简化参数,把用户不关心的尺寸参数封装起来,并将参数划分为主动参数、从动参数和通用参数等3种类型。

  主动参数是指系统提供给用户并允许用户修改的参数;从动参数是指在设计过程中由SW方程式计算得到的参数;通用参数是指通过查阅相关资料得到的标准参数,也就是一般不需要变化的参数。3种参数之间可以形成某种函数关系。

  3.2 基于SW的零部件参数化建模方法

  3.2.1程序驱动直接建模

  程序驱动直接建模是指开发程序软件与SW建立联系,程序调用SW API函数,设置模型的主动参数,直接建立零件并且自动装配,其流程如图2所示。

  

2

  图2 程序直接驱动建模流程图

  3.2.2 关联驱动建模

  关联驱动建模是指首先在SW中建好模型,建立主动参数和从动参数之间的方程式关系,然后编写程序驱动主动参数,使从动参数关联改变,最后生成用户所需的模型,其流程如图3所示。本文基于第2种参数化建模方法,提出了一种产品零部件个性化设计方案。

  

3

  图3 关联驱动建模流程图

  4 零部件个性化设计思路

  零部件个性化设计主要包括零部件外形尺寸变化、个性化零件自动更换及其外观参数自由选择。本文通过VC++6.0开发一个集成上述3种功能的个性化设计平台,功能由编写的专用类来实现,并且将此平台通过插件的形式与SW结合起来,方便用户的使用。主要设计流程为启动平台,选择产品,设置参数,经过程序后台优化设计,得到最终想要的结果,其设计流程如图4所示。

  

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项功能既可以单独实现,也可以同时实现。

  5 设计实例分析

  本文以床头柜的个性化设计为例,说明如何按照上述方法实现零部件的个性化设计。床头柜的外形参数主要为其长、宽、高、板材厚度以及抽屉尺寸,个性化零部件为抽屉的把手。根据上述方法将实现尺寸的参数化设计,把手自动更换及其颜色的自由选择。

  上述功能的实现主要由CSwObj(VC++与SW连接类)、CSwTestDlg(平台界面操作类)、CMyRecordset(VC++与Access数据库连接类)和CConfig(个性化功能操作类)等4个类实现。

  启动SW,运行平台,平台界面如图5所示。选择并打开模型,视图中出现设计前的床头柜模型(见图6)。模型中把手为圆把手,把手颜色为黑金属色。在“更换把手规格”界面中选择方把手,确定后把手自动更换。在“设置把手颜色”界面中选择红色,确定后把手颜色变为红色。在方程式文本框中输入把手配合长度与板材厚度之间的方程式,点击“添加方程式”按钮,方程式即添加成功。在尺寸参数设置栏中输入设计所需参数后,点击“尺寸驱动”按钮,模型自动变化,得到想要的个性化设计结果,设计后模型如图7所示。

  

5

  图5 个性化设计平台界面

  

6

  图6 设计前床头柜模型 图7 个性化设计后的模型

  6 结语

  基于SW平台,使用VC++6.0对SW进行了二次开发,并结合Access数据库,编写了针对床头柜外形参数以及把手规格和外观参数的个性化设计平台,实现了本文提出的个性化设计的方法,对于将个性化设计与消费者需求结合起来开展了有意义的尝试,提高企业产品的市场竞争力具有重要意义。



版权所有:智造网 京ICP证100778号 京公网安备110102003025 虚假新闻举报电话:010-88379107