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. 0-Broadcast机制原理简要介绍

    Broadcast机制简要介绍 来源: http://blog.csdn.net/luoshengyang/article/details/6730748 导语 广播机制在Android系统中,也不算 ...

  2. mybatis 从数据库查询的信息不完整解决办法

    List<Product> products = productService.getProductListWithPage(productQuery); 今天碰到一个很奇怪的现象,上面的 ...

  3. 【BZOJ1874】取石子游戏(SG函数)

    题意:小H和小Z正在玩一个取石子游戏. 取石子游戏的规则是这样的,每个人每次可以从一堆石子中取出若干个石子, 每次取石子的个数有限制,谁不能取石子时就会输掉游戏. 小H先进行操作, 他想问你他是否有必 ...

  4. [CODEVS2035]机票打折问题

    题目描述 Description .输入机票原价(3到4位的正整数,单位:元),再输入机票打折率(小数点后最多一位数字).编程计算打折后机票的实际价格(单位:元.计算结果要将个位数四舍五入到十位数“元 ...

  5. ASP.NET MVC 1.0 哈哈。。转过来,还没学。。

    原文发布时间为:2009-06-13 -- 来源于本人的百度文章 [由搬家工具导入] ASP.NET MVC 1.0 发布了投递人 itnews 发布于 2009-03-19 00:46 评论(8) ...

  6. 乌班图中的ssh服务

    SSH服务(TCP端口号22):安全的命令解释器                                     为客户机提供安全的Shell 环境,用于远程管理                ...

  7. eclipse集成JBPM

    JBPM4.4是一款运用的比较广泛的工作流开发框架,最近参与的BSS项目里面也有用到了JBPM4.4.自己在已经搭建的框架下使用,但更详细的理解并没有.因此借此机会学习一下. 学习版本为:JBPM为4 ...

  8. hdu 4995(离散化下标+模拟)

    Revenge of kNN Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  9. JavaScript变量提升和函数声明预解析

    1.首先理解函数作用域 在JavaScript中,变量的定义并不是以代码块作为作用域的,而是以函数作用作用域的.也就是说,如果变量是在某个函数中定义的,那么它在函数以外的地方是不可见的.而如果该变量是 ...

  10. UITextView只能显示两行问题

    需求:UITextView只能显示两行 UITextView * textView = [[UITextView alloc]init]; textView.frame = CGRectMake(20 ...