EDA365电子工程师网

标题: 请教高手skill的问题~ [打印本页]

作者: eeliujm    时间: 2016-8-5 10:31
标题: 请教高手skill的问题~
下面是我正在使用的快速设置格点的skill(忘记从哪里找的了),我自己用好好的,但是给同事用就提示错误:
E- *Error* eval: unbound variable - ScriptFileName
该设置的都设置好了,其他的SKILL在他电脑上都能用,就这个不能用……软件16.6,装在D盘,HOME变量没有手动改过,是安装时默认的。
请大牛帮忙看看是什么原因,非常感谢~~~

axlCmdRegister( "g" 'x_grid ?cmdType "@optional")  ;定义快捷键
defun( x_grid (@optional (n_e "") ) ;定义函数名字
        ; _Design_accuracy = 0.1** axlGetParam("paramDesign")->accuracy
                 if(n_e != ""  then        ;参数变量不为空
                            runscr(n_e)  ; 调用函数runscr
                       ;  )
                         else
                         axlShell("define grid")    ;启动个点设置窗口
                 )
         )         
defun( runscr (n_e)  ; 生成脚本并执行脚本的函数 ScriptFileName=axlTempFile()
Script_File=axlDMOpenFile("Grid_SCRIPT", ScriptFileName, "w")
fprintf(Script_File "setwindow pcb\n")
fprintf(Script_File "define grid \n")
fprintf(Script_File "setwindow form.grid\n")
fprintf(Script_File "FORM grid non_etch non_etch_x_grids %L \n" n_e)
fprintf(Script_File "FORM grid non_etch non_etch_y_grids %L \n" n_e)
fprintf(Script_File "FORM grid all_etch all_etch_x_grids %L \n" n_e)
fprintf(Script_File "FORM grid all_etch all_etch_y_grids %L \n" n_e)
axlDMClose(Script_File)
sprintf(runScript,"replay %s",ScriptFileName)
axlShell(runScript)
deleteFile(ScriptFileName)
)


作者: eeliujm    时间: 2016-8-5 10:33
如果有其他设置格点的SKILL,也可以分享一下~版主发的帖子还没权限下载><
作者: deargds    时间: 2016-8-5 12:06
改成下面这样
  1. axlCmdRegister( "g" 'x_grid ?cmdType "@optional")  ;定义快捷键
  2. defun( x_grid (@optional (n_e "") ) ;定义函数名字
  3.         ; _Design_accuracy = 0.1** axlGetParam("paramDesign")->accuracy
  4.         if(n_e != ""  then        ;参数变量不为空
  5.            runscr(n_e)  ; 调用函数runscr
  6.         ;  )
  7.         else
  8.         axlShell("define grid")    ;启动个点设置窗口
  9.     )
  10. )   
  11. defun( runscr (n_e)  ; 生成脚本并执行脚本的函数
  12.         ScriptFileName = axlTempFile()
  13.         Script_File = axlDMOpenFile("Grid_SCRIPT", ScriptFileName, "w")
  14.         fprintf(Script_File "setwindow pcb\n")
  15.         fprintf(Script_File "define grid \n")
  16.         fprintf(Script_File "setwindow form.grid\n")
  17.         fprintf(Script_File "FORM grid non_etch non_etch_x_grids %L \n" n_e)
  18.         fprintf(Script_File "FORM grid non_etch non_etch_y_grids %L \n" n_e)
  19.         fprintf(Script_File "FORM grid all_etch all_etch_x_grids %L \n" n_e)
  20.         fprintf(Script_File "FORM grid all_etch all_etch_y_grids %L \n" n_e)
  21.         axlDMClose(Script_File)
  22.         sprintf(runScript,"replay %s",ScriptFileName)
  23.         axlShell(runScript)
  24.         deleteFile(ScriptFileName)
  25. )
复制代码



作者: eeliujm    时间: 2016-8-5 17:04
deargds 发表于 2016-8-5 12:06
改成下面这样

非常感谢~~现在可以使用了。就是有个缺点,输入 g 5 后,格点是设置好了,但同时也会弹出设置格点的对话框,需要手动关掉
我自己电脑用着就好好的,哈~





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