分享

【二次开发】VBA基础知识及一个简单的小例子

 victor_ding 2019-10-25

关于这个东西到底叫二次开发,还是叫VBA,还是叫宏……随便,你喜欢就好!我们通过Tools→Macros→Macros就可以打开宏的界面(快捷键是alt+F11,与excel,ppt,word一样)↓


它里面显示的就是当前选择的“宏库”中可以运行的,或者叫脚本,选中对应的脚本点击run就可以运行。

说到宏库,它有两种形式,我们点击上面界面的上的Macro Libraries,然后通过弹出界面中的Library type下拉菜单看到:

第一种是Dictionaries,即选择windows下的一个目录,该目录下的宏只能是.catvbs或.catscript格式的独立脚本文件,除了系统的inputbox和msgbox外,无法实现其他人机交互功能↓


第二种是vba project。我们将type选为vba project之后,找到catvba文件选中,即可加载该vba库。这种vba库文件中可以储存窗体模块以及类模块,可以实现复杂的用户自定义界面,比如下面这种↓


这个界面和VB的编程界面基本是一样的,在实际的开发过程中,小编建议大家在vba库中编写,因为:

  1. 可以按F8一行一行的运行,方便我们查错;

  2. 当输入CATIA能够识别的对象名称方法时,比如selection.vispeoperties以及point.getcoordinates这种,如果黄色部分自动变成了大写:VisPropertiesGetCoordinates,就说明我们写对了;反之很可能是出现了拼写错误。

  3. 可以做交互界面~

因此,如果你拿到的是一个脚本文件,那么有2种方法可以运行它:一种是直接双击;另一种是在macro library里选择该脚本所在的目录。而通过后者的操作后,我们在tools→customize的commands选项卡中,左边category选择macros,右面就会出来这个命令,我们可以将其拖拽到当前工作台的工具栏中为之创建快捷方式,这样看起来就像是一个系统自带的命令了↓


而如果你拿到的是一个.catvba库文件,首先要加载这个库,才能运行其中的命令。当然,也可将当前选择的vba库中的脚本用上面的方法添加到工作台中。

**********分割线********

这篇文章也是陆陆续续写了好几天了,一直纠结是写成一篇长文还是分成两篇短文……

最终决定,趁热打铁,我们来写(确切点说叫修改)一个程序,一个可能对于各位来说是乃们的第一个程序,一个看似复杂但其实原理很简单的程序。

好久好久以前(貌似要追溯到公众号刚刚创建那会),小编写过利用UDF+Loop的方法创建旋转楼梯↓


而且当时一写就是三篇文章↓

旋转楼梯-1:如何利用参数驱动模型

旋转楼梯-2:powercopy的建立(文章讲的超级细,因此也略长)

旋转楼梯-3:UDF+Loop实现旋转楼梯的创建

不过,当时小编就说了,创建这个旋转楼梯,除了UDF+Loop的方法,还可以使用宏来创建。

所以接下来的内容就来跟大家分享,如何通过录制宏并修改的方法实现旋转楼梯的创建!

直奔主题!

点击tools   macros   start recording,出现如下界面,点start开始录制。我们新建一个vba库,然后将宏录制在新建的这个库里面。


如果你的屏幕中有下面这个图标,就说明当前为录制状态,你的操作会被记录成vbsrcipt语言。


现在,我们来做如下的操作:

画一个台阶的草图出来↓


让该草图绕着中心线旋转0°角↓


用旋转后的线框拉伸一个pad,两个限制长度分别写上10,-5


然后点这个按钮停止录制就可以了↓

然后我们通过Tools→Macros→Macros,选中刚才录制的宏,点击Edit,就可以看到代码了!

各位可不要被这么一大堆代码吓到,现在也不用弄懂每一句都是干啥的,我们直接找到旋转草图和拉伸的操作(代码的最后一部分):


我们对其添加一个小小的循环程序,做如下修改:


改完之后,按F5运行一下,是不是就出现了下面的效果了呢↓

本文略长……信息量也很大,写了好几天才完成。看到小编这么辛苦,各位小伙伴要不要考虑赞赏一个呢~~~

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多