solidworks api二次开发实例详解_Solidworks开发语言对比及分析
很多初学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开发语言对比及分析相关推荐
- java和vue实现拖拽可视化_Vue拖拽组件开发实例详解
摘要:这篇Vue栏目下的"Vue拖拽组件开发实例详解",介绍的技术点是"Vue拖拽组件开发实例.vue拖拽组件.拖拽组件.组件开发.开发实例.实例详解",希望对 ...
- 《HTML5网页开发实例详解》连载(四)HTML5中的FileSystem接口
HTML 5除了提供用于获取文件信息的File对象外,还添加了FileSystem相关的应用接口.FileSystem对于不同的处理功能做了细致的分类,如用于文件读取和处理的FileReader和Fi ...
- python随机生成二维列表_对python产生随机的二维数组实例详解
对python产生随机的二维数组实例详解 最近找遍了python的各个函数发现无法直接生成随机的二维数组,其中包括random()相关的各种方法,都没有得到想要的结果.最后在一篇博客中受到启发,通过列 ...
- php二维数组实例_什么是php二维数组?php二维数组实例详解
什么是php二维数组? 二维数组又称为矩阵,本质上是以数组作为数组元素的数组,一个数组的元素如果是一维数组,那么我们就称这个数组是二维数组. PHP二维数组实例详解 我们之前的一篇文章<PHP数 ...
- ecshop二次开发 给商品添加自定义字段【包含我自己进一步的开发实例详解】
本文包含商品自定义添加教程及进一步的开发实例: 教程: 说起自定义字段,我想很多的朋友像我一样会想起一些开源的CMS(比如Dedecms.Phpcms.帝国)等,他们是可以在后台直接添加自定义字段的. ...
- java 开发模式详解_Java开发中的23种设计模式详解4
其实每个设计模式都是很重要的一种思想,看上去很熟,其实是因为我们在学到的东西中都有涉及,尽管有时我们并不知道,其实在Java本身的设计之中处处都有体现,像AWT.JDBC.集合类.IO管道或者是Web ...
- 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 ...
- Android USB转串口通信开发实例详解
好久没有写文章了,年前公司新开了一个项目,是和usb转串口通信相关的,需求是用安卓平板通过usb转接后与好几个外设进行通信,一直忙到最近,才慢慢闲下来,趁着这个周末不忙,记录下usb转串口通信开发的基 ...
- java微信的客服接口开发,微信公众号 客服接口的开发实例详解
微信平台更新之后,发现客服接口不错.研究了下 和大家分享下. 按照官方文档,是向客服接口发送规定的JSon 就可以了. 首先先封装下 JSon 的类: package com.lwz.wx.bean. ...
最新文章
- zz Expect的安装
- 在全面部署 IPV6 前,你需要了解都在这儿
- web 前端常用组件【06】Upload 控件
- 发布webservice之后调用不通
- windows自动更新安装后遗留文件或文件夹的删除
- git push代码到远程新分支
- dump查询Java 状态
- LetCode-MSSQL销售分析-I
- 数据库 连接池、缓冲池(定义、原理)
- 直通输出设备 android kodi,PVE直通核显搭建LibreELEC KODI HTPC实现HDMI输出
- 助力CP扬帆出海,华为HiGame邀全国开发者共赢拉美市场
- python用*号输出字母c的图案_第1.6题:使用Python生成字母验证码图片
- unraid安装黑群晖虚拟机开机显示 Starting Kernel with USB boot
- android使用百度地图SDK 去掉百度Logo的小技巧(转)
- 关于Python中的引用
- 第一批90后30岁了,该有多少存款?
- Python 进行HTTP代理 多线程实现微信刷投票开发
- 基于Android Studio的记账类app开发
- 微信小程序 选择器 地区选择器
- python 图像处理(5):图像的批量处理
热门文章
- android从服务端获取json解析显示在客户端上面,Android服务端获取json解析显示在客户端上面.doc...
- Windows中文件夹属性加密的作用?
- 交互式python shell
- jittor和pytorch生成网络对比之wgan_gp
- springmvc整合mybatis框架源码 bootstrap html5 mysql oracle maven SSM
- hiho_1050_树中的最长路
- 通过python实现超市购物系统(通过列表简单实现版)
- IOS --自带二维码扫描
- Linux大文件处理,伪分区
- 教你如何rEFIt-让你开机免按option!