2023年11月30日发(作者:)
OfficeCADEDACAE软件脚本开发⼆次开发简要介绍
Office/CAD/EDA/CAE软件脚本开发/⼆次开发简要介绍
本⽂主要介绍办公软件(Word、Excel、PPT、Access、Visio),CAD(Auto CAD、Solid Works、CATIA),EDA(Altium Designer、
Pads、Cadence)和CAE(ICEM、Fluent)等软件的脚本开发⽅式或者⼆次开发⽅式,以及相关的参考资料。
不同的软件的参考资料的丰富程度并不相同,参考资料语⾔限制了⽅便理解软件的开发⽅式,在Office办公软件的脚本开发中Excel脚本
开发的资料最为丰富,在CAD软件中以Auto CAD软件最为丰富,在EDA软件中软件脚本及开发的中⽂资料较少,功能模块开发⽅式需要⼈
为理解。CAE软件的介绍就更少(不是没有)了。
⽬前⽐较常⽤的办公软件包括Word、Excel、PPT、Access这三款软件都是微软公司出品的,在购买电脑时已经预装的办公软件,Visio
软件不是Office的⼀部分,需要单独安装,WPS是国产⾦⼭公司的⼀款软件产品,⽬前这⼏款办公软件都⽀持VBA,微软的办公软件是⾃带
的⾃家的VBA,Visio本来是⼀家独⽴的公司,后来微软把这个公司买了,成为微软的⼀个独⽴的产品,⾦⼭公司是为数不多的⽀持VBA的
国产公司。
⽀持VBA的软件的CAD建模软件有很多,其中⽐较常见的包括Auto CAD、SolidWorks、CATIA等软件,当然也有其他软件⽀持VBA的
CAD软件,这些软件的⼚家在微软的官⽅上可以查到,⼀共⼀百余家⼚商,⼤部分都是国外的公司。
使⽤VBA在三维建模软件中⾃动运⾏和使⽤⿏标在 三维建模软件中的操作相同,在三维软件中有些函数是具有交互功能的,意思就是在
程序运⾏到当前⾏需要客户⽤⿏标指定⼀个图元对象或者使⽤键盘输⼊⼀个字符串程序才能往下执⾏,⼤部分的函数是不具有交互功能的,
⽅便程序运⾏,在⽀持VBA的软件中有⼀个脚本编辑器,脚本编辑器中有⼀个对象浏览器,对象浏览器中有该版本的脚本所⽀持的类(在
VBA或者C++⾥⾯未实例化的类叫做类,但是在Delphi中未实例化的类叫做对象,对象在使⽤时还是需要实例化)。
在脚本编辑器中可以使⽤Application函数获得当前软件的顶层接⼝,这个接⼝可以根据对象的层次关系获得⼦接⼝或者⼦接⼝的⼦接⼝,
也可以获取⼦接⼝的属性或者执⾏⼦接⼝中的函数和⼦程序。
在VBA编辑器中的对象浏览器提供了在VBA⾥⾯可以使⽤的类,类中有函数或者属性,还有⼀些类中是⼀些常数,⽅便在程序中使⽤
的,常数可以代表固定的数值、字符串等等,根据⽬前的对象浏览器提供的常数来看,⼤部分常数都是代表的数值。
在Auto CAD2007和SolidWorks2013软件安装好之后是可以直接使⽤VBA编辑器的,⽽在CATIA V5R20安装好之后不能直接使⽤VBA的
编辑器,但是可以使⽤CATIA提供的⼀个简易的编辑器,简易的编辑器是可以访问对象浏览器的,在AutoCAD和 SolidWorks中对象浏览器
的库的个数只有很少的⼏个,可以的⾮常⽅便的定位的库⾥⾯的类,⽽CATIA的库的个数⾮常多,这是由于CATIA软件在设计时是⼀个个模
块组成的,草图模块就是草图模块,曲⾯模块就是曲⾯模块,创成设计模块就是创成设计模块,模块之间相互独⽴,常⽤的模块不到20个,
⽽在VBA的对象浏览器中这些模块的类被放在⼀个个库中,⼀个库对应⼀个模块,库⾥⾯的类可以根据选择的库分离出来,⼤部分库⾥⾯的
类的熟练都⽐较少,库⾥⾯的类是主演被集合在⼏个常⽤的库中。
办公软件的脚本开发⼆次开发介绍这⼏种(Word、Excel、PPT、
Visio、WPS)
Word
Word为微软办公全家桶中的⽂字处理软件,从Word 2007以后都已经开始⽀持XML⽂件格式,Word软件中已经集成了VBA,通过VBA
可以实现⽂档编辑的⾃动化,可以访问Word⽂档中的各种元素,进⾏批量化的操作。也可以将⽂档的操作录制下来在VBA编辑器中修改。
Excel
Excel进⾏脚本开发的参考书籍是办公软件进⾏脚本开发中最多的,使⽤Excel进⾏脚本开发,可以实现统计⾃动化、进⾏⽹页数据的抓
取(这个功能只要有VBA的功能都可以实现),Excel中的VBA是软件中⾃带的,
PPT
Visio
使⽤Visio进⾏脚本开发,⽬前没有发现有介绍介绍开发⽅式的书籍,但是从微软的官⽹中有介绍使⽤Visio脚本开发的资料,在Visio中
使⽤脚本开发和Word、Excel中极性脚本开发都是类似的。Visio中⾃带VBA开发环境,可以在Visio开发环境中进⾏脚本开发,也可以在其
他⽀持VBA或者兼容VBA的环境中创建⼀个Object对象,从⽽操作Visio中的对象。
使⽤Visio进⾏脚本开发,开发环境的⽅式可以分为两种,⼀种是Visio⾃带的VBA开发环境,另⼀种是第三⽅软件或者脚本开发环境,使
⽤Visio的脚本功能制作产品⼿册⾮常的⽅便,所有的图页都可以放置在在相同的坐标上,避免了⼿动对不齐的问题。
Visio的VBA开发界⾯
Visio 2013的对象浏览器
Visio 2013中可以使⽤的库的分类
WPS
在WPS软件中使⽤⾃带的脚本开发环境中使⽤的语⾔为JScript,其他软件或者开发环境中也是可以通过VBA程序启动WPS软件的,在其
他软件下对Excel或者Word进⾏操作,代码在不更改的情况下可以直接⽤于WPS软件。
CAD软件的脚本开发介绍这⼏种(Auto CAD、CATIA、
SolidWorks)
Auto CAD
CATIA
基于CATIA的应⽤程序开发可分为以下⼏类:
标准格式的输⼊输出。⽤跨CAD平台、跨PDM、标准格式的输⼊输出,以便进⾏数据格式的转化。
使⽤⾃动化应⽤程序接⼝(Automation API)的宏。⽤于⾃动化(Automation)组件、⽇志、Visible Basic和JavsScript/Html的开发,这是⼀
种交互⽅式的定制。该定制⽅式允许⽤户获取CATIA的数据模型。Automation API具备了与任何OLE所兼容的平台进⾏通信的能⼒。
智能构建(Knowledgeware)。智能构建是⼀项预定义的易⽤服务,驱动的管理和重⽤是从函数、规范到组件和系统⼀步⼀步实现的。它
是⼀种反应式的、基于规则的、⾯向⽬标的客户化⽅式,允许定制和外部代码的集成。它⽤于三个⽅⾯:知识顾问、知识专家和产品⼯程优
化。
交互式的⽤户定义特征,是⼀种编制式的定制开发。通过聚合现存的特征来交互地定义新的数据模型。收集现存规范,指定输⼊,从⽽
创建⼀个IUDF(⽤户定义特征)、IUDF可以通过引⽤⼀个Catalog保存在.CATPart⽂档中。它可以交互地被客户使⽤。
CAAV5的C++和Java应⽤接⼝。这是基于组件的定制开发。CAA是组件应⽤架构(Component Application Architecture)的缩写,是
Dassault Systemes产品扩展和客户进⾏定制开发的平台,它使全球诸多开发商可参与Dassault Systemes的研发。利⽤CAA可以进⾏从简单
到复杂的⼆次开发⼯作,⽽且和原系统的结合⾮常紧密。
CAA(组件应⽤架构,Component Application Architchture)架构图
CATIA进⾏脚本开发的语⾔⽀持宏语⾔、CATScript、MS VBScript这三种脚本语⾔,C++等编译型的语⾔。
CATIA V5R20的对象浏览器
CATIA V5R20库的分类
SolidWorks
SolidWorks采⽤了COM技术标准,将复杂的应⽤程序设计成许多⼩的、功能相对简单的组合模块,各个组件软件完成某些特定的功能,
同时按照COM标准对外提供接⼝,然后把这些独⽴的软件组合在⼀起促成功能强⼤的⼆次开发接⼝,任何⽀持OLE(Object Linking and
Embedding,对象的链接与嵌⼊)和COM的编程语⾔都可以作为Solid Works的开发⼯具。如Visual C++、Visual Basic、Delphi等均可⽤于
SolidWorks的⼆次开发。
SolidWorks 2013 VBA开发窗⼝
SolidWorks 2013库的分类
EDA软件的脚本开发/⼆次开发介绍这⼏种(Altium Designer、Cadence、Pads、⽴创
EDA)
在EDA软件中⽤户⽐较常⽤的包括Altium Designer、Pads和Cadence这三款软件都⽀持脚本操作,三种软件的脚本都不是VBA。
Altium Designer
Altium Designer软件是使⽤Delphi语⾔开发的,此软件的各种架构都有明显的Delphi语⾔软件的影⼦,Altium Designer软件的原理图、
PCB服务器都是对象继承⽅式,Altium Designer中的软件中的控件有113个,⼤⼤⽅便了脚本界⾯开发。Altium Designer软件⽀持服务器开
发和脚本开发,服务器/插件开发⽀持Delphi、Microsoft C#、C++这三种语⾔,脚本开发⽀持Delphi Script、Enable Basic、JScript和VB
Script这4种脚本语⾔,另外还有⼀种语⾔为Query Language也是属于脚本语⾔,⽤于在原理图和PCB⽂档中进⾏图元对象查找的,可以使
原理图或者PCB⽂档中的图元对象⾼亮、其他图元对象变暗或者变灰等视图的操作,这种语⾔并不像其他4种脚本语⾔⼀样可以创建、移
动、变换、删除图元对象,只能对视图进⾏操作。
服务器/插件的开发使⽤编译型的语⾔Delphi、Microsoft C#、C++进⾏开发,开发完成后的程序需要集成在Altium Designer软件中执
⾏,其特点的编译后⽣成的软件能和开发环境的AD版本中使⽤,不能在其他版本中使⽤,⽐如在AD9中使⽤Altium Designer⼆次开发,开
发后的插件并不能在AD13中使⽤,如果⼀个单位使⽤了AD9进⾏了⼀些功能模块的开发,如果软件升级的话之前的项⽬需要重新维护,造
成⼀些客户单位并不想升级,Altium Designer软件处于商业⽅⾯的考量,卖新不卖旧就不太愿意将此项技术拿出来,之前有单位使⽤过
Altium Designer软件的⼆次开发的版本,但是⽬前Altium Designer软件并不对中国⼤陆开放,如果想要学习使⽤Altium Designer的⼆次开
发的难点主要由两个,其⼀是参考资料“Altium Designer RTL Reference for Servers”和“Using the Altium Designer RTL”,这两份资料是介
绍Altium Designer软件的⼆次开发的介绍,⽬前在各个版本的软件中并没有找到这两份⽂件,另⼀是Altium Designer软件的SDK开发包。
如果有以上两种资料和DEMO⼯程就可以开始Altium Designer的插件开发了。虽然不能在Altium Designer中使⽤⼆次开发的⽅式进⾏功能扩
展,但是在Altium Designer软件中使⽤脚本开发的⽅式进⾏功能扩展.
AD的脚本开发⼀共⽀持4种脚本语⾔Delphi Script、Enable Basic、JScript和VB Script,不同的脚本语⾔赋值、循环控制、判断和基础
的语法有些许的不同,开发起来都差不多,在同⼀个脚本⼯程中⽀持多种不同的语⾔⽂件,在同⼀个脚本⼯程中,使⽤不同语⾔写的函数和
全局变量是可以相互调⽤的,⽐如说使⽤VB Script脚本语⾔写了⼀个函数,在同⼀个⼯程下的另外⼀个JScript语⾔中可以调⽤VB Script脚
本中的函数,在不是同⼀个脚本⼯程下就不能相互调⽤不同⽂件下的函数,这⾥有⼀种语⾔Enable Basic,此语⾔是在上古时期Sax
Basic、Cypress Enable Scripting同时代出现的⼀种语⾔,和VB或VBS语⾔的语法基本相同。这种语⾔不能调⽤AD中的113个控件,但是
可以使⽤为10个左右的⼏个控件,控件的创建、调⽤和响应函数都在同⼀个脚本⽂件中,其他Delphi Script、JScript和VB Script这三种语⾔
在创建Form脚本⽂件时在表单(或称为窗体)是可以直接拖进脚本系统中的全部控件的,脚本中的控件⼀共是113个,⼤部分控件为Delphi编
程软件中的控件,⼀⼩部分是Altium Designer中单独的控件,在Altium Designer的较少控件的参考资料⾥⾯,控件的继承⽅式⼤部分都是有
误或者继承中有遗漏的,和《Delphi7 VCL继承关系全图》中并不匹配。
在Altium Designer中使⽤脚本功能,可以启动安装的各种服务器,服务器的为DXP平台的的各种插件,在⽂件管理器中就是DLL⽂件,
启动某个服务器就是将对应的DLL⽂件加载到内存中,⽐如启动原理图服务器就是将“”⽂件加载到内存中,在使⽤服务器的函数
之前需要将服务器启动,使⽤服务器的API函数接⼝⾸先需要获取服务器的顶级接⼝,然后⼀级⼀级的向下访问服务器的各种函数接⼝,层
级关系遵循Microsoft OLE Automation Server guidelines,不同版本的服务器数量有些许不同,⽬前通过API函数可以访问的服务器有
DXPAPI、原理图API、PCB API、⼯作空间API、集成库API、FPGA API,其他服务器⽐如⽂本编辑器等就不⽀持或者是不开放API访问的
⽅式,原理图编辑API为原理图⽂档服务器,对应操作的⽂档为SCHDoc和SchLib,PCB编辑器API为PCB⽂档服务器,对应操作的⽂档为
SchDoc、SchLib、⼯作空间管理器API为⼯集合管理的的服务器对应的⽂档为LibPkg,FPGA API为FPGA编译服务器,对应的⽂档为v或
vhd,在脚本中使⽤⾃动化对象可以有多种⽅式,使⽤进程、API函数等⽅式。在AD脚本系统中的进程的概念类似于办公软件中的宏,在AD
帮助⽂中的的单词为process,也有⼀些⽂档解释为过程。
Altium Designer软件的程序开发⽅式
其中Altium Designer软件是使⽤Delphi软件开发的,在脚本系统中是使⽤的Delphi的脚本系统,⽬前Altium Designer脚本系统⽀持4种脚本
加⼀种脚本语⾔,4种脚本语⾔分别为Delphi Script、JScript、VB Script和Enable Basic脚本语⾔,另外⼀种脚本语⾔为查询语⾔,查询语
⾔并不能在原理图⽂档或者PCB⽂档中添加,⾃动,删除⽂档中的图元对象,查询语⾔的功能是在原理图或者PCB⽂档中⾼亮图元对象的,
可以快速的定位原理图和PCB中的图元对象。
在Altium Deisigner中可以创建TCL脚本语⾔的⽂档,根据官⽅的资料TCL解析器,在脚本系统中并未实现。
在Altium Designer脚本系统中提供的前4种脚本语⾔中,前⾯三种脚本语⾔可以分为⼀类,后⾯⼀种脚本语⾔可以分为⼀类。
在Altium Designer脚本系统的菜单栏中前⾯三种脚本语⾔都是可以创建Script From和Script Unit这两种模式,创建Script From是可以⾃动⽣
成⼀个脚本⽂件和⼀个窗体⽂件,脚本⽂件中可以编写窗体或者控件的响应的函数和⾃定义的函数和⽅法。窗体⽂件为⼀个Windows的经典
窗⼝界⾯的⽂件,窗体和在窗体上放置的控件的各种属性和事件的链接关系都是放置在窗体⽂件中的。
窗体⽂件中⼀共可以放置7个⼤类共113种控件,7个⼤类中前6个⼤中的控件都是来⾃Delphi软件,后⾯1个⼤类控件是Altium Designer提供
的仪表控件。
在5个⼤类的控件中的继承关系都是和Delphi开发⼯具的VCL相同,第6个⼤类控件是类似于XP风格的控件,⾥⾯的属性事件不是和Delphi 中
的VCL相同,没有和前⾯5个⼤类的继承关系。第7个⼤类是Altium Designer中提供的仪器仪表的控件,控件的风格⾮常漂亮,基本功能可以
根据控件提供的属性直接使⽤,这些功能还包括⼀个和Altium Deisgner nano相互通信的属性,可以和下位机通信完成⾮常丰富和强⼤的功
能,⽬前关于这些控件的继承关系和⾼级使⽤⽅法,软件的帮助PDF⽂档,帮助chm⽂档和官⽅都没有相关的介绍资料。
在Altium Designer的脚本系统中编写脚本可以分为两种类型,⼀种成为进程(Progress)和函数接⼝。这⾥进程的概念和计算机的任务管理中
的进程不⼀样,Altium Designer中的进程类似宏,使⽤⿏标在软件内操作,软件会将菜单栏、⼯具栏、快捷键、⿏标操作等作为命令通过客
户端发送给服务器,这些命令也就是进程。客户端语⾔将不同的进程发往不同的服务器,然后由不同的服务器完成指定的操作。Altium
Designer中带有宏录制的功能,但是这个功能并未完全提供给客户,要使⽤宏录制的功能,需要在软件中做⼀些特殊的操作。
函数接⼝就是在脚本⾥⾯使⽤API函数接⼝⼀层⼀层的获取下⼀级的接⼝、执⾏⽅法、获取属性的⽅法,Altium Designer中的架构为C/S架
构,C/S架构中就是有⼀个客户端,多个服务器,Altium公司将C/S架构在AD中命名为DXP平台,客户端就是软件的界⾯和框架,服务器就
是在DXP平台中安装的各个服务器,⽐如原理图服务器、PCB服务器、⽂本处理服务器,每个服务器在安装⽬录下都对应这个dll和ins的⽂
件,dll⽂件就是服务器的动态链接库⽂件,语⾔使⽤某个服务器的功能就需要从磁盘⽤将某个服务器对应的dll⽂件加载进内存中,ins⽂件
为服务器对应的进程列表。服务器中可以执⾏的进程都在ins⽂件中的,服务器的dll⽂件和ins⽂件是⼀⼀对应的。
在脚本系统中最常⽤的3个顶层函数接⼝为Client、SCHServer和PCBServer,对应于⽀持VBA的软件就类似于Applcation,Application是获
取VBA软件的顶层接⼝的函数,⽽在AD的DXP平台中Client、SCHServer和PCBServer这三个函数就是获取客户端、原理图服务器、PCB
服务器的顶层接⼝的函数。
在原理图服务器和PCB服务中的原理图和PCB⽂档中类似于⼀个容器,⾥⾯可以放很多图元对象,有的图元对象中还可以放很多图元对象,
⽐如在原理图中的元件和PCB中的封装,在这两种图元对象中还包括图元对象,可以抽象为容器中套容器。各个图元对象中⼤量使⽤了继承
关系,和可视化组件的继承关系类似,⼦程序、函数、属性在⼦图元对象中继承,⽗图元对象有的属性,⼦图元对象中⼀定有。
Altium Designer API函数接⼝
DXP平台
Altium Designer中原理图的层次访问关系(此图为两级加三级的部分)
Altium Designer的原理图⽂档中的图元对象的继承关系
如上图所⽰,这三张图为原理图⽂档中图元对象的继承关系,和Delphi软件中的VCL类似,每种图元对象都继承了它上⼀级对象的全部
⽅法和属性,在继承的对象中上⼀级的⽅法或属性都可以使⽤,在原理图⽂档中可以创建可访问这些图元对象,访问原理图中对象不是像访
问原理图服务器中的属性和⽅法,⽽是将原理图⽂档抽象化为⼀个容器,在原理图中的每个图元对象都是⼀个对象,在原理图服务器中创建
⼀个过滤器(有的也翻译为迭代器),根据过滤器依次访问在原理图中的图元对象,同时也可以在过滤器中设置图元对象的种类和坐标范围和
层级关系(这⾥的层级关系表⽰图元对象在原理图中的层级关系,好⽐在原理图中有⼀个矩形和元件中的矩形就不是同⼀个层级)对不同类型
的图元对象进⾏过滤。
Cadence
Cadence的脚本开发分为原理图的脚本开发和PCB的脚本开发,Cadence的原理图设计软件使⽤的是OrCAD,PCB设计软件使⽤的是
Allegro,两种环境中所⽀持的脚本不是通⽤的。在OrCAD中和Allegro中进⾏脚本开发都⽀持宏录制的功能。
OrCAD中⽀持两种脚本语⾔,⼀种语⾔为Cypress Enable Scripting脚本语⾔,语法形式类似于Altium Designer中的Enable Basic Script脚
本语⾔。另外⼀种语⾔为TCL脚本语⾔,TCL脚本语⾔⽀持基本的语法规则,和OrCAD中⽀持的语法命令,⽀持循环、判断等控制语句。
Allegro中⽀持两种脚本语⾔,⼀种为宏脚本命令,另外⼀种语⾔为Skill。宏脚本命令为传统的宏语⾔,不⽀持赋值、变量、函数、循
环、判断等语句
Cadence程序开发⽅式
在Cadence中的包括capture和allegro这两款软件,两款软件相互独⽴,脚本系统是不通⽤的。Capture软件是画原理图的软件脚本系统⽀持
Basic语⾔和TCL语⾔,Basic语⾔是使⽤的Sax basic脚本语⾔,和VBA的语法规则基本相同,TCL脚本语⾔是⼀种⼯具脚本语⾔,可以通
过tcl脚本语⾔获取原理图和原理图库中的图元对象。可以创建,移动,翻转原理图和原理图库⽂档中的图元对象,在pads中可以使⽤basic
语⾔调⽤tcl脚本语⾔,执⾏tcl语⾔可以通过多种⽅式执⾏。
1.通过capture的命令窗⼝中执⾏脚本⽂件
2.通过windows的cmd执⾏
3.通过第三⽅tcl编译器执⾏
allegro中⽀持两种开发⽅式,⼀种为allegro的命令,可以直接在窗⼝中执⾏的命令,命令类似于宏的功能,在allegro中⽀持1000多个命
令,只有很少⼀部分较为常⽤。另外⼀种开发⽅式是使⽤AXI-SKILL语⾔进⾏开发,⽀持⼈机界⾯。
OrCAD宏脚本开发
OrCAD中没有专门脚本编辑器,在编写脚本⽂件时可以使⽤OrCAD⾃带的⽂本编辑器编写脚本⽂件,也可以使⽤其他便于使⽤的⽂本
编辑器编写Cypress Enable Scripting脚本代码,编写完成后添加到OrCAD软件中运⾏。OrCAD中不⽀持单步执⾏、越过⼦函数执⾏、跳出
⼦函数、执⾏到光标处等调试功能,在执⾏脚本期间不能对原理图进⾏操作,⽣成的对话窗⼝为模态窗⼝,窗⼝关闭后才能对原理图进⾏其
他操作。
OrCAD中的脚本⽀持循环、判断等控制语句,加减乘除等四则运算,⽀持MsgBox、Input等输出窗⼝和输⼊窗⼝语句,⽀持⽂件创建、
复制、删除等操作,⽀持常⽤的三⾓函数常⽤的字符串等函数。
Cypress Enable Scripting脚本的执⾏⽀持在“Configured Macro”窗⼝中执⾏,⽀持通过菜单栏运⾏宏脚本⽂件,也⽀持快捷键启动宏脚
本⽂件。
OrCAD中的宏脚本⽀持创建窗⼝和控件,⽀持事件响应,⽀持将在窗⼝上的事件关联到⼀个函数中。
在OrCAD中使⽤Cypress Enable脚本可以在当前原理图页⾯中使⽤,在库⽂档不能使⽤Cypress Enable脚本程序,也不⽀持在库⽂件编
辑器中录制和运⾏宏脚本语⾔。Cypress Enable语⾔可以在原理图⽂档中添加、删除、移动、复制、旋转、镜像、替换图元对象。可以实现
图元对象的点选、框选、全选、反选,可以对书签、错误(DRC)、端⼝、⽹络、元件、字符串进⾏查找,⽀持输⼊和输出对话框,⽀持视图
的放⼤、缩⼩、区域⽅法、选择对象及进⾏放⼤。⽀持的赋值、运算语句。
OrCAD软件⽀持宏录制的功能,可以将使⽤⿏标键盘在原理图中的操作步骤以脚本的形式记录下来,在脚本⾥⾯再次运⾏,OrCAD不⽀
持脚本的调试功能,如果脚本程序⾥⾯有错误,则不能在脚本⽂件中正常的运⾏,不会提⽰在程序中的错误位置。因此程序的调试⽐较困
难。
Cypress Enable脚本的⽂件的后缀名为“*.bas”,如果在宏脚本⽂件中含有中⽂字符,则需要将脚本⽂件的编码格式转换为GB2312,否
则在程序运⾏期间会出现编码错误的提⽰。如果在宏脚本⽂件中仅有英⽂字符,脚本⽂件的编码格式为UTF-8或者GB2312均可正常执⾏。
OrCAD中宏脚本开发功能类似于Altium Designer中通过使⽤带参数/不带参数的进程对原理图⽂档的操作。
典型应⽤:
TCL脚本开发
在OrCAD中⽀持TCL(⼯具命令语⾔),属于解析型的脚本语⾔中的⼀种,可⽤于快速原型开发、脚本编程,GUI和测试等⽅⾯。
在TCL脚本⽂件中⽀持调⽤菜单栏中全部菜单栏命令,使⽤TCL脚本运⾏和使⽤菜单栏/⼯具栏/快捷键对原理图⽂档中操作的功能相同。
TCL脚本中的Iterate(过滤器)和Altium Designer中的过滤器的功能⽐较相似,都是在原理图⽂档的数据库中检索过滤得到原理图中的图元
对象,根据获取的图元对象可以对得到的图元对象进⾏处理操作。
在宏脚本⽂件中可以运⾏的函数是TCL脚本的⼦集,也有⼀部分语句只能在脚本⽂件中使⽤。
在原理图界⾯和库⽂档界⾯中都⽀持TCL脚本语⾔。虽然OrCAD不像⾃动化服务器/控制器⼀样,程序间的⽀持数据共享,但是OrCAD
中的脚本⽂件可以在Caption窗⼝中执⾏,也可以在Windows中执⾏,即可以通过其他的⽅式可以在程序间进⾏数据传递或者共享。
OrCAD中的TCL脚本开发类似于在Altium Designer中通过获取原理图的函数接⼝对⽂档中的图元对象进⾏操作。
OrCAD中TCL脚本⽂件的后缀为“*.tcl”。
典型应⽤:原理图转PDF
Allegro脚本开发
Allegro的脚本开发类似于Altium Designer中的进程(此处的进程和线程进程中的进程概念不⼀样)命令,都是分为带参数的进程和不带参
数的进⾏,在Allegro中分为带参数的脚本命令和不带参数的脚本命令。不带参数的命令为直接执⾏脚本命令,带参数的脚本命令为先执⾏脚
本命令,再传输脚本命令的参数。这⼀点与Altium Designer中的进程执⾏⽅式相反。
Allegro中的脚本功能类似于Altium Designer中的带参数的进程或者不带参数的进程,AXL-SKILL⼆次开发功能类似于Altium Designer中
通过服务器/客户端的脚本程序。
宏脚本开发
Allegro中⽀持宏录制和程序重放功能,在Allegro中脚本命令⼀共有1000余种,其中常⽤的不过100余种。使⽤脚本操作和通过菜单栏/
⼯具栏对⽂档的操作功能相同。⽀持视图⽅法、缩⼩、平移等操作。Allegro中的宏脚本中的命令和菜单栏、⼯具栏、快捷键的功能相同,使
⽤宏脚本对PCB⽂档的操作和通过菜单栏、⼯具栏、快捷键对PCB⽂档的操作功能相同。
Allegro中不⽀持判断、循环等流程控制语句,⽀持赋值、加减乘除等四则运算语法,可以将通过⿏标键盘在Allegro中的操作使⽤命令的
形式记录下来,Allegro脚本⽂件的后缀为“*.scr”。
Allegro中没有专门的宏脚本的编辑界⾯,不⽀持单步执⾏、越过⼦函数执⾏、跳出⼦函数、执⾏到光标处等调试⽅法。
宏脚本的执⾏⽅式有两种,⼀种通过菜单栏⽂件加载执⾏脚本⽂件,另外⼀种通过PCB编辑器下侧的窗⼝中执⾏。
Allegro中的宏脚本⽀持在PCB⽂档中添加、移动、删除、点选、框选图元对象,给图元对象对象分配颜⾊、⽹络等功能。在宏脚本命令
⾥⾯常⽤的命令都可以在PCB编辑器界⾯有对应的菜单栏、⼯具栏、⼩窗⼝或快捷键。
Allegro中的宏脚本开发功能类似于在Altium Designer中通过获取原理图的函数接⼝对⽂档中的图元对象进⾏操作。
典型应⽤:
AXL-SKILL⼆次开发
Skill有专门的开发界⾯。在Command界⾯中可以脚本命令和skill命令切换。
脚本运⾏⽅式⽀持在命令窗⼝中运⾏,也可以在“Scripting”窗⼝中运⾏。
Skill语⾔⽀持判断、循环等控制语句、与或⾮等逻辑语句、加减乘除等算数运算、IO及⽂件处理等。
Skill⽀持窗⼝的开发,⽀持点击窗⼝上控件按钮的响应,⽀持访问PCB⽂档中的图元对象和菜单栏中的命令以及系统的参数设置。
Skill语⾔可以与底层系统交互,也提供了丰富的访问Cadence各个⼯具的接⼝,并且可以开发基于Cadence平台的⼯具。AXL-SKILL语
⾔是专⽤于Allegro的SKILL语⾔,其特点是函数都以axl开头。只有使⽤这些专⽤的函数才可以直接访问Allegro的数据库。结合SKILL语法和
这些专⽤函数可以编写实现各种功能的命令。⽤户可通过窗⼝、菜单、组合键和Cadence的命令输⼊窗⼝等完成指令输⼊的⼯作。
Allegro中的AXL-SKILL脚本开发类似于在Altium Designer中通过获取原理图的函数接⼝对⽂档中的图元对象进⾏操作。
典型应⽤:PCB中⽣成⼆维码
Pads
Pads是业界主流的PCB设计平台,以其强⼤的交互式布局布线功能和易学易⽤等特点,在通信、半导体、消费电⼦、医疗电⼦等当前
最活跃的⼯业领域得到了⼴泛的应⽤。
Pad中的原理图编辑器和PCB编辑器中⽀持脚本开发。脚本语⾔在Pads中为为Sax Basic脚本语⾔,在语法中类似于VBA,⽀持⾃动化
控制器和⾃动化容器,⾃⾝也可以作为ActiveX服务器接受其他软件的控制。
Pads中的Sax Basic脚本语⾔可以调⽤其他具有VBA功能的软件,也可以接受其他⽀持VBA功能的软件的调⽤。
在Pads中编写脚本的编辑器共有两个,其中⼀个为在软件主窗⼝的下侧,另外⼀个为专⽤的脚本编辑器。
宏语⾔⽀持宏语⾔的脚本编辑器,可以在脚本语⾔中添加窗⼝,窗⼝具有可视化的功能,这个功能⽐Altium Designer中的Enable Basic
更⾼级⼀步。
Pads宏语⾔窗⼝设置界⾯和程序编写界⾯
在Pads中使⽤程序编写脚本和界⾯是相互的,写的宏语⾔⽂件可以⽣成可视化的界⾯,可视化的界⾯也可以⽣成宏语⾔的各个图形参数
的宏语⾔脚本。⽀持脚本录制功能。
Pads程序开发⽅式
Pads中⽀持脚本开发,⽀持的脚本为SPSS Basic脚本语⾔,这个是SPSS统计软件的脚本语⾔,类似于或者兼容VBA,却⼜不是VBA的脚
本语⾔。
Pads中的脚本系统⽀持创建窗⼝,有⼀个简单窗⼝编辑器,可以在窗⼝中添加10种左右的控件,控件可以和事件相关联。窗⼝⽂件和实现
的函数都在同⼀个⽂件中。
Pads脚本系统的架构类似于VBA,使⽤Application即可获取软件的顶层接⼝,由于绘制原理图的软件和绘制PCB的软件是两个独⽴的软
件,因此在绘制原理图软件中使⽤Application是获取原理图的顶层接⼝,在PCB软件中是获取PCB的顶层接⼝,要创建或者获取图元接⼝可
以直接创建和访问,在Pads中没有在Altium Designer中过滤器的概念。在Pads中可以直接获取某种图元对象的总数,依次获取每个图元接
⼝访问图元对象中的数据。⽽在AD中要访问图元对象的接⼝是通过过滤器实现的。
在Pads中有两个脚本编辑器,⼀个在软件界⾯的下⽅是可以执⾏类似于宏的命令,另⼀个是脚本编辑器是可以执⾏函数接⼝中的⽅法或者
函数接⼝中的属性。
CAE软件的脚本开发介绍ANSYS(ICEM和Fluent)
ICEM
ICEM是Workspace平台下⼀个前处理软件,⽤于⽹格划分,其使⽤的脚本为TCL脚本语⾔。
ICEM是ANSYS公司WorkBench平台下⾯的⼀个专业画⽹格的⼯具,可以根据模型的拓扑关系画出质量⾮常⾼的⽹格,这个软件的脚本是
使⽤TCL脚本,软件的安装⽬录下有⼤量的demo程序,⽬前官⽅和国内的培训单位没有对此功能的教程,语⾔慢慢研究。
ICEM的脚本⼀共有5种执⾏⽅式:
1.菜单栏 File->Replay Scripts弹出Replay control窗⼝,通过Do one或者Do all按钮执⾏TCL脚本。
2.菜单栏File->Replay Scripts->Run from script file弹出⽂件选择对话框选择脚本⽂件执⾏TCL脚本。
3.在TCL脚本⽂件中通过TCL命令执⾏TCL脚本⽂件,即⼀个TCL脚本⽂件启动另外⼀个脚本⽂件。
4.使⽤icemcfd命令设置在启动ANSYS ICEM CFD时执⾏所指定的脚本⽂件。
5.在命令窗⼝中使⽤source命令执⾏tcl脚本⽂件,例如使⽤“source D:”命令可以执⾏D盘根⽬录下的脚本⽂件。
Fluent
Fluent是ANSYS公司WorkBench平台下⼀个流体仿真等功能的软件,脚本语⾔是使⽤的Scheme语⾔,⽬前没有找到介绍使⽤此功能的
资料,待研究
Excel脚本开发(176本)
Word脚本开发(4本)
《Word VBA⾼效排版范例应⽤》
《Word 2000中⽂版VBA开发实例指南》
《中⽂版Word 2000 VBA⼀册通》
《精解Word 2000 VBA与范例解析》
PPT脚本开发(1本)
《PPT新视⾓ VBA应⽤技术》
Visio脚本开发(0本)
⽬前暂未找到有介绍Visio 脚本的书籍,微软官⽹有介绍Visio的资料。
Access脚本开发(12本,以下为其中9本)
《Access VBA活⽤范例⼤辞典 全新版》
《Access VBA活⽤范例⼤辞典》
《Access数据库应⽤与VBA编程》
《Access VBA数据库⾼效开发范例应⽤》
《中⽂版Access 2000 VBA⼀册通》
《Access 2007 VBA宝典》
《巧学巧⽤ACCESS 2003与VBA 中⽂版》
《Access 2003 VBA私房教师》
WPS脚本开发:
SolidWorks⼆次开发资料:
《SolidWorks 2006实体建模与⼆次开发教程》
《SOLIDWORKS⼆次开发与API教程 2020版》
《SOLIDWORKS API⼆次开发实例详解 微视频版》
《SolidWorks API⼆次开发》
《SolidWorks API⼆次开发》
《SolidWorks⼆次开发实例解析》
《SolidWorks⾼级教程:⼆次开发与API 2007》
《SOLIDWORKS⼆次开发实例精解·冲模标准件3D图库》
《SolidWorks 2008⼆次开发基础与实例(VC++)》
CATIA⼆次开发资料:(3本)
《CATIA软件建模与CAA⼆次开发》第⼀本PDF
《CATIA软件建模与CAA⼆次开发》第⼆本
《CATIA⼆次开发技术基础》PDF
帮助⽂档《》
Altium Designer脚本开发/⼆次开发
⽬前市⾯上没有介绍此软件脚本开发/⼆次开发的书籍
Cadence脚本开发/⼆次开发资料
Allegro脚本开发
Pads脚本开发
《PADS2007原理图与PCB设计》第8章
⽴创EDA开发
⽬前使⽤⽴创EDA作为书名的可以找到2本,其中没有介绍怎么使⽤脚本开发的,在⽴创EDA的官⽹中有介绍怎么使⽤脚本的。
Fluent脚本开发
《ANSYS Fluent⼆次开发指南》
ICEM脚本开发
没有找到介绍ICEM脚本开发的书籍,在ICEM的帮助⽂档中有介绍脚本开发的资料,语⾔为TCL语⾔。
微软授权⽀持VBA的公司,包括CATIA、SolidWorks、Auto CAD,没有发现Altium Designer、Cadence、ANSYS、Pads等公司
如果此⽹页地址发⽣更改,可根据以下截图的关键字重新查找。


发布评论