很多初学Solidworks二次开发的同学,也许都会纠结使用何种语言进行二次开发。对于Solidworks二次开发的语言,官方有VBA,VB.NET,C#以及C++,四种语言。
用户通常会有如下疑问,我学某个语言的,有没有针对自己所学语言的资料,供学习参考。对于市面上为数不少的Solidworks资料,是否真的没有针对自己所学语言的开发资料呢?本文将对各开发语言做下简单的对比介绍。减少用户在开发语言选择上的困扰。
对于这四种语言的使用环境及对比,我根据自己的经验感受如下:
VBA:Solidworks自带功能,开发便捷,部分可以通过宏的录制加以修改做成自己需要的程序。但是VBA不适合做大型系统,并且自带的VBA编译工具缺少代码提示,错误警告等辅助信息,对于代码编写的工作量及检查错误原因会带来很多时间上的浪费。
VB.NET:微软.NET平台上语法最接近VBA的语言,比较适合从事VBA的人员往.NET平台过渡。.NET平台比较适合开发大型项目系统。并且可以使用微软的Visual Studio开发平台进行代码编写,完善的代码提示及错误提示会让开发速度加快。
C#:同样也是微软.NET平台上语言,与VB.NET拥有一样的特性。其语法就个人经验来说比较接近JAVA,JAVA用于开发网站,安卓系统居多。如果对自身未来的扩展有需求,可以考虑使用C#。我的《Solidworks API二次开发实例详解》一书就是采用了C#语言。
C++:个人不推荐,比较适合一些底层的开发。如果你不是计算机专业的人,并不建议使用C++。Solidworks二次开发常规业务内容使用VB.NET或C#即可轻松调用大多数据的API对象。
那么4种语言在语法上的区别到底有多大?我们以 ISldWorks::OpenDoc6的方法做下对比,该方法为使用Solidworks程序打开某个Solidworks文档。
VBA:

VB.NET

C#

C++
我们看下这四个语言:
1.方法参数相对固定,不会因语言变化而变化,都使用了FileName,Type,Options,Configuration,Error,Warnings六个参数,并且参数的类型一样,即我们使用这个方法前为该方法准备参数的方法一致。
2.对象声名区别,以方法的参数FileName为例:
如下//之后的内容即是四种预览变量声明的不同格式。

对于初识Solidworks二次开发的用户,不用被语言吓倒。如果你是传统VBA用户,又想把自己的系统做大,建议可以往VB.NET转移。如果你是无语言基础的或你的未来发展规划不仅仅在Solidworks上的,那么建议直接选择C#语言。如果你有特殊开发需求,并且无法用过微软的.NET实现的,可以再考虑C++。而VBA比较适合用于简化个人工作。