VSL是Virtools提供的一个非常有创意的脚本语言,它以输写代码的方式(区别于Virtools现有的图形化编程界面)进行编程开发,提高了程序的可读性和工作效率。
下图的功能是:将一个3D物体拷贝出10个,然后分别重新命名这10个新的3D物体。要完成这样的功能需要4个BB进行组合,要连接8条线。
现在我们用VSL脚本程序(注意不是Virtools脚本)写一个BB来实现同样的功能,如下代码:
void main() { // Insert your code here String temp; for(int i=0;i<10;i++) { Entity3D myCopy=Entity3D.Cast(bc.Copy(MyRef)); temp=MyName+i; myCopy.SetName(temp.Str()); } }
其中Run VSL有两个输入参数,MyRef(类型为Entity3D)和MyName(类型为String),简化后如图2所示:
增加需求,不仅要拷贝出这些3D物体,还要把他们的位置全部归0,也就是放到世界坐标为:0,0,0的位置上。这时候来看看两种方法各自改进的工作量吧:
VSL脚本程序只需要在for循环最后加入代码:
Vector pos(0,0,0); myCopy.SetPosition(pos);
VSL脚本编写很简单,在这儿主要介绍下脚本程序的定位及删除:
如果想从VSL管理器中直接跳转到使用了该VSL脚本BB的Virtools脚本中去,右键选中某个VSL脚本,然后选择“Focus in Schematic”即可。如果Virtool脚本中多处都使用了这个VSL脚本,那这个方法只能定位到其中的一个Virtools脚本BB中去。
删除一个VSL脚本BB不能在通过VSL管理器来删除,既然它是BB,就自然是按常规的方法,到Virtools脚本中,选中要删除的BB来进行删除。注意如果Virtool脚本中多处都使用了这个VSL脚本BB,只有把这些BB都删除了,该BB的VSL脚本才会从VSL管理器中自动地消失。
VSL语法为类C语言,在此不再赘述。
关于快捷键,列出如下:
- Shift + F4 –在Debug编辑模式中显示上一句错误代码的位置
- F5 –执行脚本程序。
- F6 – 停止脚本程序的执行。
- F7 – 编辑当前VSL脚本程序。
- Shift + F7 –编辑所有VSL脚本程序。
- F9 – 插入一个断点。
- F9 + Shift – 移除当前VSL脚本程序中所有的断点
- F9 + Shift + Control – 移除全部VSL脚本的所有断点。
- F10 –在Debug编辑模式中单步调试VSL脚本程序。
- F11 –在Debug编辑模式中单步调试,所调用的函数体内的语句。
- Shift + F11 –在Debug编辑模式中单步调试,所调用的函数体外的语句。
- Ctrl + Pge Up/Pg Down –上翻/下翻查看代码。
- Ctrl + C –复制。
- Ctrl + V – 粘贴。
- Ctrl + F –查找。
- Ctrl + H – 替换。
- Ctrl + G – 跳转到特定的行。
- Alt + Enter – 全屏或窗口编辑模式切换。
- Ctrl + M – 自动完成设置开关。
- Ctrl + B – 自动关闭开关。