https://blog.csdn.net/wyu0725/article/details/52367199

Allegro skill二次开发和更改菜单页面

简单的使用skill;能够使Aleggro启动时自动加载skill里建立的新命令;sikll文件一般为XXXX.il;其中XXX为文件名

allegro环境下使用SKILL,必须要先载入后才能使用相关的命令,一种方式是直接在COMMAND窗口输入skill load("SKILL文件名")来载入,这种方法只针对当前开启的ALLEGRO才有效,另外一种方法是将载入语句写入pcbENV目录下的allegro.ilinit文件内来实现ALLEGRO启动时自动加载,这种是比较通用的方法,下面以此方法为例。 
一,查看环境变量所在目录 
1.通过查看电脑环境变量中的HOME变量值. 例如HOME变量为d:\ ,那实际的allegro.ilinit文件路径应该放在d:\pcbenv目录下 
2.直接在ALLEGRO 命令行输入echo $localenv 也可以得到实际的环境变量目录。 
在环境变量目录下如果没有allegro.ilinit文件,可以新建一个文本文件,然后修改文件名即可,allegro在启动时会在环境变量目录下查找allegro.ilinit文件,并执行其中的SKILL语句。可以把allegro.ilinit理解成一个ALLEGRO自动启动的SKILL文件。 
二,allegro.ilinit文件的编写 
大家经常见到的allegro.ilinit文件内容如下: 
;-------------------------------------------------------- 
setSkillPath(buildString(append1(getSkillPath() "D:/skill"))) 
load("xxx.il") 
;-------------------------------------------------------- 
以上代码都是标准的SKILL语句,下面介绍所使用到的函数: 
getSkillPath() ;函数,作用是获取ALLEGRO的SKILL PATH列表,此列表所包含路径中的SKILL文件可直接使用相对路径调用。 
append1 ;函数,在列表中添加内容,append1(getSkillPath() "D:/skill"))) 的作用就是将D:/SKILL这个目录添加进SKILL 路径里,这样只要123.il文件放在D:/skill目录下就可以直接使用load("123.il")来调用。 
buildString ;将LIST类型组成字符串,此函数可以省略 
setSkillPath ;函数,根据重新组成的路径设置SKILL PATH. 
load ;载入函数,如果SKILL带有密码,写法为load("xxx.il" "password");另外也可以使用loadi函数。 
使用以上代码后,可以将SKILL文件放入指定文件夹以方便管理, 
另外,因为PCBENV目录默认包括在SKILL PATH中,所以如果不使用上面语句,也可以将SKILL文件放入PCBENV目录下,使用相对路径调用 ,如load("test.il"); 
如果在其它位置也可以使用绝对路径调用,例如load("d:/skill/test.il") 
保存allegro.ilinit文件后, 在ALLEGRO命令行里执行skill load("allegro.ilinit") 所有加载的SKILL即可生效,当然也可以重开ALLEGRO. 
三,在allegro.ilinit的中定义快捷键 
使用axlSetAlias和axlSetFunckey函数 
axlSetAlias("F2" "oops")
 

安装环境: 本人电脑为WIN8.1系统,  安装的是Cadence17.0;

简单的使用skill;能够使Aleggro启动时自动加载skill里建立的新命令;sikll文件一般为XXXX.il;其中XXX为文件名。

skill包可以从如下地址下载:提取码为: d9ff

链接: https://pan.baidu.com/s/1o77oOdG

1,首先应是环境变量的建立,我的安装完成后有HOME变量,按如下图红色框所示建立环境变量中的用户变量;(注意下图只要看红色框内的内容)

2; 在C:\Users\Administrator\pcbenv路径下新建文件夹skill,用来存放下载下来的XXX.il,(比如clinecut.il);

然后新建一个allegro.ilinit的文件,可以新建一个TXT文件后直接修改拓展名;如下图所示

allegro.ilinit文件的内容为:

setSkillPath(buildString(append1(getSkillPath() "~/pcbenv/skill"))) 
  load("clinecut.il")

以上只是加载了一个XXX.il文件,如果需要加载多个,只需要增加skill文件夹里的XXX.il文件,同时把XXX.il通过load(XXX.il)加载启动;

3,上面新的skill命令可以打开.brd文件后测试;在命令栏输入clinecut命令,可以得到如下图箭头所指,表示命令已经成功激活;

Allegro 右边opion如下图所示,表示已经成功,可以截取线段;正是clinecut命令的功能;

4,对于Allegro 菜单的调整;只需要修改C:\Cadence\SPB_17.0\share\pcb\text\cuimenus文件夹下的

allegro.men文件内的内容;可以使用Notepad++工具编辑;

例如;用Notepad++打开allegro.men文件,在1050行后插入红色框内内容;则重新打开Allegro后菜单栏会多出现一个菜单项,如下边第2图所示;

至此已经完成;上边的设置只是针对我个人电脑而言,无论电脑系统版本如何,Cadence版本如何,都应该具有相似性,今天折腾了一下,主要是路径的问题没有设置正确;

Allegro skill的更多相关文章

  1. Allegro转换PADS终极篇(转载)

    Allegro转换PADS终极篇.....http://www.eda365.com/forum.php?mod=viewthread&tid=86947&fromuid=190625 ...

  2. Allegro学习(http://www.asmyword.com/forum.php?mod=forumdisplay&fid=86)

    一.资源 1.网站推荐www.eda365.com,里面有很多有用的东西:当然还有官方代理商的网站http://www.pspice.com.cn/: 2.视频教程:有库源电气的视频教程,还有在www ...

  3. allegro使用汇总 [转贴]

    1.如何在allegro中取消花焊盘(十字焊盘) set up->design parameter ->shape->edit global dynamic shape parame ...

  4. Allegro的优点与缺点

    记得刚毕业出来时就在某台商工作,用的就是allegro,从此上了贼船就下不来了--.其实还用过pcad,protel,powerpcb(以下简称3p,加上pads就4p了,呵呵--).至于mentor ...

  5. Allegro怎么对元器件进行对齐

    Allegro怎么对元器件进行对齐? Ø选择操作模式,点击菜单栏setup-Application Mode,然后选择Placement Edit模式,进行操作: Ø然后Find面板勾选器件选项,sy ...

  6. Allegro转换PADS终极篇.....

    allegro转pads终极篇                                                                                      ...

  7. Allegro Desgin Compare的用法与网表比较

    转:Allegro Desgin Compare的用法与网表比较 Allegro中自带有Design Compare工具,利用它可以比较明了的看到线路的差异.当然也可以通过SKILL进行比较,不过我们 ...

  8. 每天进步一点点------Allegro PCB

    Allegro PCB 1.如何在allegro中取消花焊盘(十字焊盘) set up->design parameter ->shape->edit global dynamic ...

  9. Allegro PCB 转 PADS Layout

    操作系统:Windows 10 x64 工具1:Allegro PCB Design XL (legacy) version 16.6-2015 工具2:PADS Layout VX.2.3 参考1: ...

随机推荐

  1. git merge / rebase 分支的新建与合并

    merge https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5% ...

  2. IOS YYKit 源码解析

    https://blog.csdn.net/weixin_33874713/article/details/87034047

  3. 十步优化SQL Server中的数据访问

    原文发布时间为:2011-02-24 -- 来源于本人的百度文章 [由搬家工具导入] 转载:http://tech.it168.com/a2009/1125/814/000000814758_all. ...

  4. 读扇区错误:0柱面0磁头1扇区(硬盘问题,蓝屏等 0x0000007B)

    原文发布时间为:2010-05-25 -- 来源于本人的百度文章 [由搬家工具导入] 读扇区错误:0柱面0磁头1扇区(硬盘问题,蓝屏等 0x0000007B) DISKGEN能找到,那就没什么大问题的 ...

  5. ashx输出文字,执行JavaScript,输出图片等

    原文发布时间为:2009-09-30 -- 来源于本人的百度文章 [由搬家工具导入] 一提到Ashx文件,我们就会想到http handler以及图片加载(在之前我们一般使用ASPX或者Webserv ...

  6. Hibernate的merge与update方法的区别

    今天做了个测试,写了个测试用例来看看merge与update时控制台打印出来的日志有什么不一样.实体bean很简单,就id和name两个字段,接下来分别给出以下几种测试情形的控制台日志内容: 1. 数 ...

  7. [转]在Storyboard中使用自定义的segue类型

    转自:http://my.oschina.net/u/728866/blog/92709 我们知道segue共有三种类型:push.modal以及custom.如下图:   很明显,这三种类型的作用分 ...

  8. php中Mail_mimeDecode无法读取foxmail等eml文件正文问题

    使用$cat -A xx.eml文件,发现foxmail的eml文件文件结尾和空行使用的\r\r\n, 如: Received: from WDGTO0MYSBX754J (unknown [106. ...

  9. Day 30 process&thread_2

    进程和线程_2 1.继承类创建线程 import threading,time class Mythread(threading.Thread): #建立类,继承threading.Thread de ...

  10. 慎用lodash的cloneDeep函数

    lodash的cloneDeep函数能够很方便的拷贝对象,但是一旦拷贝一些很复杂的对象就有可能报错.比如用cloneDeep克隆一个vue实例,就有可能包key.charAt is not a Fun ...