基于VB的SolidWorks自动装配技术研究

2014-11-19 易炳刚 深圳市特种设备安全检验研究院

  利用SolidWorks及其提供的API函数,以Visual Basic 6.0为开发环境实现自动装配过程中面的遍历技术、选择命名技术以及添加配合技术,这些技术可完成机械产品CAD的自动装配。以带式输送机驱动滚筒为例具体说明自动装配过程的程序实现。

1、SolidWorks二次开发技术

  1.1、SolidWorks二次开发机理

  SolidWorks提供了二次开发接口API 函数(Application Program Interface应用程序接口),能使用户在该软件的基础上开发出新的功能模块,满足特定的需求。为了能应用高级语言通过调用API成员与SolidWorks应用程序的对象成员进行交互,首先应声明和实例化SolidWorks API最高层对象以及声明和实例化一个文档对象,一旦应用程序对象和文档对象被实例化,这些API的对象成员就可以被访问了。SolidWorks API结构图如图1所示。

SolidWorks API结构图

图1 SolidWorks API结构图

  在进行SolidWorks二次开发过程中可以通过录制宏获得相应的命令函数代码,宏代码与Visual Basic代码十分相似,只需要将其稍作变动就可以应用在Visual Basic 代码中。因此应用Visual Basic 对SolidWorks进行二次开发有着得天独厚的优势。

  1.2、SolidWorks二次开发方法

  SolidWorks参数化设计主要有3种方法:①利用SolidWorks添加“配置”生成一组新参数下的模型;②在内嵌的Excel工作表中指定参数,通过编辑系列零件表,即可生成系列零件;③通过SolidWorks提供的API接口函数,利用高级语言(如Visual Basic、VisualC++、Delphi等)编写相应程序实现参数化设计。

  利用SolidWorks添加“配置”需要建立大量的模型,然后通过压缩放置在装配体中。此种方法在进行零部件自动装配时会出现整个装配体失效现象,复杂的装配体一般不采用此种方法。与添加“配置”相比内嵌Excel表存在明显优势,它只需将不同零部件的结构尺寸添加到装配体生成的Excel表中,但是对于结构比较复杂的零部件需要大量参数,此方法比较适合标准零部件模型的参数化设计。而利用高级语言对SolidWorks进行底层二次开发,可以实现API应用程序接口驱动SolidWorks本身自动建模、装配。且利用高级语言编辑的人机界面很容易与设计者进行交互,并且通用性、灵活性较好,适合专业CAD系统的参数化设计。

2、自动装配的关键技术

  自动装配过程主要包括以下几个步骤:新建装配体、插入零部件;添加配合关系;检查干涉;完成装配并保存。自动装配流程图如图2所示。

  2.1、新建装配体、插入零件

  开始自动装配之前需激活SolidWorks文档、新建装配体文档,利用swApp.ActiveDoc来激活SolidWorks文档,swApp.NewAssembly()新建装配体文档。向装配体插入零部件之前,必须将该零部件装入内存,否则无法将零部件插入装配体。首先利用OpenDoc6函数先将要插入的零部件打开即装入内存,再利用AddComponent函数将零部件添加到装配体中,然后再利用函数CloseDoc将其关闭并回收到内存空间。

自动装配流程图

图2 自动装配流程图

4、结论

  以VB为开发语言,应用SolidWorks API接口技术对SolidWorks进行二次开发,应用遍历面技术可实现零部件的精确自动装配,从而可实现机械产品的参数化设计,提高设计质量和效率。