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

allegro命令栏跳出skill状态,不管怎么操作都没有用

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-1-10 09:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
allegro命令栏跳出skill状态,不管怎么操作都没有用,只能用任务管理器关掉才能关掉软件,如下图片,怎么处理,运行skill程序出现的。

360反馈意见截图16171117529272.png (7.45 KB, 下载次数: 3)

skill状态

skill状态

该用户从未签到

2#
发表于 2017-1-10 10:35 | 只看该作者
循环没弄好吧

该用户从未签到

3#
发表于 2017-1-11 08:55 | 只看该作者
skill程序有bug

点评

360反馈意见截图162511177410598.png (5.51 KB, 下载次数: 0) skill  详情 回复 发表于 2017-6-2 13:30

该用户从未签到

4#
发表于 2017-1-11 11:00 | 只看该作者
输入skill axlCancelEnterFun()试下

点评

360反馈意见截图162511177410598.png (5.51 KB, 下载次数: 0) skill  详情 回复 发表于 2017-6-2 13:29

该用户从未签到

5#
发表于 2017-2-24 09:55 | 只看该作者
权限不够看不到哇

该用户从未签到

6#
 楼主| 发表于 2017-6-2 13:29 | 只看该作者
deargds 发表于 2017-1-11 11:00
输入skill axlCancelEnterFun()试下

怎样解决command跳出skill?并没有循环,是按钮函数有bug?知道忙一下,谢谢
/***********定义FORM!*********/                                                                    
axlCmdRegister("occ" 'actions)                                                                     
                                                                                                   
defun( actions ()                                                                                   
Createform()                                                                                    
)                                                                                               
                                                                                                   
/***********定义FORM!*********/                                                                    
defun( Createform ()                                                                                
let(()                                                                                          
  formPath = "./orignChange.form"                                                            
  pform = outfile( formPath "w")                                                              
                                                                                             
  ;form 头,可以用f_FormBegin(pform 31 10 "Free Origin" "TOOLWINDOW") f_FormEnd(pform)代替   
                                                                                             
  fprintf(pform "FILE_TYPE=FORM_DEFN VERSION=2\n")                                            
                                                                                                   
  fprintf(pform "FORM\n")                                                                     
                                                                                                   
  fprintf(pform "FIXED\n")                                                              
                                                                                                   
  fprintf(pform "PORT 31 10\n")                                                               
                                                                                             
  fprintf(pform "HEADER \"Move Origin\"\n")                                                   
                                                                                             
  fprintf(pform "TILE\n")                                                                     
                                                                                             
  ;主体开始                                                                                   
                                                                                             
  fprintf(pform "TEXT \"move origin\"\n")                                                     
                                                                                             
  fprintf(pform "FLOC 20 0\n")                                                               
                                                                                             
  fprintf(pform "ENDTEXT\n")                                                                  
                                                                                             
  fprintf(pform "GROUP \"Origin Manager\"\n")                                                
                                                                                                   
  fprintf(pform "FLOC 2 1\n")                                                                 
                                                                                             
  fprintf(pform "FSIZE 28 18\n")                                                              
                                                                                             
  fprintf(pform "ENDGROUP\n")                                                                 
                                                                                             
                                                                                             
                                                                                             
  fprintf(pform "FIELD jumpAnypad\n")                                                         
                                                                                             
  fprintf(pform "FLOC 3 3\n")                                                                 
                                                                                             
  fprintf(pform "MENUBUTTON \"AnyPad\" 8 4\n")                                                
                                                                                             
  fprintf(pform "ENDFIELD\n")                                                                 
                                                                                             
  fprintf(pform "TEXT \"Jump To Any Pad.\"\n")                                                
                                                                                             
  fprintf(pform "FLOC 12 4\n")                                                               
                                                                                             
  fprintf(pform "ENDTEXT\n")                                                                  
                                                                                             
  fprintf(pform "GROUP \"Message Field\"\n")                                                  
                                                                                             
  fprintf(pform "FLOC 2 19\n")                                                               
                                                                                             
  fprintf(pform "FSIZE 28 8\n")                                                               
                                                                                             
  fprintf(pform "ENDGROUP\n")                                                                 
                                                                                             
  fprintf(pform "TEXT\n")                                                                     
                                                                                             
  fprintf(pform "FLOC 4 21\n")                                                               
                                                                                                   
  fprintf(pform "INFO msg 28\n")                                                              
                                                                                             
  fprintf(pform "FSIZE 24 7\n")                                                               
                                                                                             
  fprintf(pform "ENDTEXT\n")                                                                  
  fprintf(pform "ENDTILE\n")                                                                  
                                                                                          
     fprintf(pform "ENDFORM\n");结束form文件制作                                                
                                                                                          
   close(pform);关闭输出端口。                                                            
                                                                                    
                                                                                          
   newform = axlFormCreate( (gensym) "orignChange.form" `(e inner) `OriginHandle t nil)   
                                                                                                   
   axlUIWPerm( newform t )                                                                 
                                                                                          
   axlFormDisplay( newform );显示此form                                                   
                                                                                          
   ;定义此form各个按钮调用相应的函数                                                      
   defvar( msg , "Click the key to select the origin location!" );defvar定义全局变量,变量m
   axlFormSetField( newform   "jumpAnypad"    nil)                                       
   axlFormSetField( newform   "msg"            msg);msg 插入部分的                        
                                                                                               
   deleteFile(formPath);删除form文件                                                      
  )                                                                                          
  )                                                                                          
                                                                                             
/***********触发函数部分!*********/                                                            
defun( OriginHandle (newform)                                                                     
                                                                                                   
           let( ()                                                                                 
            case( newform->curField                                                        
             ( "jumpAnypad"    jumpAnypad()  );   触发按钮时,command窗口调skill                                         
             );end case                                      
                 );end let                                                                          
            );defun pform_Action                                                                    
/***********按钮函数*********/                                                                     
  defun(  jumpAnypad ()                                                                           
                                                                                                   
   let( ()                                                                                    
    axlClearSelSet()                                                                           
    axlFormSetField( newform "msg" "Please Pick A Pad!")                                       
    axlSetFindFilter(?enabled list( "noall" "pins") ?onButtons list( "noall" "pins"));筛选      
    anyPin = axlGetSelSet(axlSingleSelectPoint())                                               
  when( anyPin                                                                                      
    orx = xCoord(car(anyPin)->xy)                                                               
    ory = yCoord(car(anyPin)->xy)                                                               
     axlDBChangeDesignOrigin(list(minus(orx) minus(ory)))                                       
    ;anyPin = car(anyPin)                                                                       
    ;axlFormSetField( newform "msg" sprintf( nil "The Origin Move to Pin%L!" (anyPin->numbe)))  
    )                                                                                             
      );let                                                                                         
          axlClearSelSet()                                                                    
          axlDBRefreshId(nil);debug,避免连续多次出现定位出错的bug!                          
          );end defun jumpAnypad                 
360反馈意见截图162511177410598.png (5.51 KB, 下载次数: 0)

skill



该用户从未签到

7#
 楼主| 发表于 2017-6-2 13:30 | 只看该作者

怎样解决command跳出skill?并没有循环,是按钮函数有bug?知道忙一下,谢谢(一直修改未解决这个问题,帮我看一下,谢谢)
/***********定义FORM!*********/                                                                    
axlCmdRegister("occ" 'actions)                                                                     
                                                                                                   
defun( actions ()                                                                                   
Createform()                                                                                    
)                                                                                               
                                                                                                   
/***********定义FORM!*********/                                                                    
defun( Createform ()                                                                                
let(()                                                                                          
  formPath = "./orignChange.form"                                                            
  pform = outfile( formPath "w")                                                              
                                                                                             
  ;form 头,可以用f_FormBegin(pform 31 10 "Free Origin" "TOOLWINDOW") f_FormEnd(pform)代替   
                                                                                             
  fprintf(pform "FILE_TYPE=FORM_DEFN VERSION=2\n")                                            
                                                                                                   
  fprintf(pform "FORM\n")                                                                     
                                                                                                   
  fprintf(pform "FIXED\n")                                                              
                                                                                                   
  fprintf(pform "PORT 31 10\n")                                                               
                                                                                             
  fprintf(pform "HEADER \"Move Origin\"\n")                                                   
                                                                                             
  fprintf(pform "TILE\n")                                                                     
                                                                                             
  ;主体开始                                                                                   
                                                                                             
  fprintf(pform "TEXT \"move origin\"\n")                                                     
                                                                                             
  fprintf(pform "FLOC 20 0\n")                                                               
                                                                                             
  fprintf(pform "ENDTEXT\n")                                                                  
                                                                                             
  fprintf(pform "GROUP \"Origin Manager\"\n")                                                
                                                                                                   
  fprintf(pform "FLOC 2 1\n")                                                                 
                                                                                             
  fprintf(pform "FSIZE 28 18\n")                                                              
                                                                                             
  fprintf(pform "ENDGROUP\n")                                                                 
                                                                                             
                                                                                             
                                                                                             
  fprintf(pform "FIELD jumpAnypad\n")                                                         
                                                                                             
  fprintf(pform "FLOC 3 3\n")                                                                 
                                                                                             
  fprintf(pform "MENUBUTTON \"AnyPad\" 8 4\n")                                                
                                                                                             
  fprintf(pform "ENDFIELD\n")                                                                 
                                                                                             
  fprintf(pform "TEXT \"Jump To Any Pad.\"\n")                                                
                                                                                             
  fprintf(pform "FLOC 12 4\n")                                                               
                                                                                             
  fprintf(pform "ENDTEXT\n")                                                                  
                                                                                             
  fprintf(pform "GROUP \"Message Field\"\n")                                                  
                                                                                             
  fprintf(pform "FLOC 2 19\n")                                                               
                                                                                             
  fprintf(pform "FSIZE 28 8\n")                                                               
                                                                                             
  fprintf(pform "ENDGROUP\n")                                                                 
                                                                                             
  fprintf(pform "TEXT\n")                                                                     
                                                                                             
  fprintf(pform "FLOC 4 21\n")                                                               
                                                                                                   
  fprintf(pform "INFO msg 28\n")                                                              
                                                                                             
  fprintf(pform "FSIZE 24 7\n")                                                               
                                                                                             
  fprintf(pform "ENDTEXT\n")                                                                  
  fprintf(pform "ENDTILE\n")                                                                  
                                                                                          
     fprintf(pform "ENDFORM\n");结束form文件制作                                                
                                                                                          
   close(pform);关闭输出端口。                                                            
                                                                                    
                                                                                          
   newform = axlFormCreate( (gensym) "orignChange.form" `(e inner) `OriginHandle t nil)   
                                                                                                   
   axlUIWPerm( newform t )                                                                 
                                                                                          
   axlFormDisplay( newform );显示此form                                                   
                                                                                          
   ;定义此form各个按钮调用相应的函数                                                      
   defvar( msg , "Click the key to select the origin location!" );defvar定义全局变量,变量m
   axlFormSetField( newform   "jumpAnypad"    nil)                                       
   axlFormSetField( newform   "msg"            msg);msg 插入部分的                        
                                                                                               
   deleteFile(formPath);删除form文件                                                      
  )                                                                                          
  )                                                                                          
                                                                                             
/***********触发函数部分!*********/                                                            
defun( OriginHandle (newform)                                                                     
                                                                                                   
           let( ()                                                                                 
            case( newform->curField                                                        
             ( "jumpAnypad"    jumpAnypad()  );   触发按钮时,command窗口调skill                                         
             );end case                                      
                 );end let                                                                          
            );defun pform_Action                                                                    
/***********按钮函数*********/                                                                     
  defun(  jumpAnypad ()                                                                           
                                                                                                   
   let( ()                                                                                    
    axlClearSelSet()                                                                           
    axlFormSetField( newform "msg" "Please Pick A Pad!")                                       
    axlSetFindFilter(?enabled list( "noall" "pins") ?onButtons list( "noall" "pins"));筛选      
    anyPin = axlGetSelSet(axlSingleSelectPoint())                                               
  when( anyPin                                                                                      
    orx = xCoord(car(anyPin)->xy)                                                               
    ory = yCoord(car(anyPin)->xy)                                                               
     axlDBChangeDesignOrigin(list(minus(orx) minus(ory)))                                       
    ;anyPin = car(anyPin)                                                                       
    ;axlFormSetField( newform "msg" sprintf( nil "The Origin Move to Pin%L!" (anyPin->numbe)))  
    )                                                                                             
      );let                                                                                         
          axlClearSelSet()                                                                    
          axlDBRefreshId(nil);debug,避免连续多次出现定位出错的bug!                          
          );end defun jumpAnypad                 
360反馈意见截图162511177410598.png (5.51 KB, 下载次数: 0)

skill



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

    [LV.1]初来乍到

    8#
    发表于 2017-6-2 15:15 | 只看该作者
    1. 你的skill occ可以在15.7 16.6跑
    2. skill的字 根本沒關係 , 離開此skill , 再啟動別的指令ex:show element 那個skill字就會改show element

    s1.jpg (31.36 KB, 下载次数: 1)

    s1.jpg

    点评

    多操作几次就会出现死机的状态,我之前试了很多次,(你可以多试几次看看)为啥会出现这个skill  详情 回复 发表于 2017-6-2 15:40

    该用户从未签到

    9#
     楼主| 发表于 2017-6-2 15:40 | 只看该作者
    jet2001 发表于 2017-6-2 15:15
    1. 你的skill occ可以在15.7 16.6跑
    2. skill的字 根本沒關係 , 離開此skill , 再啟動別的指令ex:show ele ...

    多操作几次就会出现死机的状态,我之前试了很多次,(你可以多试几次看看)为啥会出现这个skill

    点评

    15.7 試12次 16.6 試20次 都正常  详情 回复 发表于 2017-6-2 16:46
  • TA的每日心情
    开心
    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    10#
    发表于 2017-6-2 16:29 | 只看该作者
    先教你參數傳遞的方法 , 有改3行 就可以把你的msg 丟到 form 的msg中 如圖
    .......................
      when( anyPin                                                                                      
        orx = xCoord(car(anyPin)->xy)                                                               
        ory = yCoord(car(anyPin)->xy)                                                               
         axlDBChangeDesignOrigin(list(minus(orx) minus(ory)))                                       
        pin1 = car(anyPin)   ;有改
        sprintf(msg "The Origin Move to Pin:%s.%s" pin1->component->name pin1->number)      ;有改                 
        axlFormSetField( newform "msg" msg )   ;有改
        )                                                                                             
          );let                                                                                         
              axlClearSelSet()                                                                    
              axlDBRefreshId(nil);debug,避免??多次出?定位出?的bug!                          
              );end defun jumpAnypad

    m1.jpg (16.83 KB, 下载次数: 1)

    m1.jpg

    点评

    这个是有问题的,pin下读不到封装名,不知道你是怎么弄的, defun( jumpAnypad ()  详情 回复 发表于 2017-6-3 12:18
  • TA的每日心情
    开心
    2019-11-19 15:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    11#
    发表于 2017-6-2 16:41 | 只看该作者
    sprintf(msg "The Origin Move to Pin:%s.%s" pin1->component->name pin1->number)
    當你Origin是移動到 MECHANICAL PIN時 pin1->component->name ; pin1->number會抓不到data

    E- *Error* fprintf/sprintf: format spec. incompatible with data - nil

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

    [LV.1]初来乍到

    12#
    发表于 2017-6-2 16:46 | 只看该作者
    王开鑫55 发表于 2017-6-2 15:40
    多操作几次就会出现死机的状态,我之前试了很多次,(你可以多试几次看看)为啥会出现这个skill

    15.7 試12次
    16.6 試20次

    都正常

    点评

    辛苦了,奇怪了  详情 回复 发表于 2017-6-3 11:24

    该用户从未签到

    13#
     楼主| 发表于 2017-6-3 11:24 | 只看该作者
    jet2001 发表于 2017-6-2 16:46
    15.7 試12次
    16.6 試20次

    辛苦了,奇怪了

    该用户从未签到

    14#
     楼主| 发表于 2017-6-3 12:18 | 只看该作者
    jet2001 发表于 2017-6-2 16:29
    先教你參數傳遞的方法 , 有改3行 就可以把你的msg 丟到 form 的msg中 如圖
    .......................
      wh ...

    这个是有问题的,pin下读不到封装名,不知道你是怎么弄的, defun(         jumpAnypad ()                                                                                                                                                                                                                                    
              let( ()                                                                                                                                                                                                                                                                   
                      axlClearSelSet()                                                                                                                                                                                                                                           
                      axlFormSetField( newform "msg" "Please Pick a Pad!")                                                                                                                                                                              
                      axlSetFindFilter(?enabled list( "noall" "pins") ?onButtons list( "noall" "pins"));筛选                                                                                                                                   
                      anyPin = axlGetSelSet(axlSingleSelectPoint())         
      when(anyPin
        orx = xCoord(car(anyPin)->xy)                                                               
        ory = yCoord(car(anyPin)->xy)
        axlDBChangeDesignOrigin(list(minus(orx) minus(ory)))                                                                                                                                                                                      
        pin1 = car(anyPin)   ;有改
       println(pin1->component);验证无打印结果
        println(pin1->component->name);验证无打印结果
        sprintf(msg "The Origin Move to Pin:%s.%s" pin1->component->name pin1->number)      ;有改                 
        axlFormSetField( newform "msg" msg )   ;有改
        )                                                                                             
          );let                                                                                         
              axlClearSelSet()                                                                    
              axlDBRefreshId(nil);debug,避免??多次出?定位出?的bug!                          
              );end defun jumpAnypad                                                                                                              


    360反馈意见截图16680910473276.png (9.1 KB, 下载次数: 0)

    运行结果

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

    [LV.1]初来乍到

    15#
    发表于 2017-6-3 14:19 | 只看该作者
    本帖最后由 jet2001 于 2017-6-3 14:21 编辑

    幫你改了一下skill 原點Origin移動到一般pin時,顯示 uxx.pin
    原點Origin移動到MECHANICAL PIN時,顯示padstack 和原x /y 位置

      defun(  jumpAnypad ()                                                                           
                                                                                                       
       let( ()                                                                                    
        axlClearSelSet()                                                                           
        axlFormSetField( newform "msg" "Please Pick A Pad!")                                       
        axlSetFindFilter(?enabled list( "noall" "pins") ?onButtons list( "noall" "pins"));??      
        anyPin = axlGetSelSet(axlSingleSelectPoint())                                               
      when( anyPin                                                                                      
        orx = xCoord(car(anyPin)->xy)                                                               
        ory = yCoord(car(anyPin)->xy)                                                               
         axlDBChangeDesignOrigin(list(minus(orx) minus(ory)))                                       
        pin1 = car(anyPin)
        if(pin1->component then ; for 正常pin
           sprintf(msg "The Origin Move to Pin:%s.%s" pin1->component->name pin1->number)
         else sprintf(msg "The Origin Move to %s : %2.2f %2.2f" pin1->name orx ory) ; for MECHANICAL PIN
        );  if(pin1->component
        axlFormSetField( newform "msg" msg )  
        )                                                                                             
          );let                                                                                         
              axlClearSelSet()                                                                    
              axlDBRefreshId(nil);debug,避免??多次出?定位出?的bug!                          
              );end defun jumpAnypad

    p1.jpg (18.48 KB, 下载次数: 0)

    p1.jpg

    pm.jpg (20.51 KB, 下载次数: 0)

    pm.jpg
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-6-14 14:27 , Processed in 0.109375 second(s), 36 queries , Gzip On.

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

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

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