现在的位置: 首页 > 综合 > 正文

使用VBA进行solidworks开发指南

2013年08月19日 ⁄ 综合 ⁄ 共 3348字 ⁄ 字号 评论关闭

作者:marsarden                                                       转载请注明

在对solidworks原有功能进行改善的过程中,有效地利用solidworks提供给我们的应用编程接口(API)来编写提高我们工作效率的程序是其中手段之一。本文在于总结作者进行此类开发的经验,给大家提供一些经验性建议。

目录

1       概述... 2

1.1      内容简介... 2

1.2      解释... 2

1.3      预备知识... 3

2       录制、编辑、运行宏... 3

2.1      录制、编辑、运行宏基本步骤:... 3

2.2      一些基本的建议:... 3

3       代码格式及帮助信息... 5

3.1      代码格式:... 5

3.2      获得帮助:... 6

4       常用对象模型... 7

4.1      综述:... 7

4.2      SldWorks.SldWorks : 8

4.3      SldWorks.ModelDoc2... 8

4.4      SldWorks.PartDocSldWorks.AssemblyDocSldWorks.DrawingDoc... 9

4.5     SldWorks.featureSldWorks.Sketch ... 9

5       零件 PartDoc. 9

5.1      综述:... 9

5.2      选择对象的话题:... 10

5.3      访问并修改特征: 12

5.4      草图的话题:... 17

6       装配体... 18

6.1      综述:... 18

6.2      组件的话题:插入零部件到装配体... 19

6.3      配合的话题:在装配体中添加配合... 22

6.4      由于说到参考顺便讨论一下配合参考... 26

7       工程图... 28

7.1      综述:... 28

7.2      注释的题:... 29

7.3      生成图纸的话题:并讨论如何解决实际问题... 30

8       总结:... 40

 

 

第1章        概述

1.1         内容简介

Solidworks在提供了强大的三维建模功能的同时,也为使用者提供了开放的应用程序编程接口(API),通过调用这些API,我们可以将solidworks中一些重复单调或者规则明确的操作使用程序语言描述,通过简单的人机交互,让计算机自己来完成此类工作。掌握了此类本领,可以在以后的工作中,开阔自己的视野,更加深入的了解软件本身工作的原理,并且,改善自己的工作,提高工作效率和质量。

本文旨在总结作者工作中获得的经验,专注于solidworks软件本身特点,文章中示例的代码基本上使用了vb语言描述,选择vb语言是因为其语法简单易懂,并且和应用程序间有很明朗的接口不需要再学习其它技术(如果使用c++,可能需要读者拥有COM知识)。

Solidworks提供了极其丰富的API,并且有很完善的帮助系统。我们可以使用 Microsoft VBA编写SolidWorks Macros或者使用其他编程环境编写Standalone and Add-in Applications。(使用visual studio.NET都可以)在SWAPI帮助中我们可以很明了的查看API调用语法及相关的示例代码。本文不可能对每一个API进行细致的解释,在后面章节主要指导大家如何使用软件提供的帮助来在需要时得到有用信息的手段。

本文所有API和代码都以solidworks2005 sp0.0 版本为准。

1.2         解释

API :应用编程接口Application Programming Interface

对象:即计算机抽象出来的一种事物,在面向对象的程序设计中它表示由数据和与该数据关联的操作组成的类的具体实现。

属性:对象所具有的属性,识别及说明对象的特性。

方法:对象可以使用的对数据的操作。

1.3         预备知识

首先我们的读者应该有简单的VB经验。当然如果没有也可以临时抱佛脚(VB语句是直观易懂的),边看代码边学习。很好的掌握SW中宏的录制功能多阅读API帮助中的示例代码,是自学的最佳途径(虽然SW的宏录制功能相比EXCEl来说代码不是很清晰)。

    其次solidworks软件应该非常熟练,读者应该有使用solidworks实际建模的经验,,这是能够写出良好代码的基础。否则看到一些对象名称也不能了解它对应了软件的那个功能。

    如果英文不够好,请准备及时词典,如金山词霸等。Solidworks提供的API帮助是纯英文的,solidworks汉化的还不错,不明白为什么不顺便把API帮助也翻过来。

    准备好,我们可以开始了.

第2章        录制、编辑、运行宏

2.1         录制、编辑、运行宏基本步骤:

开始solidworks编程的最快方式就是录制宏。宏可以记录用户的操作将其记录为一系列solidworksAPI的调用。在solidworks“工具”菜单“宏”中有运行、录制、新建、编辑等选项。

我们选择“录制”来开始记录用户操作,选择“停止”来结束宏的录制。结束后会提示保存宏文件,其后缀名为.swp。(估计是solidworks program的意思吧)。录制到停止间对solidworks进行的操作都将记录到宏文件中。但是直接录制的宏程序的可用性很差,我们需要对它进行一些合理的优化,清理多余的语句,所以在录制完成宏之后需要编辑它。

编辑宏的时候,选择“工具”菜单“宏”中的“编辑”,此时提示你选择要编辑的宏文件(swp文件)。选择后进入编辑界面(其实就是VBA的编辑器,叫集成环境也行)。

需要说明的是,如果之前你在excelword等软件中录制过宏程序,那么可能solidworks录制宏中的垃圾数据要更多些。

2.2         一些基本的建议:

Solidworks在帮助中也有一个大体的介绍,在编辑一个新录制的宏时可以需要删除下面的多余代码(Delete extra lines of code:

1The following variables are declared automatically in a SolidWorks macro. Delete any variables not used in the macro. SolidWorks对象的声明是自动产生的,可以将没用到的删除

2Delete all lines of code that change the view. 删除切换视图的代码

arden says:像这样的 Part.ActiveView().RotateAboutCenter 0.0662574, 0.0346621 无情的删掉吧

3Delete all ModelDocExtension::SelectByID2 calls appearing immediately before ModelDoc2::ClearSelection2 calls. However, do not delete ModelDocExtension::SelectByID2 calls appearing immediately after ModelDoc2::ClearSelection2 calls. Delete all ModelDoc2::ClearSelection2 calls appearing immediately before ModelDocExtension::SelectByID2.

删除所有紧挨ModelDoc2::ClearSelection2之前的ModelDocExtension::SelectByID2调用,不要删除紧挨ModelDoc2::ClearSelection2调用后的ModelDocExtension::SelectByID2。删除所有紧挨ModelDocExtension::SelectByID2之前的ModelDoc2::ClearSelection2

抱歉!评论已关闭.