设为首页 | 加入收藏 | 联系我们 | 内部邮箱

SolidWorks二次开发精确草绘问题的分析与探讨

时间:2014-07-14 15:11来源:万方数据 作者: 点击:
  文章针对SolidWorks软件编程法二次开发进行研究,分析了开发过程中草绘的误差机理及其对建模的影响。对于编程法的草绘失败问题,提出了二次开发环境下的草绘中微小尺寸、误差产生的微小间隙和复杂计算问题的解决方法。对于复杂模型的二次开发问题,以带式输送机的建模为例提出了一种新的“块操作”的编程草绘方法,有效地减少了草绘误差,避免了复杂计算,取得了较好的效果。

0 引言
    基于SolidWorks平台的二次开发是一种基于CAD/CAM软件平台的二次开发。这种方式使得软件开发人员不必编写复杂繁多的基本绘图函数,而只需要调用SolidWorks API函数来实现图形的参数化设计,提高了软件开发效率,缩短了开发周期。目前,基于SolidWorks的二次开发方法主要有编程法和尺寸驱动法两种。编程法是调用SolidWorks API函数直接由程序生成模型,该方法不需要模型库的支持,适合生成变参数较多的模型,程序的可移植性较好,但是对开发人员的编程技术要求较高;尺寸驱动法是一种修改零件模板的方法,将模板尺寸设为变量,通过尺寸驱动的方法修改模型,程序的运行实质是对模板的更新。该方法较为简单,不需要开发人员掌握很多API函数,但对模型库的依赖性极高,适合于与数据库操作技术相结合进行机械零件库的开发设计。
    在带式输送机整机三维设计中,通过分析输送机虚拟样机装配中的主次要关系可知,输送机的侧型布置决定了各零/部件的装配位置与规则,是输送机虚拟样机装配的关键所在,其自动化装配的实现取决于输送机侧型布置的精确建模。输送机侧型布置形式较多,主要为上运、下运、凸弧、凹弧和凹凸弧以及重锤张紧等,且每种侧型的变参数多,使用编程法对其进行参数化建模是个复杂的过程,在编制程序时会出现较多问题。本文就Visual Basic 6.0集成开发环境下SolidWorks的参数化设计中出现的草绘误差与其造成草绘和模型特征失败的问题进行分析探讨,提出合理的建模方法。
1 草绘误差机理的分析
    SolidWorks提供了几何关系捕捉功能,可以捕捉到草图的中点、端点和交叉点等特殊点以及相切、垂直、平行等几何关系完成线段的草绘。无论是在SolidWorks草绘环境中,还是在二次开发环境中,对象捕捉功能都可以帮助设计人员快速完成草绘,但也存在功能弊端。在SolidWorks二次开发过程中,开启对象捕捉功能使得系统错误地捕捉目标点区域内已经存在的点或是特殊点(如原点、中点、端点和交叉点等等),而不能按照程序给定的点坐标参数来捕捉。开发人员在必要时必须关闭对象捕捉功能才能驱动程序正常地完成草绘。输送带矩形截面草绘如图1所示,图1所示的输送带矩形横截面草绘,带宽为500mm,带厚为10mm。使用程序进行草绘,开启对象捕捉功能时,系统会错误地捕捉到右端同一点致使草绘失败。

    图1  

    但在对象捕捉功能关闭状态下对SolidWorks二次开发存在草绘误差,主要表现为点的坐标误差,能否正确地捕捉到某一点的坐标是生成草图进而完成特征创建的关键。使用底层API进行程序绘制时,往往因为点点之间的微小间隙使得草图中包含开环轮廓,造成放样、扫描等特征创建的失败。经过分析发现,这种点点间的微小间隙是由点的坐标误差引起的。SolidWorks草绘环境下的草绘测试证明,当两点间的间隙小于0.00001mm时,系统自动将两点合并,即默认两点为相同点。若两点为不同线段的端点,则该两条线段为闭合的。而二次开发环境下,关闭对象捕捉功能时,即使变量是Double Precision(双精度)类型也不能使两点合并。在基于VB编程环境下,造成这种间隙误差的因素主要有以下几方面。
    1)VB中变量类型产生的表示误差。VB支持的标准Numeric数据类型有Integer(整型)、Long(长整型)、Single Precision(单精度)和Double Precision(双精度)4种。不同的数据类型具有不同的计算和存储精度。变量类型的错误定义还将直接影响到设计的参数化。这就要求在尺寸计算过程中仔细分析计算方法并选择合理的数据类型。一般情况下,多数选择双精度数据类型。
------分隔线----------------------------