Solidworks中国一级代理商 北京、天津
咨询电话:010-68250396
Solidworks新闻
畅谈SolidWorks与API 二次开发
更新时间:2018年07月30日 15:23
【什么是API 】
API为Application Program Interface英文缩写, 意为应用编程接口,它的意思其实在网上很容易查得。我的理解是: 和操作使用软件本身的功能一样,属于应用手法的一种。一般的操作是:通过鼠标点击,键盘键入数字操作它现有的按钮,命令;而API 则是通过编程语言代码,对现有的功能进行一定的控制,形成新的命令或功能,即利用编程代码来操控软件的现有功能,也属于一种应用的方法。例如:沿着长度(250mm)方向, 间隔为50mm均布4个孔,桌面木板的打孔,我们用SolidWorks的建模,非常的简单。
步骤:1. 绘制孔的草图,标尺寸,大小以及定位;2.产生开孔特征:拉伸切除;3.阵列,按照长度250mm, 间隔50mm, 算出需要四个孔。
掌握其中的数学和逻辑,利用数学的方法表达逻辑,就可以把以上3个步骤合成1个步骤。通过指定长度值和方向,孔径,就能一次过产生所需要的孔,并且可以应对更多的情况,免除重复而琐碎的工作。
【有什么好处 】
由于SolidWorks是市场上主流的三维参数化工业设计软件之一,它的功能是通用的,是面向广大的市场用户而开发和更新的,而我们深入探讨具体某些行业,某些企业的特殊的行业规范,行业习惯,人们的行为习惯(同一公司也好,中国人跟美国人,习惯上也会有很大的差异),为了让SolidWorks更加贴近这些习惯和规范,应用起来更加得心应手,效率更高,往往就可以考虑通过API的手段来强化这一点。例如:我们为了强化SolidWorks在塑胶模具和冲压模具的设计习惯,便有了广为大家所认识的:3DQuickMold, 3DQuickPress ,基于SolidWorks 平台的插件工具(百度一下便可了解详细)。又或者例如办公家具的设计,属于规则化的设计,常见的工作便是重复琐碎的基本建模,则可以通过API开发出专门的设计界面,加快和规范设计的工作,提高效率。
图2 基于SolidWorks开发的智能办公桌设计界面
【如何判断有没有API 的可能性】
1. 前段提到,API就是利用编程代码来操控软件的现有功能,也属于一种应用的方法。我们判断是否可以利用API来实现,首先就要看通过手动的方法,评估现有的功能,是否能做出最终的结果。简单地说,就是手动操作SW能实现的结果,中间会有较多的直接或间接的方法,都很有可能通过API将其自动的实现。最常见的是使用API进行规则化的建模自动化设计,把手动操作的工作变为自动,规范化。
2. 对于一般的SW操作,而无法实现的呢?也一定程度上,通过调入外部其他程序的计算核心或技术嵌入至SW中进行API。这种API手法,极为少见,对编程技术的要求非常高。例如,3DQuickPress 则是调用了OpenGL图形显示技术,在SW中开发出专属的冲压件展开和排带排布设计的图形,而这种图形,一般的操作SolidWorks是怎么做也无法做出来的。
【误区】
1. 以为录制宏是用来记录建模过程的,录屏幕视频差不多?
录制宏,其实是将鼠标点击的动作通过代码的形式记录下来,让开发人员从中编辑以及加入其他的代码进行开发和扩充。属于API常用的方法。
图3 SolidWorks自带的VBA编程界面
2. 以为API就是录制宏而已?
录制宏,其实只是其中一种方法,而且较为简单,很多入门的人士都会采用。我个人认为单靠录制宏的API,其实属于比较浅层的开发。真正的API, 关键在于“I”, Interface接口, 理解SolidWorks的接口方法,函数以及相关的成员。需要深入了解SolidWorks API帮助文件。
3. 编程写代码就是API 了?
曾经有个朋友来信问到:“我有二次开发的经验,你告诉我怎么在SW宏里读取TXT数据就好,我以前的软件上可以,不知道SW怎么弄?”
回答:其实二次开发的概念,什么软件都一样。唯一不同,就在于Interface接口的差异。而那位兄台自以为天下间的二次开发都一样的,而读取TXT数据,其实就是一般的编程技术,跟SolidWorks一点关系都没有。