找回密码
 注册
关于网站域名变更的通知
12
返回列表 发新帖
楼主: zhanyying
打印 上一主题 下一主题

怎样在skill里调用另一个skill

[复制链接]

该用户从未签到

16#
发表于 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删了  看又会返回什么

该用户从未签到

17#
发表于 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公众号

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

GMT+8, 2025-6-20 19:50 , Processed in 0.078125 second(s), 18 queries , Gzip On.

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

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

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