solidworks插件开发教程
说白了,插件开发的原理就是:动态加载技术。但是我们在开发插件的过程中可能会遇到很多问题,所以这里就分为三篇文章进行解读的,而且也是循序渐进,解决了插件开发过程中可能会遇到的问题,不过这三篇的基础还是动态加载技术。
操作方法
- 01
SolidWorks为达索系统(Dassault Systemes S.A)下的子公司,专门负责研发与销售机械设计软件的视窗产品。达索公司是负责系统性的软件供应,并为制造厂商提供具有Internet整合能力的支援服务。该集团提供涵盖整个产品生命周期的系统,包括设计、工程、制造和产品数据管理等各个领域中的最佳软件系统,著名的CATIAV5就出自该公司之手,目前达索的CAD产品市场占有率居世界前列。SolidWorks公司成立于1993年,由PTC公司的技术副总裁与CV公司的副总裁发起,总部位于马萨诸塞州的康克尔郡(Concord,Massachusetts)内,当初的目标是希望在每一个工程师的桌面上提供一套具有生产力的实体模型设计系统。从1995年推出第一套SolidWorks三维机械设计软件至今,至2010年已经拥有位于全球的办事处,并经由300家经销商在全球140个国家进行销售与分销该产品。1997年,Solidworks被法国达索(Dassault Systemes)公司收购,作为达索中端主流市场的主打品牌。
- 02
开发者和用户能够使用Visual Basic, Visual C++,Delphi以及任何一种支持ActiveX Automation技术的工具,对SolidWorks进行二次开发,全面扩展SolidWorks的功能或将其功能集成到客户应用程序中,以实现SolidWorks的完全客户化。本章主要介绍二次开发的基础知识以及二次开发的实例。重点与难点.二次开发体系.二次开发接口及函数.二次开发方法.二次开发工具
- 03
SolidWorks二次开发概述 SolidWorks应用程序设计界面(API)是与SolidWorks软件相关的COM程序设计界面。此API中包含了上千种可以在Visual Basic(VB)、Visual Basic for Applications(VBA)、VB.net, C++、C#或SolidWorks宏文件中调用的功能。这些函数使程序设计员可以直接使用SolidWorks的功能。SolidWorks二次开发体系 SolidWoks是一套完全基于Windows的三维设计软件,采用了与Unigraphics相同的先进的底层图形核心Parasolid。它基于特征的参数化、变量化设计技术,使其操作方便,简单易学。此外,它还为用户提供了采用标准Windows“对象链接与嵌入(OLE)”技术和“组件对象模型(COM)”技术的应用程序接口,有利于二次开发技术的实现,开发者和用户能够使用Visual Basic, Visual C++,Delphi以及任何一种支持ActiveX Automation技术的工具,对SolidWorks进行二次开发,全面扩展SolidWorks的功能或将其功能集成到客户应用程序中,以实现SolidWorks的完全客户化。 目前,主流的CAD软件都提供了用户定制功能和二次开发工具,通过CAD软件的二次开发工具可以将通用的商业化的CAD软件本地化、个性化,即以CAD系统为基础平台,在应用开发软件和编程接口的基础上,可以根据自身需要研制开发符合相关标准和适合企业实际应用的用户化、专业化、知识化、集成化软件,以进一步提高产品研发效率。
方法/步骤2
- 01
1)通用CAD软件(SolidWorks)—管理层。CAD软件是整个二次开发的基础,在二次开发结构中属干管理层。它负责用户界面定制、图形显示、数据管理、流程控制、消息分发等。 2)编程开发环境—开发层。开发语言包括了计算机高级语言(C/C++等)和通用集成开发环境(VBNC/Delphi )。通用集成开发环境具有功能强大、使用简单、效率高等特点,是目前比较流行的二次开发环境。在二次开发结构中,编程环境属于开发层,主要任务包括程序源代码的编辑、修改、编译、调试和优化等。 3)应用程序编程接口(API )—支持层。编程开发环境仅提供了一般性的语言支持,在二次开发过程中,还需要提供相应的API支持。API接口的作用是建立开发程序与原软件程序的连接,使两者无缝集成。API属于支持层,它是开发程序与CAD软件之间进行连接、通信的通道。 4)设计思路—知识层。在原有CAD软件基础上,开发者只有将其设计思路和二次开发工具方法结合起来,才能实现定制的目的,发挥最大的作用。 Solidworks二次开发接口 Solidworks的软件开发商为方便各类用户对其进行二次开发,提供了API应用编程接口,它是一个基于OLE Automation的编程接口,此接口为用户提供了自由、开放、功能完整的开发工具,其中包含了数以百计的功能函数,这些函数可以让程序员直接访问Solidworkso API中的函数可以被VisualBasic, C/C++, VBA或者是Solidworks宏文件以及其他支持OLE的开发程序调用,从而可以扩展Solidworks的功能。本文主要介绍的是采用支持ActiveX技术的面向对象的编程语言Visual Basic 6. 0对Solidworks进行二次开发的基本原理和方法。SolidWorks API函数 为了方便用户进行二次开发,SolidWorks提供了几百个API函数,这些函数是SolidWorks的基于OLE或COM开发技术的接口,它是SolidWorks对象的方法或属性,用户可以使用VBNBANC/Delphi等高级语言对这些对象属性进行设里和方法的调用,进而实现在设计者自己开发的程序中对SolidWorks进行各种操作,使用户可以按照需要定制SolidWorks软件系统。图17-2所示为SolidWorks对象模型的层次结构,它是一种树形结构模型图,根为Soldworks对象,SolidWorks中的其他对象都是它的子对象。不管使用什么编程语言对SolidWorks进行二次开发,l都需要通过调用SolidWorks的对象体系来实现,Solid Works API将SolidWorks的各种建模功能封装在对象之中供编程调用,每个对象一般包括对象的类型;对象的属性和对象的方法。
- 02
SolidWorks二次开发方法 基干SolidWorks的二次开发方法有两种,一种是编程法;另一种是尺寸驱动法。 编程法是将设计过程的所有关系式都包括在应用程序中,程序按照建模过程顺序地执行,这种方法每参数化或更新一次模型都需要从头至尾执行一次应用程序代码。 尺寸驱动法是在保持模型结构不变的前提下,将模型中的尺寸视为变t,在应用程序中给这些变里赋值,就可以同步更新模型中相对应的尺寸值,最终获得一系列尺寸不同而结构相同的模型,形成零部件系列库。这种方法不需要重复建模过程,只是在基础模型基础上修改若干个尺寸就可以达到参数化模型的目的。 以上两种方法都可以借助宏录制方法简化编程过程,但是简化程度不同。编程法需要将建模的整个过程录制下来,然后修改录制的代码,将有关的常量变换成变量。但是在宏录制过程中并不是所有的操作过程的代码都能被记录,如果有遗漏的过程就铸要设计者自己去利用SolidWorksAPI函数补充相应的代码。尺寸驱动法并不需要整个建模过程的代码,它只在建模完成后录制修改模型尺寸时的宏代码,这样涉及的API函数大大减少。两者的开发本质不同,从开发效率和可靠性看,尺寸驱动法显然简单易掌握,实用性和操作性更强。
- 03
SolidWorks二次开发工具 SolidWorks二次开发有两种形式,一是基于OLE技术的独立应用程序(standaloneapplication ),用户编制的二次开发界面程序作为一个独立应用程序(.exe ),通过API接口调用SolidWorks提供的各种对象及其属性和方法,从而实现对SolidWorks的操作和控制:第二种形式基于COM技术的插件形式(add in application),用户程序作为一个插件(All)集成到SolidWorks中去,这种形式下,用户程序同SolidWorks程序运行在同一进程,而且用户可以在主程序中添加自己的菜单栏、工具栏等。该方式效率高,使用户程序和SolidWorks有机融为一体。插件程序( All )的出错或者不稳定会直接影响到SolidWorks程序的正常运行,而独立应用程留.exe跟SolidWorks不在同一进程空间运行,因此用户程序的异常不会影响到SolidWorks. SolidWorks的二次开发工具很多,任何支持OLE和COM技术的编程语言都可以作为开发工具,比如VBA, VB, C, VC++, Delphi等。在众多的二次开发工具中,最简单的是VBA,常用宏录制得到基本的程序框架和API函数,易学易用的是VB,常用于生成.exe文件,VC++语言功能强大,常生成.dll文件,但是难度大。