找回密码
 注册
关于网站域名变更的通知
查看: 793646|回复: 23
打印 上一主题 下一主题

skill的加载及使用 扼要说明

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-11-22 17:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 tiny丨Y 于 2016-11-22 17:56 编辑

tiny丨Y带你轻松加载及使用skill
非编程人员读物
以下言论不一定对,但肯定具有一定的参考价值
因为tiny丨Y也并不懂编程,所有理解多为个人理解

Skill语言


cadence提供二次开发的SKILL语言,它是一种基于通用人工智能语言—Lisp的交互式高级编程语言


PCB Editor搭载SKILL 环境

直接输入set  telskill,这个界面就是用来运行SKILL 函数和命令的解释器。 (使能选项setup-> user pRFerence->skill->telskill----勾选)



command环境使用skiil的方式

直接输入skill空格语句

输入skill回车将command环境切换为skill环境,使用完毕用exit退出




关于路径


绝对路径:目录下的绝对位置,直接指向目标位置 Eg:C:\Cadence\LicenseManager

相对路径:文件所在的路径与其它文件(或文件夹)路径的相对关系

1.如果路径以(~/)开始,那么搜索路径为环境变量home指定的路径)

2.如果路径以(./)开始,那么搜索路径为你当前工作目录路径

3.如果路径以(../)开始,那么搜索路径为当前目录的父目录。

常用路径

allegro 安装时会带有两个路径:安装路径(cdsroot)与环境路径(home)

在allegro中查看常用路径的方法(这里的斜杠不一样,有兴趣的童鞋可以自己研究一下)



echo $localenv    D:/SPB_Data/pcbenv

echo $cdsroot    C:\Cadence\Cadence_SPB_16.6-2015

echo $home    D:/SPB_Data

echo $menupath    . C:/Cadence/Cadence_SPB_16.6-2015/share/local/pcb/menus C:/Cadence/Cadence_SPB_16.6-2015/share/pcb/text/cuimenus

再补充两个

echo $CDS_SITE C:/Cadence/Cadence_SPB_16.6-2015/share/local

echo $ALLEGRO_SITE C:/Cadence/Cadence_SPB_16.6-2015/share/local/pcb

ALLEGRO_SITE,CDS_SITE,默认%ALLEGRO_SITE%=CDS_SITE%/pcb。这2个变量Cadence称为SITE变量



环境路径设置



也叫环境变量
一般在软件安装时会有涉及
我们只谈后期设置
Win10为例其它系统类似
右键 我的电脑 选择 属性
或者 控制面板\系统和安全系统





然后在环境变量里面
新建或编辑要求变量名为home值为路径




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文件放入指定文件夹以方便管理,


另外,因为$localenv  $cdsroot/share/local/pcb/skill  $cdsroot/share/pcb/etc


目录默认包括在SKILL PATH中,所以如果不使用上面语句,也可以将SKILL文件放入默认目录下调用 ,如load("test.il"); 如果在其它位置也可以使用绝对路径调用,例如load("d:/skill/test.il")



另外一个函数在.il文件中

axlCmdRegister(); register Skill 函数为allegro 的命令

axlCmdRegister("c2s" 'LCB_cline_to_shape ?cmdType "interactive"

?doneCmd 'LCB_Done ?cancelCmd 'LCB_Cancel)

这是官方cline2shape.il文件抄出来的,作为一个使用者

常规情况下我们只需要知道在command里面输入c2s就会调用这个skill功能就好了


skill加载及使用


常规情况一个skill文件使用需要以下几个条件

1 存在这个能实现功能的.il文件

2 .il文件在一个可以找到的路径

3 .il文件功能需要被allegro加载成功(load)

4 .il文件中定义的启动命令(axlCmdRegister)



所以要使一个skill生效我们要做以上这些

放好XX.il文件

在skill环境下load("XX.il")

查看il文件中的启动命令

使用启动命令运行il文件


每一个il都这样操作是繁琐的


所以这些工作可以通过allegro.ilinit完成



解释几个文件的常规用法

1 .il 源码skill  源码格式 skill

2 Env 软件系统的参数设置,包括快捷键设置、软件设置等内容 源码格式command

3 allegro.ilinit  一般用于加载skill和定义skill路径 源码格式skill

4 allegro.men 菜单文件 源码格式 未知



下面是allegro启动时伴随发生的事件

启动Allegro PCB 编辑器时

会读取allegro PCB 编辑器的env 文件

然后运行allegro.ilinit 文件

最后自动加载菜单配置文件allegro.men


我们的allegro.ilinit文件是这样的




     所以当我们有一个独立的.il文件需要添加时

只需要在allegro.ilinit文件中load这个文件

然后把文件放到预设的路径了

再次重启软件就可以成功加载使用了


  • TA的每日心情
    开心
    2025-6-4 15:12
  • 签到天数: 46 天

    [LV.5]常住居民I

    推荐
    发表于 2019-8-1 15:45 | 只看该作者
    用好了SKILL做设计很方便快捷,研究一下

    该用户从未签到

    推荐
    发表于 2018-11-10 10:18 | 只看该作者
    为什么想下载skill编译器都这么难

    该用户从未签到

    推荐
    发表于 2017-8-23 17:06 | 只看该作者
    不错,就是对于新人来说有点复杂。

    该用户从未签到

    5#
    发表于 2017-11-12 21:37 | 只看该作者
    不错,挺详细的

    该用户从未签到

    6#
    发表于 2017-11-28 16:30 | 只看该作者
    请问ile的怎么加载

    该用户从未签到

    9#
    发表于 2018-3-22 17:46 | 只看该作者
    好东西 学习学习

    该用户从未签到

    11#
    发表于 2018-11-10 10:12 | 只看该作者
    新手学习很适合!
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-5 02:57 , Processed in 0.093750 second(s), 25 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表