找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

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

[复制链接]

73

主题

688

帖子

2499

积分

四级会员(40)

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

积分
2499
跳转到指定楼层
1#
发表于 2017-1-10 09:37 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
allegro命令栏跳出skill状态,不管怎么操作都没有用,只能用任务管理器关掉才能关掉软件,如下图片,怎么处理,运行skill程序出现的。

本帖子中包含更多资源

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

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

3

主题

95

帖子

1560

积分

四级会员(40)

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

积分
1560
16#
发表于 2017-6-3 14:35 | 只看该作者
你也可以在command輸入 set telskill
然後邊寫程式 邊debug
如下 跑過occ後 輸入pin1 它是dbid:253079300
輸入pin1->? 可以看pin1下有那些欄位
輸入pin1->?? 可以看pin1下欄位內的data
example:
Skill > uxx=pin1->component
dbid:252265584
Skill > uxx->?
(parentGroups name objType readOnly symbol
    prop deviceType class package compdef
    pins functions
)

Skill > uxx->name
"H3"

本帖子中包含更多资源

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

x

3

主题

95

帖子

1560

积分

四级会员(40)

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

积分
1560
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

本帖子中包含更多资源

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

x

73

主题

688

帖子

2499

积分

四级会员(40)

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

积分
2499
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                                                                                                              


本帖子中包含更多资源

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

x

73

主题

688

帖子

2499

积分

四级会员(40)

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

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

辛苦了,奇怪了

3

主题

95

帖子

1560

积分

四级会员(40)

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

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

15.7 試12次
16.6 試20次

都正常

点评

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

3

主题

95

帖子

1560

积分

四级会员(40)

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

积分
1560
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

3

主题

95

帖子

1560

积分

四级会员(40)

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

积分
1560
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

本帖子中包含更多资源

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

x

点评

这个是有问题的,pin下读不到封装名,不知道你是怎么弄的, defun( jumpAnypad ()  详情 回复 发表于 2017-6-3 12:18

73

主题

688

帖子

2499

积分

四级会员(40)

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

积分
2499
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

3

主题

95

帖子

1560

积分

四级会员(40)

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

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

本帖子中包含更多资源

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

x

点评

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

73

主题

688

帖子

2499

积分

四级会员(40)

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

积分
2499
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



73

主题

688

帖子

2499

积分

四级会员(40)

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

积分
2499
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

主题

66

帖子

220

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

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

117

主题

2352

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
13799

最佳敬业奖

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

点评

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

93

主题

645

帖子

3395

积分

五级会员(50)

Rank: 5

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

点评

360反馈意见截图162511177410598.png (5.51 KB, 下载次数: 0) skill  详情 回复 发表于 2017-6-2 13:30
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-26 12:25 , Processed in 0.071986 second(s), 36 queries , Gzip On.

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

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

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