本文主要介绍Altium Designer的脚本开发,顺带提一下其他软件的脚本开发,这里的脚本开发主要指在使用解析型的程序进行开发,不需要事先进行编译的开发方式。
数据库操作
Altium Designer支持数据库操作,目前已经经过验证的是可以直接对Excel(包括WPS软件中的表格)和XML数据库进行访问,可以使用Excel中的全部功能,只要是通过鼠标对Excel进行的操作都可以通过脚本实现,在Altium Designer中可以实现对数据库相同的功能,Altium Designer中可以直接对XML文件进行操作,创建根节点,创建、删除、移动、新增子节点等功能。
办公自动化
Altium Designer中可以直接对Word进行操作,在Altium Designer的脚本中可以直接打开Word文件,添加、删除、移动文字、图片、表格等对象,在短时间内可以自动的成批量的添加数据。
建模自动化(分形模型和电子元件模型)
Altium Designer中的脚本可以直接调用SolidWorks、CATIA等三维软件创建三维模型,此功能的实现需要在计算机中安装SolidWorks软件和CATIA软件,通过调用在注册表中的对象可以直接创建三维模型,在SolidWorks软件中菜单栏和工具栏中的功能大部分都可以在Altium Designer中实现,两个典型的应用是创建分形的三维模型和批量创建电子元件的模型。
许多软件都可以创建三维的分形模型,但是大部分都不能导出为三维模型,只能在软件中查看,使用脚本创建分形模型,具有生成速度快,迭代次数可直接设置,通过软件自身的脚本功能可以创建,也可以通过其他软件调用三维软件进行创建,当然也会受到迭代函数的一些局限,当迭代次数一旦过大,受到软件内存的限制,三维软件就会卡死甚至崩溃。(这里三维软件仅指Altium Designer可以调用的CATIA和SolidWorks这两个软件,暂时不包括Auto CAD,Auto CAD也可以在Altium Designer脚本开发环境中调用,在Auto CAD的脚本开发环境中可以实现创建图元对象,但是在Altium Designer的脚本开发环境中使用相同的函数却不能实现相同的功能)
Menger三维模型
比如画几个元件DIP封装的模型,模型中有厂家的型号等字符串,如果画几个元件还画的津津有味,如果数量大于几十个,这种模型画的遍索然无味,属于重复性的劳动。在这种情况下就可以使用脚本自动画元件模型,原理非常简单,首先遍历一遍元件的特征树,找出有字符串的特征,将特征中草图的字符串替换的同封装的字符串即可。
计算机通信
在自动画原理图或者自动画模型中,需要对不同计算机或设备(包括单片机、FPGA、SOC、串口屏、手机等设备)上的不同软件进行控制,这时候就需要使用到计算机通信,在脚本系统里最常用的计算机通讯主要包括串口通信和网络通信。
一台计算机中的Altium Designer和另外一台计算机中的Altium Designer进行通信,使用串口线或者网线将两台计算机进行连接在一起,使用串口控件或者网口控即可将完成两台计算机的通信。
只考虑Word、Excel、PPT、WPS、Visio、AutoCAD、Altium Designer、CATIA、SolidWorks、Pads、Capture(Cadence中画原理图的软件)这些软件的相互控制。
同一台计算机中相同的软件通信
同一台计算机中不同的软件通信
不同计算机中相同的软件通信
不同计算机中不同的软件通信
计算机控制
计算机控制单片机、控制继电器的开关、接收GPS的串口、控制舵机角度、控制电机转速等等功能。
自动画原理图
自动画原理图中关键算法
自动画PCB
目前EDA软件的自动布线功能,都不是太令人满意,在实际工程操作中大部分都是手工布线,使用自动画PCB这里涉及到三个问题,自动化约束、自动化布局和自动化布线。
自动化约束为PCB板的叠层设置、线宽设置、差分/单端设置、数据总线等长设置等
自动化布局为将PCB上的元件全部放在PCB板框内,根据元件的拓扑关系放在合适的位置。
自动化布线为根据约束、布局自动将线路布好。
(此段未完)
网络爬虫自动爬取数据手册
在Altium Designer中支持VBS,此种语言支持在网页中爬取数据,目前使用VBA在网页中爬取数据在Excel中使用的较多,但是使用VBA进行爬虫制作的书籍却不多,在Altium Designer中使用脚本功能,可以根据原理图中的人元件在网络上将元件的数据手册之家下载下来,目前在Altium Designer遍历网页时有一个问题需要提前解决,网页的编码有多种方式,网页中使用GB2312编码可以直接获取,如果是使用的是UTF编码,直接获取的是乱码,需要将网页编码方式转换为GB2312后才能正常访问里面中文。