脚本实例参考
本参考资料涵盖了可从Altium下载的Altium Designer脚本示例。
ZIP文件中的Scripts文件夹包含了根据脚本语言组织的子文件夹。例如,DelphiScript脚本位于DelphiScript Scripts文件夹中。可用的特定语言脚本包括:
DelphiScript 示例
所有 DelphiScript 脚本,无论是脚本单元还是脚本表单,都有一个 *.pas 扩展名。DelphiScript 脚本示例按以下脚本文件夹分类:
通用文件夹
通用脚本
\DelphiScript 脚本\General_Scripts.PRJSCR
|
脚本文件名 |
描述 |
|---|---|
|
IniFileEg |
此脚本演示了 |
|
Mandelbrot |
此脚本演示了如何使用图形在脚本表单上构建一个Mandelbrot集。 |
|
MM |
此脚本演示了 |
|
ShowModalEg |
此脚本演示了脚本表单的 |
|
SineWave |
此脚本演示了如何在脚本表单上生成和绘制正弦波。 |
|
TextFileConvert |
提供 |
|
TicTac |
一个井字棋游戏。 |
|
UpdateTime |
此脚本演示了 |
HelloWorld
\DelphiScript 脚本\General\HelloWorld.PRJSCR
|
脚本文件名 |
描述 |
|---|---|
|
HelloWorldDialog |
使用脚本表单的简单 hello world 消息。 |
|
HelloWorld |
一个简单的 hello world - 介绍 DelphiScript 语言。 |
压缩工具
\DelphiScript 脚本\通用\Zipper.PRJSCR
|
脚本文件名 |
描述 |
|---|---|
|
ZipperForm |
该脚本使用在脚本引擎中公开的压缩API。该项目将设计项目及其相关文件压缩。 |
DXP 文件夹
DXP 脚本
\DelphiScript 脚本\DXP\DXP_Scripts.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
ClientServerInterfacesReport |
此脚本展示了如何使用客户端接口,并检索有关服务器安装文件、窗口类型、命令和面板的信息。 |
|
ExtractFilesFromIntLibs |
此脚本展示了如何从带有 |
|
IntLibSearchDemo |
此脚本展示了如何在集成库文件和PCBLIB文件中查找封装和3D模型。 |
|
OpenADoc |
此脚本展示了如何使用客户端的 |
|
ReportIntLibData |
此脚本展示了如何使用集成库管理器和模型类型管理器接口来提取与每个接口相关的数据。 |
|
ReportPCBViews |
此脚本报告所有打开的PCB文档及其在X2中的视图。 |
|
ServerProcessReport |
此脚本展示了如何为X2中所有已安装服务器的进程生成报告。 |
|
SettingDocumentDirty |
此脚本展示了如何设置文档为已修改状态,以便在调用保存命令时保存。 |
DXP 版本
\DelphiScript 脚本\DXP\DXPVersion.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
DXPVersionUnit |
此脚本演示如何找到 X2 应用程序的版本号。 |
PCB 文件夹
PCB 脚本
\DelphiScript 脚本\PCB\PCB_Scripts.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
Count_Connection_Lines |
此脚本演示了如何在PCB文档上计算连接线(未布线的轨迹)并在消息面板上显示结果。 |
|
CreateAVia |
此脚本演示了如何在PCB文档上创建一个新的通孔(Via)对象。 |
|
CreateComponentOnPCB |
此脚本演示了如何在PCB文档上创建一个新的组件。 |
|
CreateFootprintInLibrary |
此脚本演示了如何在库文档上创建一个新的封装。 |
|
CreatePCBObjects |
此脚本具有在PCB文档上创建不同PCB对象的多种功能。该脚本使用 |
|
CreateRules |
此脚本演示了如何创建两种不同的规则 - 最大-最小宽度规则和房间定义规则(限制约束)。 |
|
Cycle_Pcb_Cursor_Type |
此脚本在PCB文档上循环切换可用的光标类型。 |
|
DeletePCBObjects |
此脚本演示了如何删除PCB对象并正确更新撤销系统。 |
|
EmbeddedObjects |
此脚本演示了嵌入式对象的使用;即,在当前PCB文档上创建和获取这些嵌入式对象。 |
|
NetObjectAssign |
此脚本演示了如何为已放置在PCB文档上的新对象分配网属性。 |
|
PadViaCacheProperties |
此脚本演示了 |
|
PadStackInfo |
此脚本演示了如何在PCB文档上获取不同的焊盘堆栈信息。 |
|
QueryBoard |
此脚本查询当前PCB文档以获取板设置信息。 |
|
Undo |
此脚本演示了PCB的撤销系统。两个程序演示了撤销系统的工作方式 - 作为一个大的撤销或多个较小的撤销。 |
板轮廓复制器
\DelphiScript 脚本\PCB\板轮廓复制器\CopyBoardOutline.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
CopyBoardOutlineForm |
该脚本将电路板轮廓以轨迹和弧线的形式复制到指定的层上。用户在进行之前需要指定层和宽度值。 |
PCB图片创建器
\DelphiScript 脚本\PCB\从位图创建区域\PCB图片创建器.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
ConvertPicture |
该脚本的主要表单。 |
|
ConstructContourSetFromPicture |
处理从加载的位图创建轮廓集的脚本。 |
|
ConstructRegionsFromContourSet |
处理从每个轮廓集创建区域的脚本。 |
封装查找器
\DelphiScript 脚本\PCB\封装查找器\FootprintFinder.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
FindFootprintUnit |
使用 PCB API 在 PCB 库中查找一个封装。 |
来自Tos生成器
\DelphiScript 脚本\PCB\FromTosGenerator\FromTosGenerator.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
CreateInterComponentFromTos |
一个脚本,用于请求用户选择两个组件,然后连接具有相同网络分配的焊盘。此脚本的限制:您需要将光标从组件移开以退出。运行此脚本后,所有网络都需要手动重建。 |
|
formFormTos |
此项目的脚本表单。 |
孔径编辑器
\DelphiScript 脚本\PCB\孔径编辑器\孔径编辑器.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
HSForm |
这是特定孔径大小编辑器对话框,用于更改其中一个孔的大小。 |
|
HSEditForm |
这是孔径大小编辑器的主脚本。 |
|
Customsort |
这个customsort脚本包含了孔径大小编辑器脚本的排序程序。 |
铣削导出器
\DelphiScript 脚本\PCB\铣削导出器\MillExporter.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
MillExporter |
一个项目文件。将PCB设计导出为CNC铣床可以加工的格式。目前,仅支持Roland RML铣削语言。 |
|
MillExporter |
此单元将PCB文档的板轮廓转换为多边形,以便为PCB文档生成数据,并由CNC铣床加工。 |
|
MMExportDlg |
此单元控制将PCB文档导出以在铣床上加工的设置。 |
|
MMSetup |
在INI文本文件中设置MillExporter使用的铣床的默认值。 |
PCB 类生成器
\Delphiscript 脚本\PCB\PCB_Class_Generator.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
PCB_Class_Generator.PrjScr |
一个PCB类生成器项目文件。 |
|
PCB_Class_Generator_Form.dfm |
此脚本表单与 |
|
PCB_Class_Generator_Form.pas |
此脚本将选定的PCB对象的网络添加到一个网络类中,并有一个相应的脚本表单。 |
PCB迭代器
\DelphiScript 脚本\PCB\PCB 迭代器\PCB 迭代器.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
Count_pads |
此脚本用于计算当前PCB文档上的焊盘数量。 |
|
CountTracksInComponent |
此脚本计算当前PCB文档中五个不同组件的走线数量。 |
|
IterateComponentBodies |
此脚本从当前PCB文档中获取组件体。 |
|
IterateNets |
此脚本演示如何迭代当前PCB文档的网络。 |
|
IteratePolygons |
此脚本从当前PCB文档中迭代多边形。 |
|
IterateRegions |
此脚本从当前PCB文档中迭代区域。 |
|
LibraryIterator |
此脚本演示了库迭代器的使用,并显示在PCB库中找到的每个足迹的子对象(足迹的原语)数量。 |
|
SpatialIterator |
此脚本演示了 |
PCB 层
\DelphiScript 脚本\PCB\PCB 层\PCB_Layers.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
Layers_Info |
此脚本获取PCB层堆栈的层信息。 |
|
QueryLayerPairs |
此脚本查询当前PCB文档的PCB层对。 |
|
QueryLayersOfMechType |
此脚本查询当前PCB文档的机械层。 |
|
QueryLayerStack |
此脚本查询当前PCB文档的层堆栈。 |
|
QueryMechLayers |
此脚本查询当前PCB文档的机械层。 |
|
QueryUsedLayers |
此脚本查询当前PCB文档中使用的层。 |
|
RebuildInternalAndSplitPlanes |
此脚本强制重建PCB的内部层和分割平面。 |
|
Toggle_Connect_layer_display |
此脚本切换当前PCB的连接层的可见性。 |
|
ValidateLayerStack |
此脚本验证层堆栈,并在堆栈无效时报告警告。 |
PCB 标志创建器
\DelphiScript 脚本\PCB\PCB 标志创建器\PCBLogoCreator.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
转换器 |
脚本形式为对话框,提示用户加载单色图像,然后选择走线的厚度,是否镜像等。 |
PCB 对象移动器
\DelphiScript 脚本\PCB\PCB对象移动器\PCBObjectsMover.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
OffSetObjectsForm |
项目表单。 |
|
OffSetObjects |
演示 |
PCB 输出
\DelphiScript 脚本\PCB\PCB输出\PCBOutputsProject.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
PCBOutputGenerator |
此单元执行以下操作:
|
|
Violations |
获取现有违规对象并生成报告,概述不同的违规情况。 |
|
GetObjectClasses |
对象类别报告脚本表单。您可以选择特定的对象类别,然后生成该类别的对象类别列表文本文件。 |
PCB 规则
\DelphiScript 脚本\PCB\PCB 规则\PCB 规则.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
IterateRules |
此脚本获取当前PCB的现有规则,并生成关于使用的规则、它们的ID和它们的名称的文本报告。 |
|
ModifyWidthRules |
此脚本修改现有的宽度约束,将最小、最佳和最大宽度小于20 mils的宽度更新为10 mils。 |
PCBLIB 输出
\DelphiScript 脚本\PCB\PCBLIB 输出\FootprintInfo.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
FootprintInfoReport |
此脚本生成一个CSV格式的报告,包含所有脚印的脚印名称、高度和描述。 |
交换或旋转组件
\DelphiScript 脚本\PCB\SwapOrRotateComponents\SwapOrRotateComponents.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
SwapComponentsUnit |
交换两个相似的组件或旋转一个组件。 |
唯一对象检查器
\DelphiScript 脚本\PCB\唯一对象检查器\UniqueObjectChecker.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
Common |
项目中使用的常见程序。 |
|
ObjectChecker |
检查当前PCB文档中重复的网络和组件。 |
未布线网络类
\DelphiScript 脚本\PCB\未布线网络类\未布线网络类.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
Form_ChooseNetClass |
此脚本表单提示您选择哪个网络类,以便可以对属于此网络类的对象进行未布线处理。 |
值检查器
\DelphiScript 脚本\PCB\值检查器\ValuesChecker.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
ValuesCheckerUnit |
此脚本检查PCB文档上的对象在生成用于加载到CAM编辑器的输出之前是否包含有效值。 |
|
PCBAPI函数 |
包含用于值检查器对话框的函数的脚本单元。 |
SCH 文件夹
原理图脚本。
Sch 脚本
\DelphiScript Scripts\SCH\Sch_Scripts.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
AddModelToComponentScript |
此脚本演示如何向555组件添加仿真模型。这是通过向该组件添加 |
|
CountPorts |
此脚本使用迭代器来计数端口。 |
|
CreateComponent_on_Sch |
此脚本演示如何在原理图文档上放置一个组件。 |
|
CreateSchObjects |
此脚本两种方式创建原理图对象;
此脚本使用RobotManager接口发送原理图消息。 |
|
DeleteSchObjects |
该脚本演示如何删除原理图对象并通过使用 |
|
FetchParameters |
此脚本有两个程序。第一个程序获取系统参数(文档参数),第二个程序展示如何获取组件的参数。 |
|
IterateSchSheets |
此脚本展示如何在Altium Designer中获取打开的原理图表单句柄。 |
|
ModelsOfaComponent |
此脚本获取原理图文档上每个组件的模型,并生成一个包含组件及其关联(链接)模型列表的报告。 |
|
ModifySchObjects |
此脚本展示如何获取和修改原理图对象,并通过使用 |
|
MoveParameters |
此脚本展示如何图形化地移动父对象(如组件)的参数,使用 |
|
ParentChild_Iterators |
此脚本使用迭代器查找表单符号,然后在每个表单符号内部,使用表单符号的迭代器查找表单条目。 |
|
PlaceAPort |
这个简单的脚本展示了如何在原理图表单上放置一个新的端口对象。 |
|
PlaceSchObjects |
这个简单的脚本在原理图表单上放置不同的对象。 |
|
ReplaceSchObjects |
此脚本将跨表连接器替换为端口对象,并自动传输网信息。 |
|
SchDocsRenamer |
此脚本利用Delphi Windows单元的 |
|
SimModelsOfComponents |
此脚本获取每个组件的仿真模型及其相关参数,然后生成关于这些模型和参数的文本报告。 |
|
UndoRedo |
此脚本演示如何在修改原理图文档时使用撤销系统。 |
|
UsingaSpatialIterator |
此脚本演示如何使用空间迭代器在定义的区域内进行搜索。 |
|
UsingSchInterfaces |
此脚本演示原理图接口。 |
|
UsingWSMInterfaces |
此脚本演示工作空间管理器接口。 |
SchLib 脚本
\DelphiScript 脚本\SCH\SchLib_Scripts.Prjscr
|
脚本文件名 |
描述 |
|---|---|
|
CheckPins |
此脚本用于检查库中符号的有效引脚。 |
|
CreateComp_in_Lib |
此脚本演示如何在库中创建一个新的符号。 |
|
CompLibReader |
此脚本使用 |
|
LibIterator |
此脚本展示了如何遍历原理图库并获取符号。 |
|
ParametersOfSymbolsInALibrary |
此脚本展示了如何使用迭代器获取原理图库中符号的参数。 |
|
SymbolPrimsIterator |
此脚本展示了如何获取符号的原始图元。 |
Sch 翻译器
\DelphiScript 脚本\SCH\Circad 翻译器\Sch 翻译器.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
StringUtils |
该单元处理数据类型。 |
|
DesignSettings |
该单元处理读取CirCad数据的设置表。 |
|
Log |
该单元处理生成带有结果的日志文件。 |
|
ImportUtils |
该单元处理CirCad数据转换为Altium Designer的过程。 |
|
InputForm |
该单元处理翻译对话框。 |
|
Test |
这是一个独立单元,处理CirCad数据的测试。 |
组件替换器
\DelphiScript 脚本\SCH\CompReplace\ComponentReplacer.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
ReplaceSelectedComponent |
用 |
连接性
\DelphiScript 脚本\SCH\连接性\NetInfoPrj.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
连接性 |
此单元为PCB项目的焦点原理图或选定原理图的组件引脚生成带有引脚网络信息的参数。 |
|
DefnForm |
处理用户输入的脚本表单。 |
字体编辑器
\DelphiScript 脚本\SCH\字体编辑器\Fonts Editor.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
FontsDialog |
此脚本演示了如何使用原理图字体管理器接口。 |
导入引脚
\DelphiScript 脚本\SCH\导入引脚\ImportPins.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
ImportPinsForm |
|
|
ChangeMappingForm |
更改映射对话框用于从 |
|
ConvUtils |
此脚本包含 |
|
PinData.CSV |
此文件包含用于 |
更新封装位置
\DelphiScript 脚本\SCH\更新封装位置\FootprintPathUpdater.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
UpdateFootprintPathsOfComps |
一个原理图组件具有一个印制电路板(PCB)模型属性和一个库路径属性。在某些情况下,组件可能具有相同的印制电路板名称,但来自不同的库。 |
用户定义的参数
\DelphiScript Scripts\SCH\UserDefinedParameters\UserDefinedCompParameters.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
ComponentParameters |
此脚本演示了如何为分层项目的原理图设计中的组件创建、修改和删除用户定义的参数。 |
流程文件夹
流程脚本
\DelphiScript 脚本\流程\流程_脚本.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
Clrins1 |
此脚本演示了如何删除用户定义区域内的对象。 |
|
Clrins2 |
此脚本演示了如何删除用户定义区域内的对象。在清除对象之前会提示用户。 |
|
CirWiz |
此脚本表单生成一个简单的滤波电路,并将其放置在原理图表上。 |
|
PCBColor |
此脚本演示了如何使用 |
|
PCBLayer |
此脚本演示了如何使用 |
|
PlacePCBPolygon |
此脚本使用 |
|
PlaceSchPort |
此脚本使用 |
|
PublishToPDFScript |
此脚本从当前项目的OutJob文档发布到PDF,并绕过发布到PDF设置对话框。 |
|
QuikCopy |
此脚本演示了如何使用 |
|
RunCommonDialog |
此脚本演示了如何调用客户端模块的通用对话框并获取参数。 |
|
ShowNetlist |
此脚本演示了使用WorkspaceManager的 |
|
SimpleExample |
此脚本演示了 |
WSM 文件夹
工作区管理器脚本。
WSM 脚本
\DelphiScript 脚本\WSM\WSM_Scripts.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
AddDocToProject |
此脚本演示如何在新的PCB项目中插入一个原理图表。首先需要在 |
|
Netlister |
此脚本演示如何为原理图项目生成特定的PackingList格式文件。 |
|
ProjectReporter |
此脚本查找当前打开的项目,包括X2中的免费项目。免费项目是一组不与任何项目相关的文档。 |
|
UsingMessagePanel |
此脚本演示如何在Altium Designer的消息面板中插入文本消息。这是一个有用的调试工具。 |
网表生成器
\DelphiScript 脚本\WSM\ProtelNetlister\ScripterProtelNetlist.PrjScr
|
脚本文件名 |
描述 |
|---|---|
|
ScripterProtelNetlist |
此脚本展示了如何使用 WorkSpace Manager 接口来生成 Protel 类型的网表。网表文件将在当前项目的 |
FPGA 文件夹
交换 ID 更新器
\Delphiscript 脚本\FPGA\SwapIdsUpdater\FPGASwapIds_Project1.PrjScr
| 脚本文件名 | 描述 |
|---|---|
| UpdateConstraintUnit | 此脚本允许您更改PCB文档上FPGA组件引脚的交换组ID,无需调用FPGA引脚交换管理器。 |
| CheckNameValueUnit | 名称检查和处理脚本。 |
JScript 示例
在脚本集合中(下载),JScript 示例可以在Scripts\JScript Scripts\ 文件夹中找到。JScript 脚本有一个 *.js 扩展名。
|
脚本文件名 |
描述 |
|---|---|
|
AddDocToProject |
此脚本演示如何在PCB项目中插入一个图纸。首先需要在 |
|
BuiltInFunctions |
此脚本演示如何使用内置的日期和数学对象,并使用 |
|
CopyBoardOutlineForm |
此脚本将电路板轮廓作为轨迹和弧线复制到指定层上。 |
|
GetScriptEngineInfo |
检索Microsoft脚本引擎的版本号。 |
|
HelloWorld |
一个简单的Hello World - 介绍JScript语言。 |
|
ParentChild_Iterators |
此脚本使用迭代器查找图纸符号,然后在每个图纸符号内部,使用图纸符号的迭代器查找图纸条目。 |
|
ServerProcessReport |
此脚本演示如何为Altium Designer中所有已安装服务器的进程生成报告。 |
|
SineWave |
此脚本演示如何在脚本表单中绘制正弦波。 |
|
ViaCreation |
此脚本演示如何在PCB上创建一个新的通孔对象。 |
VBScript 示例
在脚本集合中(下载),VBScript 示例可以在 Scripts\VBScript Scripts\ 文件夹中找到。VBScript 脚本有一个 *.vbs 扩展名。
|
脚本文件名 |
描述 |
|---|---|
|
AddDocToProject |
此脚本演示如何在新的PCB项目中插入一个原理图表。首先需要在 |
|
CopyBoardOutline |
此脚本将板轮廓作为轨迹和弧线复制到指定层上。层和宽度值需由用户在继续之前指定。使用PCB对象模型。 |
|
GetScriptEngineInfo |
检索Microsoft脚本引擎版本号。 |
|
HelloWorld |
一个简单的hello world - 对VBScript语言的介绍。 |
|
ParentChild_Iterators |
此脚本使用迭代器查找表符号,然后在每个表符号中,使用表符号的迭代器查找表条目。使用原理图对象模型。 |
|
ServerProcessReport |
此脚本演示如何为Altium Designer中所有已安装服务器的进程生成报告。 |
|
SineWave |
此脚本演示如何在脚本表单上生成和绘制正弦波。使用组件和脚本表单。 |
|
ViaCreation |
此脚本演示如何在PCB文档上创建一个新的通孔对象。使用PCB对象模型。 |