Altium Designer脚本系统概述
Altium Designer脚本系统概述
Altium Designer脚本系统是集成在Altium Designer软件中的脚本解释器,该系统支持4种脚本语言,Delphi Script、EnableBasic、VB Script和Java Script。在同一个脚本文件种可以编写一种脚本语言,在同一个脚本工程中,可以集成多种脚本文件,不同脚本文件中的脚本语言中的全局变量可以互相访问,不同文件中的函数可以互相调用。
在Altium Designer脚本系统可以使用的接口非常丰富,在Altium Designer脚本系统叫做运行时库,包括DXP API、Schematic API、PCB API、Workspace Manager API、Nexus API、VCL API等API接口,每个API接口都对应不同的对象模型,不同的对象模型对应有单独的服务器,在Altium Designer中服务器的客户端-服务器系统表示dll格式动态链接库文件。
如下图左大圆中的每个API表示一个对象模型,每个对象模式中的接口有层次访问关系,有的接口之间还有继承关系。在运行时库中的六大API接口中每个接口都有一个顶层的接口,要获取此接口的子接口和后级接口,需要首先获取顶层接口后再一层一层的获取里面的子接口。在没有打开对应的服务器的情况下,获得的顶层接口可能是空的,为确保需要的服务器一定存在,在访问之前需要将对应的服务器打开。

由于Altium Designer软件是使用Delphi软件开发的,里面支持Delphi Script、EnableBasic、VB Script和Java Script这四种脚本语言,因此,VB Script和Java Script语言中的自带函数均可直接使用,Delphi Script是Delphi 语言的一个子集,在脚本系统中Delphi Script支持的函数也可直接使用,Delphi Script中的内置函数不仅在Delphi Script脚本文件中可以使用,也可以在VB Script中直接使用,因此大大的扩展的VB Script应用领域,减少了使用VB Script脚本语言编程的难度,有算法可以直接调用Delphi Script的内置函数,加大程序开发周期。
Altium Designer脚本系统支持VB Script程序语言,从脚本系统运行时调用的动态链接库可知,Altium Designer的VB Script程序调用的时Windows的vbscript.dll文件,Windows系统中自带的VBScript是支持GetObject函数和CreateObject函数,大大的提高的Altium Designer脚本系统的应用领域。
在脚本中如何使用加速:
由于Altium Designer脚本系统中支持的语言均属于解析型的语言,相对于编译型的脚本语言具有处理速度慢的特点,如果需要将执行几个小时的程序限制在几分钟内执行完,可以有以下几种方法:1.将需要处理的数据分成多份,然后一份一份的执行进行处理;2.调用Matlab的并行运算工具箱,使用Matlab的高速算法提高程序的运算速度;3:将算法从解析型语言改为编译型语言,在脚本语言中通过控制台调用软件并执行。
如何使用Altium Designer脚本系统和其他计算机或外设进行通信
Altium Designer脚本系统的语言并不能访问硬件,可以通过调用系统的Mscomm对象或Matlab中的Serial对象对串口的访问,调用Sock对象对网口进行访问。调用不同的方式对串口或网口的访问,各有各的特点,对象本身就有Bug,还需添加硬件或改成程序进行规避Bug。
ALtium Designer脚本系统在CAD方面的应用,Altium Designer软件中本身不带有Auto CAD软件中的功能,在脚本系统使用使用CreateObject函数可以创建一个Auto CAD软件的实例,可以实现CAD软件中的绝大多数功能几乎是软件的全部功能,但是在创建Auto CAD软件的图元对象时,由于在Auto CAD中的数组的变量类型和Altium Designer脚本系统的数据类型部分不兼容,无法创建图元对象外,创建AutoCAD实例、关闭软件、打开文件时可以正常操作的。
Altium Designer在三维模型中的应用,在脚本系统中可以直接创建CATIA和SolidWorks软件的实例,可以像在CATIA软件和SolidWorks软件中手动操作特征树一样对特征进行操作。可以在脚本中实现一些需要花费比较长的时间才能创建的曲面或者三维模型/二维曲面。
Altium Designer在通信方面的应用,Altium Designer软件在启动后可以自动联网和Altium公司的服务器进行通信,上传和下载数据,在脚本系统中也可以实现自动上网和在局域网中和其他计算机通信的功能,在互联网中获取或者上传数据,可以自动访问网页后将数据从网页中下载后保存在本地。
Altium Designer脚本系统在数据库中的应用,在脚本系统中可以使用CreateObject函数直接创建Access.Application、Excel.Application和Microsoft.XMLDOM等对象,可以方便的在脚本中使用这些数据库中的功能,结合脚本系统控件面板中丰富的控件,可以设计出很多优秀的数据库操作程序。
Altium Designer在语音播放/控制方面的应用,在脚本系统并无语音控制相关的函数,结合微软开发的“SAPI.SpSharedRecognizer”对象,可以非常方便的实现语音播放文本的功能,最少使用两行代码可实现文字转语音,语音控制可结合微软开发的“Speech API”配套的软件可实现使用语音控制Form脚本上的控件功能。
Altium Designer在自动画原理图方面的应用,通常绘制原理图均是手动绘制的原理图,重新设计一块新的原理图通常是在以往的原理图基础上修改完成,因此原理图的使用具有比较大的复用性,将能够完成一定基本功能的原理图作为一个基本的原理图模块,使用特定的数据库将原理图模块和能够实现的功能关联起来,在原理图中使用这些模块即可以根据索引的功能将原理图模块添加到当前的原理图中,根据需要将原理图中的网络标号连接到其他的原理图模块中。
Altium Designer在人工智能方面的应用,在脚本系统中使用的是解析性脚本语言,在执行程序时具有执行效率较低,执行速度慢的特点,直接使用脚本语言编写智能算法有比较大的局限性,脚本中创建Matlab对象,可以在脚本程序中调用Matlab对象执行Matlab程序,增大了程序的执行效率和提高了程序的应用场景,Altium Designer中丰富的控件结合Matlab中优秀的智能的算法,可以实现多种丰富的功能。
Altium Designer在人机交互方面的应用,脚本系统控件面板中提供了7个大类113种控件,其中第七大类控件的25种控件是专门为仪器仪表进行设计的,控件的外观接近于实物的控件外观,将控件合理布置在表单中和真实的仪器仪表外观相似,其中功能比较特别的控件为旋钮控件、示波器控件、表头控件,这些控件可以和Altium公司开发的NanoBoard系列硬件直接通信,在没有硬件的情况下和MSComm、Winsock控件配合使用也可以和下位机进行通信。
Altium Designer在虚拟仪器方面的应用,在Altium Designer软件中带有虚拟仪器的功能,这需要和Altium公司开发的NonoBoard硬件配合使用,如果没有Altium公司开发的硬件,也可以使用第三方硬件配合微软公司开发的MSComm、Winsock控件进行通信,可以达到Altium公司开发硬件的相同功能。
Altium Designer在自动化文字处理,脚本系统结合Word.Application对象可以使用重复的文字处理自动化,可以直接处理段落、表格和图片等信息,在文档中表格十分多的情况下,使用脚本自动化处理文档能大大的提高文档的处理速度。
Altium Designer在自动物料信息(BOM)方面的应用,脚本系统中丰富的控件可以设计出非常美观的界面,结合字符串处理函数与Excel对象、XML对象、网页对象可以处理多种格式的BOM文件,可以以非常块的速度处理完BOM文件,将BOM文件按照模板处理成标准格式的BOM文件,在使用了字典对象等可以提高查询速度的方法,甚至可以在毫秒级中将一份从多种软件导出的BOM表使用标准的模板并使用标准的数据库替换。