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

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

[复制链接]
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

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

    EDA365欢迎您登录!

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

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

  • TA的每日心情
    开心
    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    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
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

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

    Command > skill getWorkingDir()


    在加载skill的时候,不是加载完pcb的时候
    你在skill里加一条,
    print(getWorkingDir())
    试试,是不是pcbenv的路径
  • TA的每日心情
    开心
    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    点评

    我也不会将pcbenv设为workingdir啊,但问题是,在加载skill的过程中,软件会自动设置这个为workingdir,所以获取不到当前pcb的目录  详情 回复 发表于 2017-5-11 08:36
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

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

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

    该用户从未签到

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

    点评

    我试过,并没有触发,是我代码有问题么? 还是说design open只针对于打开pcb后open文档呢? 首次双击打开并不会调用?  详情 回复 发表于 2017-5-22 08:46
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

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

    我试过,并没有触发,是我代码有问题么?
    还是说design open只针对于打开pcb后open文档呢?
    首次双击打开并不会调用?
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

    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

    该用户从未签到

    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))

    该用户从未签到

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

    点评

    原先config.ini设置了系统文件属性,应该是这个原因  详情 回复 发表于 2017-5-27 17:44
  • TA的每日心情
    开心
    2022-5-6 15:29
  • 签到天数: 34 天

    [LV.5]常住居民I

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

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-6-14 15:04 , Processed in 0.093750 second(s), 24 queries , Gzip On.

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

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

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