您的位置:网站首页 > Solidworks

基于SolidWorks的液压阀块的设计研究(二)

时间:2010-11-14 23:09:05 来源:

Visual Basic指的是开发图形用户界面(CGD的方法。不需编写大量代码去描述界面元素的外观和位置,而只要把预先建立的对象拖放到屏幕上的一点即可。如果已使用过诸如Paint之类的绘图程序,则实际上已掌握了创建用户界面的必要技巧。Basic指的是BASIC(Beginners ALL-Purpose Symbolic Instruction Code,符号指令代码入门)语言,一种在计算技术发展历史上应用得最为广泛的语言。Microsoft公司创始之初,Bill Gates就开始使用BASIC语言来编写应用程序,Visual Basic在原有的BASIC语言基础上进一步发展而来的,是运行在Windows环境下的一个可视化编程语言,提供了开发Windows应用程序的编程环境。Visual Basic语言规则简单,不似其他的高级语言(如c++、Delphi等)那么复杂,但它的功能很全、使用简捷,用户只需掌握几个关键词就可以开始建立实用的应用程序。使用Visual Basic,用户不需编写大量代码去描述界面元素的外观和位置,只要把预先建立的对象拖放到屏幕上即可[30]。

Microsoft十分钟情于Visual Basic语言。他们不仅在0mCe套件中嵌入Visual Basic代码,使之可以完成一定的任务(这种技术被称之为Microsoft ForApplication或VBA),同时还在IE4.0以上版本的浏览器中支持VB Script(这是一种Visual Basic语言的简化版本,用于在网页上执行一定的功能),利用Visual Basic还可以开发出动态服务器主页(Active Sever Page)和SQL Sever与IIS结合在一起可以组建大型复杂的网站。学会了Visual Basic,就几乎等于同时学会了以上的各种技术。从开发个人或小组使用的小工具,到大型企业应用系统,甚至通过Intemet的遍及全球的分布式应用程序,都可在VisualBasic提供的工具中各取所需。Visual Basic具有不可取代的简单易用性和真正的“所见即所得”特性。使用Visual Basic来开发软件,开发周期短,代码效率高[31]。

基于Visual Basic的上述优点,本次设计选用Visual Basic6.0作为开发编程语言,通过AetiveX与SolidWorks进行通信,调用SolidWorks的API函数设计系统。

2.4.2 Visual Basic开发SolidWorks的基本原理

SolidWorks支持ActiveX Automation技术,VB环境下建立的客户程序可以直接访问SolidWorks中的对象。ActiveX Automation是Microsoft公司提出的一个基于COM(Component Object Model)的技术标准,是以前的OLE(Object Linking andEmbedding)技术的更高层次的发展,ActiveX Automation被开发出来的原因就是需要协调不同的应用程序。

Windows本身准许同时运行多个应用程序,AcfiveXAutomation准许这些应用程序互相通讯[30][31]。每个应用程序可以决定哪些信息和功能可以公布或者暴露给系统上的其它应用程序。虽然ActiveXAutomation总是在两个应用程序之间安排对话,但是这个对话不是双向的,也是不平等的。ActiveX Automation程序的每一块都包括两个程序,起不同的作用,客户机是开始对话的应用程序,服务器是响应客户机的应用程序。代码在客户机上运行,而这个代码所控制的动作由服务器执行。在这里将SolidWorks理解为一个服务程序,把二次开发工具的VB程序作为客户程序,它们之间是服务器与客户的关系。用户只要在VB上进行操作,VB就驱动SolidWorks完成相应的工作[321。SolidWorks为二次开发提供了大量的API对象,这些对象涵盖了全部的SolidWorks的数据模型,通过对这些对象属性的设置和方法的调用,就可以在用户自己开发的DLL中实现与SolidWorks相同的功能。

SolidWorks中常用的主要ActiveX Automation对象有SolidWorks BodyParametcr、Sldworks、Part、Face和Feature对象等。Sldworks对象为vB对SolidWorks工作环境进行访问处理提供了接口。通过此对象可以对SolidWorks工作环境添加菜单、删除菜单、添加工具条、打开文件、新建文件、退出SolidWorks系统。用VB调用SolidWorks中的API函数,还可以完成零件的建造和修改;零件各特征的建立、修改、删除和压缩等各项控制;零件特征信息的提取,如特征尺寸的设置与提取,特征所在面的信息提取及各种几何和拓扑信息;零件的装配信息;零件工程图纸中的各项信息等。

对SolidWorks进行二次开发,本设计采用的开发方法是用人机交互形式建立模型,设置合理的设计变量,再通过VB程序驱动设计变量实现模型的更新,这种方法编程较简单,通用性好。

2.5参数化设计

2.5.1参数化设计概述

参数化设计方法是指对于几何图形的某个系列的零件,用一个参数序列一一对应定义并约束一个几何图形的一组尺寸序列[33],当赋予参数序列以不同的数值时,它对应的那个几何图形的尺寸序列也会随之变化,并驱动图形做出相应的变化而达到预期的几何图形[33]。

一般说来,实现参数化必须要满足以下条件:几何图形本身是由几何和拓扑关系定义而成;几何图形形状大小可以由尺寸驱动;一个参数序列与一个几何图形的尺寸序列数据具有一一对应关系。实行参数化的设计方法,能够方便地进行更改以适应不同的需求,使设计具有灵活的应变能力:能够方便地进行工装的变型设计,大大减少了零部件的数量和设计周期,使设计质量和效率得到很大的提高。根据研究,可以将参数设计方法分为:基于数据结构的参数设计方法;交互实时处理方法;变量设计方法;基于规则的推理方法;直接操作方法;语言方法。

2.5.2参数化设计的特点

目前,参数化设计己成为CAD中最热门的应用技术之一,能否实现参数化设计也成为评价CAD系统优劣的重要技术指标,这是因为它更符合和贴近现代CAD中概念设计以及并行设计思想,工程设计人员设计开始阶段可快速草拟产品的零件图,通过对产品形状及大小的约束最后精确成图[34]。

同一系列产品的第二次设计可直接通过修改第一次设计来实现,设计参数不但可以驱动设计结果,而且影响产品的整个开发周期,设计参数可来自于其他系统。参数化设计是通过改动图形的某一部分或某几部分的改动,从而实现对图形的驱动。参数驱动的方式便于用户修改和设计。通过对参数的修改实现对产品的设计和优化。总之,参数化设计极大地改善了绘制图形的质量和效率。参数化设计又分为部分参数化设计和全参数化设计,部分参数化设计一般应用于造型简单的设计中,造型固定,而全参数化设计应用于造型复杂多变的设计中,可移植性高但编程复杂。

采用VB开发参数化建模和造型实质上是在更深的层次中应用SolidWorks,即直接利用VB程序对SolidWorks的内部特征函数进行调用从而实现特征的生成、修改、编辑、保存等操作。本次设计采用全参数化造型,有利于特征的编辑和修改。