您的位置:网站首页 > Solidworks

基于SolidWorks的三次开发方法研究

时间:2010-06-02 08:00:00 来源:

    实现这个长度关系有两种方法:

    (1)编程实现

    可以按照如下步骤设定弯头半径和管道直径的关系:

    ①使用ModelDoc2 对象的子对象Annotation 中的GetDimension函数获得管道直径参数。

    ②使用ModelDoc2 对象中的SetParamValue 方法设定弯头直径值为管道直径的1. 5 倍。

    这样就设定了弯头直径和管道直径的关系。

    (2)使用方程式实现

    方程式是SolidWorks 提供的一种重要的尺寸约束关系,在零部件尺寸实现参数驱动后,可以使用尺寸名称作为变量添加方程式。当在装配体中使用方程式时,可以在零件之间、零件和子零部件之间,以配合尺寸来生成方程式。

    使用方程式可以轻松地实现这个数学关系,同时又使用户日后可以很方便地进行修改。在图2 中,两个弯头可以由下面两个方程式进行控制:

    “D2@ 草图2”=“管子外径@ 草图1”× 1. 5

    “D2@ 草图4”=“管子外径@ 草图1”× 1. 5

    可以看出,与第一种方法相比,用方程式控制可以不必关心程序代码,直接在SolidWorks 中实现数学关系的添加和修改。例如有些管路根据经验要求弯头直径是管道直径的2 倍,因为这样一个微小的变动而修改整个程序对于用户来说将非常困难,使用方程式则只需在SolidWorks 选择“ 编辑方程式”,将系数1. 5 改成2 即可。

    另外值得一提的是,使用方程式和配置一起配合使用,可以极大地简化零部件的复杂程度。如图2 所示,整个管道是由拉伸-薄壁1、拉伸-薄壁2、拉伸-薄壁3、旋转-薄壁1、旋转-薄壁2 五部分组成,其中拉伸-薄壁1 的壁厚是配置中定义的,其余四部分没有建立配置,其壁厚可以由如下方程式来控制:

    “D5@ 拉伸-薄壁3”=“管子壁厚@ 拉伸-薄壁1”

    “D3@ 旋转-薄壁2”=“管子壁厚@ 拉伸-薄壁1”

    “D5@ 拉伸-薄壁2”=“管子壁厚@ 拉伸-薄壁1”

    “D3@ 旋转-薄壁1”=“管子壁厚@ 拉伸-薄壁1”

    这样既减少了资源开销,又方便用户自行进行变更和控制。

    1.3 使用压缩的方法处理不同拓扑结构问题

    拓扑问题一直是CAD 软件中的重要问题,用户在设计过程中也常常遇到这样的需求。

    如图3 所示,在空气分离设备中氮氧分离设备( 左)上部要安装气缸(右),常用的气缸有QT100 和QT200 两个型号,根据设备尺寸的不同进行选择。


    通常氮氧分离设备直径小于1 500mm 时使用QT100,当直径大于1 500mm 时采用QT200,可以用如下两种方法解决这个问题:

    (1)编辑实现

    可用如下步骤编程实现:①使用SolidWorks 对象的Open-Doc6 方法加载氮氧分离设备文件。②根据氮氧分离设备直径判断需要选择的气缸类型,并加载相应文件。③使用Model-Doc2 对象里的AssemblyDoc 子对象中的Mate2 方法将两个部分装配在一起。

    (2)压缩实现

    压缩是暂时将零部件从装配体中移除(而不是删除)。它不装入内存,不再是装配体中有功能的部分。

    这里选用SolidWorks 的压缩功能而没有使用轻化或者隐藏,主要是考虑在对零部件进行压缩之后,该零部件包含的配合关系也被压缩,这样在同样的位置装配两个类似的零部件,只要其中之一处于压缩状态,则另一个完全不受影响。而轻化或者隐藏是部分零部件模型数据装入内存,其余的模型数据根据需要装入,这样会导致当一个零部件处于当前状态时,被轻化或者隐藏的零部件仍然有部分信息处于当前状态,造成信息混乱和编辑困难。

    在绘制如图3 所示三维图形时,将两种气缸都装配在氮氧分离设备顶端并都处于压缩状态,设计过程中,用户根据需要选择一种气缸之后,程序解除该气缸的压缩状态。如果设计变动,需要选用另外一种气缸,那么用户可以很方便地删除当前气缸,将另一种气缸从压缩状态中释放出来即可。以此类推,当设计者开发出更多新型号的气缸后,只需要在氮氧分离装置顶部装配新的气缸并处于压缩状态,待程序生成整套设备后,根据需要选择每种气缸的压缩状态。

    另外,实际设计过程中,根据经验往往需要对气缸的选择标准进行调整。例如对于不同纯度的要求,往往可以灵活选用,在氮氧分离设备直径大于1 500mm 时仍然选择QT100。

    这样的情况给程序设计带来困难,用户无法修改程序代码调整这个尺度,而采用压缩的方法可以有效地解决这个问题。

    1.4 使用Access 数据库便于用户修改

    作为具有GUI 的设计软件,总是不可避免地要用到数据库。例如在工业制氧机产品设计界面上,主管路设计中的“ 公称通径型号”,AC 和CG 选型中的“AC 型号”、“AC 冷干机型号”和“CG 型号”等需要下拉菜单的控件都需要数据库的支持,这里为了最大限度地降低用户日后修改的难度,避免采用SQL Server 等中型以上的数据库,而是选用Access 数据库。程序通过DAO 调用Access 数据库中的相关表格,当用户需要添加新的下拉菜单内容时,只需要打开程序的Access 文件,在相关的表中进行添加即可。

    例如在Access 中对每个下拉菜单都有相关的表支持,对于图4 中AC 和CG 选型下拉菜单,Access 中有表格“ACCG”相对应,存储着从AC1. 2 至AC97 等17 行数据。当用户需要添加新的AC 类型时,只需要在Access 中添加新的一行数据,即可反映在设计界面的下拉菜单中,方便了用户对AC 设备库进行升级和补充。

    综合以上四种方法,一个总的原则就是:让程序最小限度地参与到设计中来,为用户提供最大的方便以及自由设计和修改的空间。


    2 结论

    本文详细介绍了在SolidWorks 二次开发完成后,如何留给用户一个三次开发空间的若干种方法。这是个很有意义的研究领域,使二次开发软件保持长久的生命力,同时最大限度地节省用户的开发和维护成本。而如何更大程度地给用户开放自由发挥的空间,还有待于进一步的研究。