你目前的位置:主页>>Solidworks>>>>相关知识
 
             部件级三维参数化cad系统的开发

    摘要:产品的参数化设计是cad技术研究的重点之一,也是企业信息化工程的重要组成部分。提出了在solidworks平台上运用高级编程语言建立产品部件的三维参数化cad系统的方法,并介绍了系统构建中一些关键技术。

    关键词:solidworks;参数化cad系统;visualbasic

    1 前言

    为了提高产品的设计质量和设计效率,提高企业快速响应市场的能力,多年来,许多企业一直致力于产品参数化设计的研究。利用计算机技术生成产品的参数化cad系统,可以避免大量的重复劳动,从而极大地提高产品的设计效率,缩短产品的研发或改型时间。

    三维机械设计软件的出现使产品的参数化设计产生质的飞跃,solidworks就是优秀的三维参数化设计软件之一。它不仅可以方便地生成三维实体并可自动生成二维工程图,同时其三维实体与二维工程图信息全相关。其中任意一方的更改都会引起另一方相应信息的自动更新,从而解决了以往二维软件尺寸与图形脱节的问题。此外solidworks不仅能让设计者所见即所得地看到设计的结果,而且能进行装配体的干涉检查等。其强大的三维参数化功能为产品的参数化cad系统的开发提供了有力的支持。

    2 系统的软硬件环境及创建流程

    2.1 相关软硬件环境及编程语言

    (1)硬件环境:奔ⅳ以上的cpu,内存256m以上,显存128m;
    (2)软件平台:windows2000或windowsxp,solid works2003;
    (3)编程语言及数据库技术:visualbasic6.0,mi crosoftaccess2000;

    2.2 系统创建的流程

    (1)分析产品的结构,进行尺寸分类;
    (2)产品部件的建模;
    (3)建立必要公差的数据库;
    (4)编制控制程序;
    (5)将系统目录添加到solidworks菜单。

    3 系统的具体实现技术

    3.1 尺寸的分类原则

    部件参数化的关键是将尺寸进行合理地分类,分类依据是产品设计时尺寸的不同功能。由此筛选出主动尺寸和从动尺寸。主动尺寸是可以自主变化的尺寸,从动尺寸是随其他尺寸变化而变化的尺寸。其中主动尺寸又分为外部主动尺寸和内部主动尺寸,前者是指为满足来自产品外部或者产品内部其它部件间的约束关系而需自主变化的尺寸,后者是指部件内部自主变化的尺寸。主动尺寸越多系统的柔性越大,但用户需要输入的尺寸也越多,系统的自主性越低;反之,从动尺寸越多,系统的傻瓜化程度越高,但系统的柔性降低,适应性较差。因此,分类的原则是在满足基本设计要求的前提下,尽量减少主动尺寸的数量。

    3.2 部件的建模技术

    建模是系统实现的关键,solidworks提供了自顶向下与自底向上2种方法。笔者采用的是以自顶向下为主自底向上为辅的建模方法,主要零件均在装配体环境下自顶向下关联建模。这样使部件的各组件可以相互参照,大部分的关联关系都由系统自动添加,一些无法由系统直接添加的关联关系再通过添加方程式一一添加;部件中用到的标准件直接运用标准件库中事前建立的标准件,直接装配到装配体中,以尽量减少常用件的重复建模过程。

    3.3 编程语言的选择及实现技术

    solidworks自动录制的宏程序是用vb编制的,所编制的宏程序可以直接嵌入到solidworks的菜单下。为了尽可能少的编写代码。可选用visualbasic作为编程语言。具体实现方法:在部件建模完成后,新建一宏文件,在该宏文件内编写代码,由于装配体内的名称很多,有时很难确定代码操作的对象,可以先通过在模型文件内对相应的对象做相关的操作并录制宏文件,将需要的代码从录制的宏文件里复制到刚建的宏文件内,将主动尺寸及一些公差的实值转换成变量,利用solidworks中相关的api函数及数据库知识,将变量链接到用户的输入窗口及数据库中,并编写模型重建及保存设计结果的代码。此外,利用vb建立与用户交互的一系列窗口,完毕后将该宏文件插入到solidworks的某一菜单即可使用。

    3.4 尺寸隐藏/显示及零件的闪烁技术

    部件通常由多个零件组成,每个零件又有很多尺寸,显示在装配体上往往是密密麻麻,不易分辨清楚,给用户操作带来不便。为了让用户能迅速明了需要输入的是什么尺寸,应采取相应的措施。通过编程控制尺寸的显示与隐藏,当要求用户输入某一尺寸时,该尺寸会显示在三维装配体模型上,而其他的尺寸均隐藏起来;同时为了让用户明白要输入的尺寸是哪个零件的尺寸,这个零件在相关尺寸出现时能不断闪烁以示与其他零件的区别。其中使颜色变化的代码如下:

pausetime=0.5、设置暂停时间。
  start=timer、设置开始暂停的时刻
  number=0
fornumber=0to10

  if(numbermod2=0)thenpart.selectbyid”短导柱-1@塞拉门左门承载部件”,”component”,0,0,0:part.andselectbyid”短导柱—2@塞拉门左门承载部件”,”component”,0,0,0

doevents
  if(numbermod2=1)thenpart.clearselection
doevents
dowhiletimer<start+pausetime
  loop
  start=timer
nextnumber

    3.5 系统应用程序菜单添加技术

    应用程序的生成环境有2种:(1)在solidworks自带的visualbasic环境下编程,这种环境下生成的宏程序可以直接添加到solidworks界面已有的菜单下,具体方法是先将该宏文件保存在solidworks所在目录下的macros文件夹下,再通过solidworks的工具菜单下的自定义菜单将该宏文件添加到某一菜单;(2)在独立的visualbasic环境下编程,将所需的solidworks库文件引用到程序中,编写所需的参数化代码,同时运用solidworksapi函数中的添加新菜单函数编写添加到solidworks界面的新菜单代码,将应用程序生成dll文件,再将其作为solidworks的一个插件加入到solidworks界面。

    4 结语

    企业如何实现产品的参数化设计,多年来一直是企业及科研院所探求的重要课题。随着三维机械设计软件的异军突起及不断完善,基于三维实体的参数化cad必将成为业内人士研究的焦点。所实现的部件的参数化cad系统虽然确实能为企业某一方面的设计起到一定的作用,但系统的功能还不够强大,离整个产品的参数化还有相当的距离,今后,仍将需要不断地探索,力求完善。

参考文献:
[1]邢启恩,等.solidworks2001中文版实用技术精粹[m].北京:清华大学出版社,2002.
[2]陈岳坪,等.用visualc++开发solidworks的关键技术[j].机械与电子,2002(2):18-21.
[3]刘长荣,等.齿轮实体参数化造型系统的开发[j].机械科学与技术,2002,(6):1034-1036.

版权所有     民众工作室.制作