很多初学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为例:

如下//之后的内容即是四种预览变量声明的不同格式。

VBA:ByVal FileName As System.String //即:ByVal 变量 As 对象类型VB.NET:Dim FileName As System.String //即:Dim 变量 As 对象类型C#:System.string FileName //即:对象类型 变量C++:System.String^ FileName //即:对象类型 变量

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

solidworks api二次开发实例详解_Solidworks开发语言对比及分析相关推荐

  1. java和vue实现拖拽可视化_Vue拖拽组件开发实例详解

    摘要:这篇Vue栏目下的"Vue拖拽组件开发实例详解",介绍的技术点是"Vue拖拽组件开发实例.vue拖拽组件.拖拽组件.组件开发.开发实例.实例详解",希望对 ...

  2. 《HTML5网页开发实例详解》连载(四)HTML5中的FileSystem接口

    HTML 5除了提供用于获取文件信息的File对象外,还添加了FileSystem相关的应用接口.FileSystem对于不同的处理功能做了细致的分类,如用于文件读取和处理的FileReader和Fi ...

  3. python随机生成二维列表_对python产生随机的二维数组实例详解

    对python产生随机的二维数组实例详解 最近找遍了python的各个函数发现无法直接生成随机的二维数组,其中包括random()相关的各种方法,都没有得到想要的结果.最后在一篇博客中受到启发,通过列 ...

  4. php二维数组实例_什么是php二维数组?php二维数组实例详解

    什么是php二维数组? 二维数组又称为矩阵,本质上是以数组作为数组元素的数组,一个数组的元素如果是一维数组,那么我们就称这个数组是二维数组. PHP二维数组实例详解 我们之前的一篇文章<PHP数 ...

  5. ecshop二次开发 给商品添加自定义字段【包含我自己进一步的开发实例详解】

    本文包含商品自定义添加教程及进一步的开发实例: 教程: 说起自定义字段,我想很多的朋友像我一样会想起一些开源的CMS(比如Dedecms.Phpcms.帝国)等,他们是可以在后台直接添加自定义字段的. ...

  6. java 开发模式详解_Java开发中的23种设计模式详解4

    其实每个设计模式都是很重要的一种思想,看上去很熟,其实是因为我们在学到的东西中都有涉及,尽管有时我们并不知道,其实在Java本身的设计之中处处都有体现,像AWT.JDBC.集合类.IO管道或者是Web ...

  7. java ee实例详解_Java EE企业级编程开发实例详解

    第1章 javaee开发基础 9 q5 @! t4 \9 t. }: K# R1 }1.1 javaee6简介 / p* T1 g! F  K3 ^4 j3 |1.1.1学习 javaee的意义 5 ...

  8. Android USB转串口通信开发实例详解

    好久没有写文章了,年前公司新开了一个项目,是和usb转串口通信相关的,需求是用安卓平板通过usb转接后与好几个外设进行通信,一直忙到最近,才慢慢闲下来,趁着这个周末不忙,记录下usb转串口通信开发的基 ...

  9. java微信的客服接口开发,微信公众号 客服接口的开发实例详解

    微信平台更新之后,发现客服接口不错.研究了下 和大家分享下. 按照官方文档,是向客服接口发送规定的JSon 就可以了. 首先先封装下 JSon 的类: package com.lwz.wx.bean. ...

最新文章

  1. zz Expect的安装
  2. 在全面部署 IPV6 前,你需要了解都在这儿
  3. web 前端常用组件【06】Upload 控件
  4. 发布webservice之后调用不通
  5. windows自动更新安装后遗留文件或文件夹的删除
  6. git push代码到远程新分支
  7. dump查询Java 状态
  8. LetCode-MSSQL销售分析-I
  9. 数据库 连接池、缓冲池(定义、原理)
  10. 直通输出设备 android kodi,PVE直通核显搭建LibreELEC KODI HTPC实现HDMI输出
  11. 助力CP扬帆出海,华为HiGame邀全国开发者共赢拉美市场
  12. python用*号输出字母c的图案_第1.6题:使用Python生成字母验证码图片
  13. unraid安装黑群晖虚拟机开机显示 Starting Kernel with USB boot
  14. android使用百度地图SDK 去掉百度Logo的小技巧(转)
  15. 关于Python中的引用
  16. 第一批90后30岁了,该有多少存款?
  17. Python 进行HTTP代理 多线程实现微信刷投票开发
  18. 基于Android Studio的记账类app开发
  19. 微信小程序 选择器 地区选择器
  20. python 图像处理(5):图像的批量处理

热门文章

  1. android从服务端获取json解析显示在客户端上面,Android服务端获取json解析显示在客户端上面.doc...
  2. Windows中文件夹属性加密的作用?
  3. 交互式python shell
  4. jittor和pytorch生成网络对比之wgan_gp
  5. springmvc整合mybatis框架源码 bootstrap html5 mysql oracle maven SSM
  6. hiho_1050_树中的最长路
  7. 通过python实现超市购物系统(通过列表简单实现版)
  8. IOS --自带二维码扫描
  9. Linux大文件处理,伪分区
  10. 教你如何rEFIt-让你开机免按option!