基于Altium Designer脚本系统的二次开发
- 格式:pdf
- 大小:1.09 MB
- 文档页数:5
2015年第3期 桂林航天工业学院学报 (总第79期) JOURNAL OF GUILIN UNIVERSITY OF AEROSPACE TECHNOLOGY 信息与电子工程
基才
脚本 Altium Designer
系统的二次开发
熊川
(桂林航天工业学院 电子信息与自动化学院,广西桂林541004) 摘 要论文提出了基于VBScript脚本程序开发制图向导、一键规则设置、批量修改焊盘、自动创建板边界及支柱孔、
添加Logo图案等功能的辅助工具。该工具可简化PCB设计的常规操作,为Altium Designer用户提供了高 效和个性化的设计。 关键词Ahium Designer;VBScript;二次开发;焊盘;Logo图案 中图分类号:TP311.52 文献标志码:A 文章编号:2095—4859(2015)03—0303~05
Altium Designer的初始版本为TANGO,之
后较长时间以Protel命名,2006年澳大利亚 Altium公司正式推出Altium Designer,该软件继
承了原有的原理图设计、PCB编辑、拓扑逻辑自动 布线、电路仿真、信号完整性分析、PCB版图输出
和制造等功能,还集成了板级和FPGA系统设计、 基于FPGA和分立处理器的嵌入式软件开发以及
现代设计数据管理功能,使得Altium Designer成
为业界第一款也是唯一一款电子产品开发的完整 解决方案_】-21。
Altium Designer拥有企业工程师、高校师生 和电子爱好者等多种用户,不同用户对软件的使用
需求也不一样。在设计过程中,用户总希望将繁琐 的、重复的操作集成化、模式化。鉴于用户的个性
需求,论文提出利用Altium Designer强大的 VBScript脚本系统,开发集制图向导等多个功能
的辅助工具,以更快捷的方式完成设计任务,提高 设计效率。
1开发环境分析及开发方案
1.1开发环境分析
1.1.1 Altium Designer SDK软件包开发环境 为适应用户特定的设计功能需求,Altium公
司为用户提供软件开发包Altium Designer SDK (Server Devopment Kit)L3]。依靠SDK软开开发
包,用户就可以按照实际需要扩展Altium
Designer系统,制定独特的底层应用程序,同时可 以创建复杂的交互界面来操纵设计数据 ],并使这
些设计数据成为PLM、PDM、目录管理以及其它
业务系统中的一部分。
1.1.2插件(plug—in)开发环境
Altium Designer的设计资源管理器(Design Explorer)是一个强大的集成平台,为用户提供现
成的开发环境,使开发者能快速开发产品,并以插 件程序(plug—in)“服务”方式运行于设计资源管
理器后台。
1.1.3脚本系统(Script)开发环境
Altium Designer拥有强大的脚本系统,可以 采用多种语言编写脚本程序,通过API接口与
Altium Designer内部功能单元进行高级对话和调
试,该系统支持VBScript(以下简称VBS)、
DelphiScript和Jscript等语言。最大的特点是无 需外部开发工具就可编写和调试程序,而且同样具
有专业级的语义文本编辑器和脚本调试器。
1.1.4 过滤器(Filter)开发环境
Altium Designer的过滤器取代了老版本的全 局功能,用户可通过查询条件、过滤脚本和进程参
数等方式进行规则设置或对象操作。为更加便捷,
*基金项目:广西区教育厅教育科学十二五规划课题《基于“双元制”模式的SMT岗位人才培养基地建设的研究》 (2o13ci13);桂林航天工业学院科研项目《prote199 SE辅助功能的二次开发》(X11R029)。
一作者简介:熊川,男,四JII巴中人。副教授。研究方向:EDA技术、应用电子技术。
3O3 2015年第3期 桂林航天工业学院学报 (总第79期) JOURNAL OF GUILIN UNIVERSITY OF AEROSPACE TECHNOLOGY 熊川/文
Start=False
End select 如果像素为黑色。则在PCB水平放置2/3像素线段。
If Start Then MyTrack=PCBServer.PCBObjectFaetory(eTrackObject,eNoDimension,eCreate—Default) MyTrack.Width=MilsToCoord(SealeLogoV)
MyTrack.X1=BaseX1+MilsToCoord(xt ScaleLogoV) MyTrack.Y1=BaseY+MilsToCoord(FlipY SealeLogoV)
MyTrack.X2=BaseX2+MilsToCoord(FlipX ScaleLogoV) MyTrack.Y2=MyTrack.Y1
MyTrack.Layer=ToLogoLayer Board.AddPCBObject(MyTrack)
End if Next
Next 2.2.2批量修改焊盘程序开发 单双列多引脚元件分开处理。对于设置椭圆形焊
高校学生或电子制作爱好者多采用热转印手盘的元件,在编写程序时要检测系统坐标、元件坐
工制板,由于工艺精度限制,常用元件的焊盘尺寸 标与焊盘排列方向的关系,然后自动对应处理
需要增大至1.5 mm~2 mITl之间,为加强焊接机XSize和YSize的数值,确保椭圆方向正确。其主
械强度,用户通常将单双列多引脚元件的焊盘设成要程序段如下:
椭圆形。因此,在修改焊盘时,需将阻容类元件和
过滤筛选元件及焊盘
Iterator=CurrentPCBBoard.BoardIterator—Create Iterator.AddFilter—ObjectSet(MkSet(eComponentObject)) Iterator.AddFiher—LayerSet(MkSet(eTopLayer))
set component=Iterator.FirstPCBObject
componentList=TlnterfaceList.Create
while not component is nothing if component.selected then 对选择元件的焊盘执行修改
padIteratorHandle Component.Grouplterator—Create padlteratorHandle.AddFiher—ObjeetSet(MkSet(epadObject))
padList=TlnterfaceList.Create
set pad=padIteratorHandle.FirstPCBObject
While Not pad is nothing padList.Add(pad)
set pad=padIterat0rHandle.NextPCBObject
Wend if component.Rotation 90 or component.Rotation 270 then xysize=comysize 根据坐标关系.交换Xsize和Ysize
comysize eomxsize
comxsize xysize end if
f0r I=0 to padList.count一1
3O6