|
经典图书 利用Delphi进行SolidWorks二次开发
2010-12-14 23:57:56 作者:孙惠娟,尹洋,汤积仁,秦军军 来源:互联网
分享到 0
以Delphi为编程语言。利用COM技术来启动SolidWorks和获得ISolidWorks接口对象,通过IUnknown接口对象和ISldWorks对象进行二次开发。以高速主轴为例,介绍了参数化生成零件、装配体的具体过程。根据参数的改变动态地生成零件和装配体。从而实现产品的系列化设计,缩短了产品的开发周期,具有较好的实用价值。
SolidWorks软件是在总结和继承了大型机械CAD软件的基础上,在Windows环境下实现的第一个机械CAD软件。各企业在实际的产品设计中大多要对通用CAD软件进行二次开发,建立适合自己的专用模块。SolidWorks的突出特点是:三维参数化特征造型,特征管理员功能,全相关的数据管理,它功能丰富、操作简单、维护方便、学习周期短、应用开发方便,与多家CAM、CAE软件有紧密接口。本文通过运用Delphi对SolidWorks进行二次开发来实现复杂的高速主轴三维成型及虚拟装配体的过程,使用ACESS数据库对高速主轴的相关参数进行传递和管理,提高了设计的效率与正确率。
1 SolidWorks的二次开发技术
1.1 SolidWorks API
SolidWoks为用户提供了几百个二次开发接口(SolidWorks API),凡支持COM编程的开发工具,如Visual C++、Visual Basic、Delphi等均可用于SolidWorks的二次开发。SolidWorks API是SolidWorks的OLE编程接口,为程序员提供了完全面向对象的类体系,程序员可以在自己的程序中,派生这些类的子类,生成这些类的对象,对对象进行操作,运行对象的方法,设置或修改对象的属性,从而访问SolidWorks的数据库、图形系统和系统界面。SolidWorks的API对象涵盖了全部的SolidWorks的数据模型,进行二次开发时,调用SolidWorks中的API函数,可以完成零件各特征的建立、修改、删除和压缩等各项控制,零件特征信息的提取,如特征尺寸的设置与提取,特征所在面的信息提取及各种几何和拓扑信息,零件的装配信息,零件工程图纸中的各项信息等。图1所示为SolidWorks API的部分对象体系。
1.2 COM技术
组件对象模型(Component Object Model,COM)是由Microsoft公司在Windows操作系统中创建的一种二进制的网络标准,是组件(即应用程序)间的接口。它允许两个组件互相通信,而不论其运行于任何计算机(只要联网),采用任何操作系统(只要支持COM)以及该组件隶属于任何语言。另外,COM还引用了面向对象的思想,对象链接与嵌入(Object Linking and Embedding,OLE2)是第一个用COM架构的软件系统。
图1 SolidWorks API部分对象体系
1.3开发工具
本文使用面向对象语言Delphi对SolidWorks进行二次开发。Delphi是Bodand公司开发的一种可视化应用程序开发工具,其基础语言为对象Pascal。它提供了一种快速的编译器,它具有高性能的32位本地优化代码编译器,其应用程序可以直接运行,能够最终生成可单独执行的DLL与EXE文件。另一方面,使用Delphi可方便迅速地建立强大的数据库应用程序。Delphi的数据库应用程序可以和Paradox Sybase、Microsoft SQL Server、Informix、InterBase和ODBC数据源等一起使用。
1.4开发方法
(1)在Delphi编程环境下,单击菜单栏中的“Project(工程)”、“Import Type Library”命令,弹出“Import Type library”对话框。
(2)在“Import Type library”对话框中选择“SldWorks 2007 Type Liaray(Version f.0)”选项,单击“Create Unit”按钮,Delphi将在其import子目录下生成该类型库Object Pascal文件SldWorks_TLB.pas,然后就可以利用此文件进行二次开发了。
(3)在Delphi环境下新建一个工程,加入相关代码,生成.exe文件或.dll文件,然后编译运行即可。注意要将第二步中生成的SldWorks_TLB.pas文件添加到工程中。 |
|