虽然还是layout新手,但是经过几个月的使用,随着板子越画越复杂,经常能遇到需要重复操作的地方,这下快捷键设置就显得重要起来。
网上也能查到很多教程,但是国内的大多都是复制粘贴,有价值的不重复内容很少。其中老吴的教程是比较好的。国外可参考的内容比较多一些,另外还有官方的教程。
以下是我个人的笔记。
为什么要设置快捷键
如同刚才所说,设置快捷键能大大简化重复操作,节省时间。
有几种设置快捷键的方式
三种:1. 临时的。2. 系统的。3. 用户的。
一个一个来说:
临时的快捷键设置(重启软件后消失)即在Allegro的命令行输入
alias 快捷键 命令
或者
funckey 快捷键 命令
例如
alias ~D delete
表示ctrl+D设置为删除的快捷键。(波浪符号表示ctrl)系统环境变量在安装目录下的一个名为env(无后缀)的文件内。如果是默认安装的话,应该在C:\Cadence\SPB_16.3\share\pcb\text\ 下面。但是这个是Allegro自己生成的,最好不要去动它。如果想动它,最好先备份,否则改不回来了。
因此,如果想要安全的,永久的改变(能用U盘带走),就要修改用户环境变量。可以在Allegro中命令行输入
echo $localenv
来找到它的位置。用记事本或者其他文本编辑器打开都可以。
alias vs. funckey
那么这两个命令有什么区别?我没找到详细的说明文档,但是很容易试出来。以下是我知道的:
alias不能直接定义字母快捷键,只能像刚才上面那样用ctrl或者shift起头。当我们想要需要风骚地旋转器件的时候,可以设置
funckey r angle 90
这个命令表示旋转90度,在选取器件后可以使用。
如果用alias直接设置字母快捷键的话,需要在命令行输入之后回车才能生效。虽然alias不能直接定义字母快捷键,但是同时它能保证你可以流畅使用命令行。而如果在funckey中设置了字母快捷键,比如上面那样,想要输入被设为快捷键的字母就只能先左键点击命令行再输入。
alias可以设置多个同字母开头的命令,比如以下命令可以分别生效。
alias a alias ab alias abc
而如果是funckey的话,比如以下三个命令,输入第一个字母的时候就会触发第一个命令了,等效于后面两个设置无效。
funckey a funckey ab funckey abc
一些技巧
- 可以一个快捷键执行多个命令,用引号引起来即可。例如以下命令表示输入ct则执行布线,class设置为etch,subclass设置为Top三个分命令。
funckey ct "add connect; class Etch ; subclass Top"
标准的写法是双引号。但是貌似单引号也行。如果双引号作用于单个命令,实际上用alias
查看可以发现和不使用引号的效果是一样。 - Tools -> Utilities -> Keyboard Commands 可以查看所有可使用的键盘命令。里面自带Help。
需要注意的
- 大小写敏感。如果上面的例子设置成了
funckey R angle 90
,你一定会想日了POI。 ~
之后需要大写。大概是因为在Allegro命令行输入ctrl+字母都是大写,所以如果设置了funckey ~r rotate
一定也会想日POI的。
一些想法
- 快捷键不宜太多,会记不住。
- 快捷键的位置最好在asdf附近,毕竟右手要拿鼠标。
- 和ctrl配合的键绝对要在asdf附近!毕竟我没有第三只手。
我的配置
funckey g "move"
funckey r "iangle 90"
funckey f "pop mirror"
funckey m "mirror"
funckey ~T "add connect; class Etch ; subclass Top"
funckey ~B "add connect; class Etch ; subclass Bottom"
funckey d delete