找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 2288|回复: 25
打印 上一主题 下一主题

求教各位大侠?skill如何兼容不同版本的软件

[复制链接]

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
跳转到指定楼层
1#
发表于 2012-11-27 10:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
本帖最后由 zhangjunxuan21 于 2012-11-27 10:44 编辑

我用fpm的方法将群里面各位大侠几个好用的skill导入到15.5中可以使用,可是软件转换成16.3的时候(电脑同时安装了16.3和15.5)这时候问题来了,16.3的菜单不正常了,查找了一下原因发现E:\work\pcbenv目录下的allegro.ilinit文件里面有这么一句 load( "D:\\user15.51\\pcbenv\\DstCxi.il"),当我把这一句删掉的时候,skill导入到16.3就不会出现菜单混乱不能用的现象,不知道有没有神马办法可以让skill兼容2个版本的软件,就像我们论坛里面的这个365 skill一样可以调用,这样子发现好的skill可以弥补论坛365 skill没有的功能。诚心求教啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏3 支持!支持! 反对!反对!
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

积分
4989
2#
发表于 2012-11-27 11:22 | 只看该作者
如果只是这一句有问题的话,把这一句改成
  1. when(axlVersion('version)<16.3 load( "D:\\user15.51\\pcbenv\\DstCxi.il"))
复制代码

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
3#
 楼主| 发表于 2012-11-27 13:36 | 只看该作者
betamelody 发表于 2012-11-27 11:22
如果只是这一句有问题的话,把这一句改成

谢谢大侠的回答  可能是我问题点没找对 添加完之后还是不能兼容不同版本的软件 16.3的可以的话15.5的就不行了 15.5的可以了16.3的就不行了  根本原因可能是不同版本的软件菜单不一致 所以切换的时候fpm生成的allegro.meu就可能就不认了 具体原因还没找到{:soso_e143:}
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

积分
4989
4#
发表于 2012-11-27 14:46 | 只看该作者
那就是代码本身的问题了,15和16版的菜单加载可以有通用的机制,应该是你用的软件加载机制不同产生冲突

评分

参与人数 1贡献 +5 收起 理由
zhangjunxuan21 + 5 支持!

查看全部评分

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
5#
 楼主| 发表于 2012-11-27 14:52 | 只看该作者
betamelody 发表于 2012-11-27 14:46
那就是代码本身的问题了,15和16版的菜单加载可以有通用的机制,应该是你用的软件加载机制不同产生冲突

很感谢你的热心帮助,只是我到现在还没找出根本原因,也说不清楚问题出在哪{:soso_e143:} 只知道结果是论坛里面有些不错的skill不能同时兼容15.x和16.x版本的软件,只能单独使用,不然会出现菜单混乱的现象,所以我每次用用那些skill的时候都得还原一次e\work\PCBENV里面的文件,我觉得很不方便  想说有没有办法让他们兼容
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
6#
 楼主| 发表于 2012-11-27 15:00 | 只看该作者
betamelody 发表于 2012-11-27 14:46
那就是代码本身的问题了,15和16版的菜单加载可以有通用的机制,应该是你用的软件加载机制不同产生冲突

或者说应该修改代码中的哪段代码可以兼容 我把附件代码传上来 请大侠有空的时候帮忙研究一下 单独的的软件版本我验证过了都可以用 往后还能往util里面添加好的skill文件

本帖子中包含更多资源

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

x
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
7#
 楼主| 发表于 2012-11-27 15:05 | 只看该作者
做这个验证的时候要先备份一下pcbenv里面的文件 不然还原不回来我就罪过大了
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

积分
4989
8#
发表于 2012-11-27 17:38 | 只看该作者
本帖最后由 betamelody 于 2012-11-28 10:29 编辑

目测楼主加载这些作品的原理都是直接改变menu路径,强制转向,allegro不同版本的菜单当然也会有不一样,而这些作品好像没有判断版本来跳转不同menu指向的机制存在,就算存在这些机制也只能让最后一个跳转的作品呈现在menu中(之前的只会被加载,无法呈现到menu中)
请@deargds  讲解一下EDA365的菜单加载机制
skill本身不存在兼容性问题(排除使用新函数,和调用script的情况),开发者如果有觉悟让自己的作品不干扰到其他开发者的作品,就会天下和谐了.

有一种通用的方法,是用axlUIMenuFind先找到最右的位置,然后通过axlUIMenuInsert来加载配置好的菜单,通过trigger或者快捷键来最终加载菜单. 部署文件则用注册环境变量的方法(放在%HOME%中也不是不可以,但是可能会给使用者造成不便)

评分

参与人数 1贡献 +5 收起 理由
zhangjunxuan21 + 5 谢谢大侠的解惑 看来还是有必要好好学一下.

查看全部评分

3

主题

97

帖子

412

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
412
9#
发表于 2012-11-29 09:59 | 只看该作者
一直劝说大家不要直接改menu file然后load,这样会造成很多问题
不过貌似坛子里很多人都喜欢这么做
我自己写过一段加载菜单的skill,应该能通用
思路是这样的
先用axlUIMenuDump把已经打开的APD的menu文件搞到本地
然后用infile把它打开
创建一个新的空白menu文件
用while和fprintf把老的menu文件一句一句拷到新的menu文件中
判断menu文件到达你所希望的插入点
把你希望插入的menu,用fprintf插入
关闭新的和老的menu文件
用axlUIMenuLoad装载新的menu文件
最后再删除本地的所有menu文件
如果有兴趣的还可以再做一个检查文件
检查需要装载的menu是否已经装载
如果已经装载则提示并不再装载

评分

参与人数 1贡献 +5 收起 理由
zhangjunxuan21 + 5 谢谢大侠的耐心解答 我也知道不要直接改men.

查看全部评分

3

主题

97

帖子

412

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
412
10#
发表于 2012-11-29 13:30 | 只看该作者
betamelody 发表于 2012-11-27 17:38
目测楼主加载这些作品的原理都是直接改变menu路径,强制转向,allegro不同版本的菜单当然也会有不一样,而这些 ...

定义环境变量是正确的方法,也是Cadence推荐的方法

评分

参与人数 1贡献 +5 收起 理由
zhangjunxuan21 + 5 谢谢

查看全部评分

98

主题

1043

帖子

5951

积分

五级会员(50)

Rank: 5

积分
5951
11#
发表于 2012-11-29 14:04 | 只看该作者
zhangjunxuan21 发表于 2012-11-27 15:00
或者说应该修改代码中的哪段代码可以兼容 我把附件代码传上来 请大侠有空的时候帮忙研究一下 单独的的软件 ...

你否把你的SKILL发给我吗?下载扣分太严重了.wolf343105@126.com. thanks.

评分

参与人数 1贡献 +5 收起 理由
zhangjunxuan21 + 5 谢谢支持!自己下吧

查看全部评分

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
12#
 楼主| 发表于 2012-11-29 23:29 | 只看该作者
qianfengsjtu 发表于 2012-11-29 13:30
定义环境变量是正确的方法,也是Cadence推荐的方法

就是太麻烦 每次切换软件调用skill就得整一次env,怪讨厌的,最近忙着画板子没空学习这个,大侠说的axlUIMenuDump这个是个软件吗 分享一个试试你说的方法
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
13#
 楼主| 发表于 2012-11-29 23:30 | 只看该作者
wolf343105 发表于 2012-11-29 14:04
你否把你的SKILL发给我吗?下载扣分太严重了. thanks.

嗯好 我明天上班的时候发给你 最近赶着一块板子没空儿研究这个也没上论坛了
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
14#
 楼主| 发表于 2012-11-29 23:32 | 只看该作者
wolf343105 发表于 2012-11-29 14:04
你否把你的SKILL发给我吗?下载扣分太严重了. thanks.

好 明天发给你 最近忙着画板子都没上论坛了
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来

59

主题

829

帖子

2908

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2908
15#
 楼主| 发表于 2012-11-29 23:42 | 只看该作者
qianfengsjtu 发表于 2012-11-29 09:59
一直劝说大家不要直接改menu file然后load,这样会造成很多问题
不过貌似坛子里很多人都喜欢这么做
我自己 ...

我也知道不要直接改menu,可以用fpm加载skill的时候他就会生成一个menu文件,这个menu文件在切换版本的时候以后重新加载的时候不会跟着改变,这个问题很多指导skill用fpm方法加载的文档都没提出来,每次都要还原环境变量以后重新加载才能切换过去,这样子很不方便,调用个skill文件都要整半天很不方便,期待大侠们分享一个加载skill的工具,兼容不同版本,还能在软件菜单上直接调用,而不是每次都要输入调用命令。能分享一下你说的软件吗
谁在问我啥时候画完,先打闷棍后洒石灰粉,浇完热水,浇冷水,然后给丫的搁冰柜冻起来
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-9-21 05:46 , Processed in 0.068555 second(s), 36 queries , Gzip On.

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

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

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