Protel 99中宏的一点应用
2013-02-04
杨红哲
标签: Protel

关于Protel 99软件使用/应用的书很多,可是宏的应用几乎没有,在这里希望本文能起到抛砖引玉的作用。宏,本义指一个预定义的汇编语言指令序列的一种广义上的指令,在Protel 99软件中,简单地说代表一系列预定义的动作步骤或按键功能。Prctel 99软件里有两种宏,一种是Protel 99软件自身带的宏,称内嵌宏,另一种是用户自定义的宏,称用户宏。

1 宏的应用

例1:电路图设计中的应用

在Protel 99软件电路图设计中,常常需要复制。一个或几个对象,一般通过"编辑"菜单或热键选取、复制、粘贴来实现此功能。现在制作一个用户宏,一次实现此功能。宏名定义为"MyCpoy"。

启动Protel 99软件新建一工程设计,命名为MyDesign.ddb(工程名可更改),Protel 99 SE安装目录下。在MyDesign.ddb文件中,Documents下新建一文本文档"MyCpoy.bas",

内容如下:

Sub Main

Call ResetParameters

Call AddStringParameter("SelectionReference","False")

Call RunProcess("Sch:SetupPreferences")

Call ResetParameters

Call RunProcess("Sch:DeselectAllObjects")

Call RunProcess("Sch:ToggleSelection")

Call RunProcess("Sch:Copy")

Call RunProcess("Sch:DeselectAllObjects")

Call RunProcess("Sch:Paste")

Call RunProcess("Sch:DeselectAllObjects")

Etad Sub

保存、退出Protel 99软件。

假设要把此功能放到Protel 99软件原理图"编辑" 菜单"Copy"菜单项之后,我们需要修改Protel 99软件原理图"编辑" 菜单。

用记事本打开系统目录(Windows或者WinNT)下"Client99se.rcs"文件(一定要退出Protel 99软件,否则软件异常启动),找到"Menu 'SchematicMenu'"之后的"Popup '&Edit编辑{E}'" 后的"MenuItem '&Copy复制\tCtrl+C' Sch:Copy" 语句("Menultem '&Copy复制\tCtrl+C" 有两处),之后插入如下两行内容:

"MenuItem'&MyCopy快速复制\tF4'"

"'Macro:RunMacroDesignName=\MyDesign.ddb|DocumentName=Documents\MyCopy.bas|Language=ClientBasic)'"

增加热键"F4",继续查找,在"HotKeyTable'SchematicHotKeys'" 之后的第一个"End"前,插入如下三行内容:

"Key"

"'Macro:RunMacro(DesignName=\MyDesign.ddb|DocumentName=Documents\MyCopy.bas|Language=ClientBasic)' F4"

"EndKey"

保存并启动Protel 99软件,打开一电路图按"F4"就能看到执行效果。

例2:印制板设计中的应用

在印制板设计中,经常需要查看网络的连接正确与否,一般通过"编辑"菜单"Select选择"、"Net网络"来实现此功能。实际使用中比较频繁,现在调用一个内嵌宏,并把它加进印制板环境右键菜单中,实现如下:

打开"Client99se.rcs"文件,找到

"Menu 'PCBMenu'" 之后的

"Popup 'Right Mouse Click 鼠标右键{Right_Click}'"后的

"Menultem '&Fit Board 适合整板' 'PCB:Zoom(Action=Document)'" 之后插入如下两行内容:

"Menultem 'Select&Net选择网络\tF4' 'PCB:Select(Scope=Net)'"

"Menultem SEPARATOR"

继续查找"HotKeyTable 'PCBHotKeys' 增加热键"F4" ,之后插入如下两行内容:

" Key 'PCB:Select(Scope = Net)'F4 "

"EndKey"

保存并启动Protel 99软件,打开一印制板按"F4"就能看到执行效果。

例3:设计中的其它应用

使用汉化版的Protel 99软件,在印制板设计中放置汉字的时候,有一个十分讨厌的地方,它会先弹出一个"Advanced Text System" 对话框,把它放置到其它软件界面之后,然后再次弹出一个对话框,提示用户"输入下面对话框后,再点击OK",此时对话框"Advanced Text System"不可见,必须先点击Protel 99软件界面而后再点击它,才愿意露脸,否则还不肯赏脸呢!这可能是一个Bug,如何解决这个Bug?

打开Protel 99软件,新建一工程设计"Font.ddb" ,Documents下新建文本文档

"Font.bas" ,输入如下内容:

Sub Main

Call RunApplication("font.exe")

msgbox"输入Advanced Text System对话框后,再点击OK!"

Call AddStringParameter("FileName","c:\temp.lgs\hanzi.lib")

Call AddStringParameter("Footprint","place-han_zi_z")

Call AddStringParameter("Designator.Text","" )

Call AddStringParameter("Comment.Text", "")

Call RunProcess("Pcb:Placecomponent")

End Sub

保存覆盖安装目录下的同名文件"Font.ddb" ,退出Protel 99软件并重启。打开一印制板任意放置汉字,"Advanced Text System" 对话框赏脸了,效果不错吧!

可能会用到的工具/仪表
本站简介 | 意见建议 | 免责声明 | 版权声明 | 联系我们
CopyRight@2024-2039 嵌入式资源网
蜀ICP备2021025729号