找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

[求助] 如何在刚开pcb,加载skill的时候,获取到当前文件夹路径?

[复制链接]

15

主题

112

帖子

672

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
672
跳转到指定楼层
1#
发表于 2017-5-8 08:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
这个软件加载的顺序是先加载skill,再加载pcb,所以在加载的skill内加入getWorkingDir()或者axlCurrentDesign()都是不能获取到当前pcb的路径
有谁知道有什么办法能解决这个问题么?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1 支持!支持! 反对!反对!

3

主题

95

帖子

1560

积分

四级会员(40)

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

积分
1560
2#
发表于 2017-5-8 11:40 | 只看该作者
可以抓正確阿

Command > skill getWorkingDir()
"D:/A15/WORK/ZZ112B"

Command > skill axlCurrentDesign()
"unnamed"

点评

在加载skill的时候,不是加载完pcb的时候 你在skill里加一条, print(getCurrentDesign()) 试试,是不是pcbenv的路径  详情 回复 发表于 2017-5-10 08:38

15

主题

112

帖子

672

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
672
3#
 楼主| 发表于 2017-5-10 08:38 | 只看该作者
jet2001 发表于 2017-5-8 11:40
可以抓正確阿

Command > skill getWorkingDir()


在加载skill的时候,不是加载完pcb的时候
你在skill里加一条,
print(getWorkingDir())
试试,是不是pcbenv的路径

3

主题

95

帖子

1560

积分

四级会员(40)

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

积分
1560
4#
发表于 2017-5-10 11:29 | 只看该作者
抱歉 因為每天都會一直換不同的工作目錄 , 所以我從來不會在 pcbenv 內設定 WorkingDir

点评

我也不会将pcbenv设为workingdir啊,但问题是,在加载skill的过程中,软件会自动设置这个为workingdir,所以获取不到当前pcb的目录  详情 回复 发表于 2017-5-11 08:36

15

主题

112

帖子

672

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
672
5#
 楼主| 发表于 2017-5-11 08:36 | 只看该作者
jet2001 发表于 2017-5-10 11:29
抱歉 因為每天都會一直換不同的工作目錄 , 所以我從來不會在 pcbenv 內設定 WorkingDir

我也不会将pcbenv设为workingdir啊,但问题是,在加载skill的过程中,软件会自动设置这个为workingdir,所以获取不到当前pcb的目录

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

积分
4989
6#
发表于 2017-5-11 08:56 | 只看该作者
在trigger里面获取,design的open事件

点评

我试过,并没有触发,是我代码有问题么? 还是说design open只针对于打开pcb后open文档呢? 首次双击打开并不会调用?  详情 回复 发表于 2017-5-22 08:46

15

主题

112

帖子

672

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
672
7#
 楼主| 发表于 2017-5-22 08:46 | 只看该作者
betamelody 发表于 2017-5-11 08:56
在trigger里面获取,design的open事件

我试过,并没有触发,是我代码有问题么?
还是说design open只针对于打开pcb后open文档呢?
首次双击打开并不会调用?

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

积分
4989
8#
发表于 2017-5-22 10:14 | 只看该作者
上代码

点评

when(isCallable('axlTriggerSet) axlTriggerSet('open 'PCBInit)) procedure(PCBInit() let((cmd Company) scrPath = strcat(getCadenceDir(t),"/Script") Company = nil workingdir = lowerCase(getWorkin  详情 回复 发表于 2017-5-26 09:39

15

主题

112

帖子

672

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
672
9#
 楼主| 发表于 2017-5-26 09:39 | 只看该作者
本帖最后由 leilei4908 于 2017-5-26 16:01 编辑


betamelody 发表于 2017-5-22 10:14

上代码



procedure(PCBInit()
let((cmd Company)
   scrPath = strcat(getCadenceDir(t),"/Script")
   Company = nil
   workingdir = lowerCase(getWorkingDir())
   pcbName = lowerCase(axlCurrentDesign())
   cmd = "xcopy \\\\k1\\k1\\config\\config.ini\"C:\\pcbenv\\config.ini" /d /s /e /c /r /y"
   axlRunBatchDBProgram("UpdateConfig" cmd ?silent t)
))
when(isCallable('axlTriggerSet) axlTriggerSet('open 'PCBInit))



部分代码如上
这个.il是在.ilinit内加载的
我是否需要将Trigger设置加到.ilinit才能生效?
我需要首次双击打开pcb的时候,就能获取到workingdir
顺便问下,上面的cmd指令目的是,将k1(局域网服务器)上的文件拷贝到本地,所有电脑都有修改k1的权利,都是win7系统,但部分电脑这个指令不能生效

点评

procedure( PCBInit(arg) println(car(axlDMFileParts(car(arg)))) ) when(isCallable('axlTriggerSet) axlTriggerSet('open 'PCBInit))  详情 回复 发表于 2017-5-27 11:14

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

积分
4989
10#
发表于 2017-5-27 11:14 | 只看该作者
leilei4908 发表于 2017-5-26 09:39
betamelody 发表于 2017-5-22 10:14
上代码

procedure( PCBInit(arg)
  println(car(axlDMFileParts(car(arg))))
)
when(isCallable('axlTriggerSet) axlTriggerSet('open 'PCBInit))

7

主题

444

帖子

4989

积分

EDA365版主(50)

Rank: 5

积分
4989
11#
发表于 2017-5-27 11:16 | 只看该作者
不能生效的机器在C:\pcbenv有修改权限么
可以看看 axlOSFileCopy

点评

原先config.ini设置了系统文件属性,应该是这个原因  详情 回复 发表于 2017-5-27 17:44

15

主题

112

帖子

672

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
672
12#
 楼主| 发表于 2017-5-27 17:44 | 只看该作者
betamelody 发表于 2017-5-27 11:16
不能生效的机器在C:\pcbenv有修改权限么
可以看看 axlOSFileCopy

原先config.ini设置了系统文件属性,应该是这个原因
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-29 20:22 , Processed in 0.066673 second(s), 40 queries , Gzip On.

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

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

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