SolidWorks液压系统开发方案与技术选择(二)

2013-07-25  by:广州有限元培训实践中心  来源:仿真在线

SolidWorks液压系统开发方案与技术选择(二)

 

2.2.3 SolidWorks系统二次开发的意义

      SolidWorks虽然拥有强大的功能,适当的价位,但是也并非是十全十美。不何能满足特定企业的特殊要求。例如,由于该软件是外国人写的,不适合中国的国标,如标题栏、明细表、放大图的标注、剖视图的标注、装配图的序号等。也没有适合我国国标的标准件库。资料显示,我国有很多企业引进国外著名的CAD系统,但往往未得到充分利用,未能全面用于产品设计,企业对CAD的巨额投资,并没有真正达到提高设计质量,缩短设计周期的目的,也没有带来应有的效益。究其原因,是未进行系统应用设计方面和管理方面的二次开发。据抽样调查,国内己引进的CAD系统利用率高而且达到效益比较好的企业和事业单位大约在20%-30%左右,所以没有进行用户化、本土化的二次开发就在一定程度上没有真正意义上的CAD有效运用。因此,为了适应特定企业的特殊要求,形成企业自己的特色,使SolidWorks在我国的企业中有效的发挥作用,并使常用的或是重复的任务自动化,提高效率,就必须对其进行本土化和专业化的二次开发工作。

2.3 SolidWorks二次开发接口API对象

2.3.1相关概念

      为了方便用户进行二次开发,SolidWorks提供了几百个API函数,这些API是SolidWorks的OLE或COM接口。用户可以使用高级语言对其进行二次开发,建立适合用户需要的、专用的SolidWorks功能模块。在SolidWorksAPI中,经常用到对象、方法、属性等术语,准确理解这些术语对二次开发极为重要。

(1)类

      类是创建对象的样板,它包含对创建对象的状态描述和对操作行为的说明,它和对象之间的关系抽象和具体的关系.在面向对象程序设计中,一个类只在源程序的代码中出现,而并不会在一个正在内存中运行的程序中出现,即类只是在编译时存在。对象作为类的实例在运行的程序中出现,并占有内存空间,它是在运行程序时存在的实体。所以一个类实际上是一种新的类型,当要使用一个新的数据类型时,首先要在源程序中说明,而说明的部分代码是不在内存中的运行的。在程序中运行的是该类的对象,对象在内存中分配空间,程序的计算任务由对象完成。SolidWorksAPI为用户提供了自由、开放、完整的面向对象的类体系,其中包含了数以百计的功能函数,程序员可以调用这些类函数,也可以在自己开发的程序中派生这些类函数的子类函数,建立子类函数的对象、对象的属性、方法,凡支持ActiveXAutomation标准的编程语言都可以访问SolidWorkaAPI类函数,调用这些类函数几乎能够实现SolidWorks中所有功能。

(2)对象

      对象是应用程序简单而抽象的代表。编程中的对象是将数据和方法包装在一起,丽形成的一些实体或者说是一种数据结构,它使这些实体变得独立。其特性是:每一个对象必须有一个名字以区别于其他对象;用属性来描述它的某些特征;有一组操作,每一个操作决定对象的一种行为。SolidWorks API包含了数百种函数,每一个函数都是一个独立的对象。

(3)属性和方法

      属于一个类的对象具有相同的行为,当某个行为作用在对象时,就称对象执行了一个方法。方法定义了一系列的计算步骤。方法有两种,一种提供对象与外界的接口,一种实现自身的数据操作。对象的“属性”就是指有关的数据,对象的“方法”则是指如何操作。SolidWorks的所有功能都以属性和方法的方式封装于SolidWorksAPI对象中,对外提供执行代码。

(4)对象的交互

      在面向对象程序设计中,对象之间需要联系,这称之为对象的交互。面向对象程序设计技术必须提供一种机制,允许一个对象与另一个对象的交互。这种机制,叫做消息传递。一个对象向另一个对象发出的请求被称为“消息”。消息是一个对象要求另一个对象执行某个功能操作的规格的说明,通过消息传递才能完成对象之间的相互请求或相互协作。SolidWorks二次开发中,用面向对象的编程语言VB编写客户端应用程序,它把程序员的要求转化为向服务端应用程序SolidWorks发出通讯的请求,SolidWorks根据请求“开放”API对象,VB引用该对象,设置其属性,操作其方法,SolidWorks按既定的数据信息和操作方式执行,实现所期望的功能,完成对象的交互。

(5)封装

      封装是指将数据结构和作用于数据结构上的操作组成一个实体,数据的表示方式和对数据的操作细节被隐藏起来,用户只能通过操作接口对数据进行操作。即:令对象具有一个清楚的边界,对象的私有数据、成员函数的细节被封装在该边界内;令具有一个描述对象与其他对象如何相互作用的接口,该接口必须说明消息传递的使用方法;令对象内部的代码和数据应受到保护,其他对象不能直接修改,SolidWorks所有功能均以属性、方法的方式封装于SolidWorks API对象中。

(6)OLE技术

      OLE就是对象的嵌入与连接,它使得应用程序之间能够通过数据的嵌入或连接的方式来共享数据。含有嵌入或连接文档的应用程序被称为容器程序,提供文档数据编辑的应用程序被称为服务器程序。自动化技术Automation是oLE技术的一个重要内容。直到今天,自动化技术扩充和发展为ActiveX Automation,它适用于OLE对象和ActiveX对象。操纵程序被称为客户(Client),而被操纵程序称为服务器(Server),被操纵的对象是ActiveX对象如果应用程序支持OLE技术,则在不同应用程序之间的切换由OLE自动完成。SolidWoks支持OLE标准,完全实现了OLE自动化,前已提及,SolidWoks具有开放的结构体系,它的这种开放性体现在它所提供的API对象上。API是一个对SolidWoks的应用编程接口(Application Prosramming Interface),包含了几百个对象及其属性、方法和事件,这正是SolidWoks为用户提供的功能强大的二次开发接口,凡支持oLE编程的开发工具,如VisualC++、VisualBasic、Delphi等均可从各自本身操作这些对象,从而直接行使SolidWoks的功能,如画一条直线,拉伸一个凸台,或修改一个表面的参数等。利用这种方法可以完成SolidWoks的二次开发,创建出用户定制的、专用的SolidWoks功能模块。OLE2.0推出以后,OLE已经不再是对象的嵌入和连接的缩略词。不妨认为ActiveX是OLE3.0,事实上AcfiveX是OLE在网络上的扩展,它使用了0LE技术并且超过了本地机器的范围。在本课题中,用VB来控制SolidWoks提供的各种对象,即把VB作为客户程序,SolidWoks作为服务器程序。

(7)ActiveX技术

      ActiveX是微软新近提出的一种技术,是实现不同语言开发的软件组件在单机或网络环境下能够相互操作的一组软件技术和软件方法的总称.它以COM为基础,其中包括了OLE技术以及应用于Intemet的多种技术。它使得不同的进程,甚至是网络上的进程之间相互通信,并朝着多媒体方向发展。ActiveX是一种标准,利用这个标准可以使用通过不同的语言开发的软件构件在单机或网络环境中相互操作。同时,ActiveX也是以组件对象模型为基础的开放技术的集合,它代表了应用程序与intemet的一种集成策略。COM客户通过一个指向虚拟函数表地址的指针即接口(Interface)来访问COM组件,以实现所期望的应用。而虚拟函数表每一项都是一个地址,一个由组件所实现的函数的地址。提供访问的所有的接口都自然继承一个名为Unknown的接口,因此接口的虚拟函数表的前三项均为Unknown接口的成员函数的地址。这些函数一是用来查询组件接口的QueryInterface函数,二是用来管理组件的生存周期的Addrcf函数和Release函数。通过ActiveX可以使应用程序的开发过程转变为将计算机上运行的各个软件有机组合的过程。如果将计算机上运行的这些软件看成为组件(Component),那么应用程序的开发过程就类似于搭积木似的组件架构的过程,而每个组件类似于一个实现特定的功能己编译链接好的可使用的微型应用程序,其内部对客户隐藏,其外部(即输入与输出)对客户开放。

(8)宏

      宏是一系列命令的集合,相当于Dos下的批处理文件,及AutoCAD中的脚本文件。可以录制使用SolidWorks用户界面执行操作,然后使用SolidWorks宏重新执行这些操作。宏所包含的调用相当于使用用户界面执行操作时,对APl的调用。通过记录宏和交互式执行任务,可以在所需的代码上获得命令和语法的飞跃。在写任何代码前,都是记录宏来用作程序的基础,即向程序添加功能时,返回到SolidWorks,记录添加的宏。然后剪贴和粘贴记录的宏的代码中,这样做,既是对最先进的程序也是有益的。

2.3.2 SolidWorks API对象

      SolidWorks支持OLE标准,完全实现OLE自动化。作为~个OLE服务器,SolidWorks提供了大量的OLE对象,以及这些对象所拥有的方法和属性,用户通过在客户应用程序中对这些。OLE对象及其方法和属性的操作,可以在自己开发的应用软件中实现可以完成零件的建造、修改;零件各特征的建立、修改、删除、压缩等各项控制;零件特征信息的提取,如特征尺寸的设置与提取,特征所在面的信息提取及各种几何和拓扑信息;零件的装配信息;零件工程图纸中的各项信息;还可在SolidWorks主菜单上增加按钮,将自己开发的应用模块嵌入到它的管理系统中。

      是SolidWorks API对象的一个梗概。它并不代表对象的起源层次或惟一的来去途径。从可以看到SolidWorks API的对象分为若干层,每一层又包括若干对象。每个对象又都有自己的属性、方法和事件。对象的数目很多,以后若在开发中用到,通过查找API帮助来使用它。


开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:SolidWorks液压系统开发方案与技术选择(二) SolidWorks培训 液压系统二次开发 SolidWorks培训课程 SolidWorks设计教程 SolidWorks视频教程 SolidWorks软件下载 SolidWorks在建筑室内设计工业设计的应用 SolidWorks基础知识 SolidWorks代做 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com