找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
12
返回列表 发新帖
楼主: zhanyying
打印 上一主题 下一主题

怎样在skill里调用另一个skill

[复制链接]

73

主题

688

帖子

2499

积分

四级会员(40)

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

积分
2499
16#
发表于 2017-5-26 15:24 | 只看该作者
kevin890505 发表于 2017-5-25 22:12
skill里面的功能函数定义可以是全局的,所以skill调用skill和你skill里面调用一个功能是一样的,比如func ...

1_square_pad.i defun(square_pad (count)
                            。。。。。)
统计个数
2.check.il
load("1_square_pad.il");加载il文件                                                                                     
a = square_pad(y)                                                                             
               println(a)

发现打印出来的是t并不是数字4

点评

defun(Cont_smy1 () prog( (all e) all = length(axlDBGetDesign()->symdefs) ;53 return(all) e = t )) defun(Cont_smy2 () let( (all e) all = length(axlDBGetDesign()->symdefs) ;53  详情 回复 发表于 2017-5-26 16:19

24

主题

1796

帖子

8046

积分

六级会员(60)

Rank: 6Rank: 6

积分
8046
17#
发表于 2017-5-26 16:19 | 只看该作者
王开鑫55 发表于 2017-5-26 15:24
1_square_pad.i defun(square_pad (count)
                            。。。。。)
统计个数

defun(Cont_smy1 ()          
        prog( (all e)
        all = length(axlDBGetDesign()->symdefs) ;53

        return(all)
        e = t
        ))
       
defun(Cont_smy2 ()               
        let( (all e)
        all = length(axlDBGetDesign()->symdefs) ;53
        e = t
        ))

defun(Cont_smy3 ()          
        prog( (all e)
        all = length(axlDBGetDesign()->symdefs) ;53
        e = t
        ))       
调用结果:
Skill > a = Cont_smy1()
53
Skill > b = Cont_smy2()
t
Skill > c = Cont_smy3()
nil

对比下你会发现点什么,同样的  你把最后的e=t删了  看又会返回什么

73

主题

688

帖子

2499

积分

四级会员(40)

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

积分
2499
18#
发表于 2017-5-27 16:29 | 只看该作者
defun(Cont_smy1 ()         
        prog( (all e)
        all = length(axlDBGetDesign()->symdefs) ;53
        return(all)
        e = t
        ))
发现 return后的语句不会执行,return必需与prog 一起用才行。
后面两个我用打印println(e)发现都是t
2.我是在写成.il里
axlCmdRegister("return1" 'Cont_smy1)      
axlSetAlias("~a" "return1")                                 
defun(Cont_smy1 ()                                                         
                       prog( (all e)                                       
                       all = length(axlDBGetDesign()->symdefs) ;53         
                       e = t                                                
                       println(e)                                          
                       ))                                                   

这样在allegro按快捷键运行的。
3.怎样在allegro command下输入set telskill里运行,能把你的运行截图给我?(就是你上次的运行结果的界面+代码,一行一行输入试了,也不对)
我直接把上面的代码复制到set telskill里的skill窗口里,运行时nil




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

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-23 08:23 , Processed in 0.053793 second(s), 27 queries , Gzip On.

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

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

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