找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

form界面按按钮,command会出现skill,但程序能完成,做多个按钮会退不出

[复制链接]

73

主题

688

帖子

2499

积分

四级会员(40)

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

积分
2499
跳转到指定楼层
1#
发表于 2017-5-30 18:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样解决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                 

本帖子中包含更多资源

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

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

73

主题

688

帖子

2499

积分

四级会员(40)

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

积分
2499
2#
 楼主| 发表于 2017-6-2 13:22 | 只看该作者
顶帖啊,懂得帮我看看吧

73

主题

688

帖子

2499

积分

四级会员(40)

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

积分
2499
3#
 楼主| 发表于 2017-6-2 13:22 | 只看该作者
顶帖啊,懂得帮我看看吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-26 08:55 , Processed in 0.060109 second(s), 33 queries , Gzip On.

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

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

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