EDA365电子工程师网

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

作者: leilei4908    时间: 2017-5-8 08:54
标题: [求助] 如何在刚开pcb,加载skill的时候,获取到当前文件夹路径?
这个软件加载的顺序是先加载skill,再加载pcb,所以在加载的skill内加入getWorkingDir()或者axlCurrentDesign()都是不能获取到当前pcb的路径
有谁知道有什么办法能解决这个问题么?


作者: jet2001    时间: 2017-5-8 11:40
可以抓正確阿

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

Command > skill axlCurrentDesign()
"unnamed"
作者: leilei4908    时间: 2017-5-10 08:38
jet2001 发表于 2017-5-8 11:40
可以抓正確阿

Command > skill getWorkingDir()


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

作者: jet2001    时间: 2017-5-10 11:29
抱歉 因為每天都會一直換不同的工作目錄 , 所以我從來不會在 pcbenv 內設定 WorkingDir
作者: leilei4908    时间: 2017-5-11 08:36
jet2001 发表于 2017-5-10 11:29
抱歉 因為每天都會一直換不同的工作目錄 , 所以我從來不會在 pcbenv 內設定 WorkingDir

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

作者: betamelody    时间: 2017-5-11 08:56
在trigger里面获取,design的open事件
作者: leilei4908    时间: 2017-5-22 08:46
betamelody 发表于 2017-5-11 08:56
在trigger里面获取,design的open事件

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

作者: betamelody    时间: 2017-5-22 10:14
上代码
作者: leilei4908    时间: 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系统,但部分电脑这个指令不能生效

作者: betamelody    时间: 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))


作者: betamelody    时间: 2017-5-27 11:16
不能生效的机器在C:\pcbenv有修改权限么
可以看看 axlOSFileCopy
作者: leilei4908    时间: 2017-5-27 17:44
betamelody 发表于 2017-5-27 11:16
不能生效的机器在C:\pcbenv有修改权限么
可以看看 axlOSFileCopy

原先config.ini设置了系统文件属性,应该是这个原因





欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2