吾爱光设

 找回密码
 注册
会员须知
会员须知
实用帮助
实用帮助
查看: 682|回复: 6

[求助] [已解决]MACRO语法求助

[复制链接]
  • TA的每日心情
    奋斗
    2024-5-15 11:17
  • 签到天数: 113 天

    [LV.6]常住居民II

    22

    主题

    288

    回帖

    32

    积分

    新手

    积分
    32
    发表于 2024-1-8 10:23 | 显示全部楼层 |阅读模式
    在这里盗用一下大佬dpstt的图,请教大家几个问题。
    1. 如图,CV中,为什么直接用 eva getdim1num (^a), 不能输出结果?而是需要把 getdim1num (^a) 赋值给一个自定义函数例如@asd==getdim1num (^a),再eva(@asd)就可以。 另外,为什么Y R2 S1 F1可以直接跟在eva后面,例如 eva (Y R2 S1 F1) 可以直接输出结果,而不需要把Y R2 S1 F1赋值一个自定义函数。


    2. 为什么^a(91) 需要声明,但是^b不需要声明吗?(如图)


    3. eva 到底怎么用?例如我想读取目前系统焦距,为什么eva efl 不行,而eva (efl) 可以


    4. 假如我前文定义了@asd, 现在需要约束@asd<Y R2 S1 F1, 这样写 可以吗?听说 约束符号 "<" 右边的表达式在优化过程中一直是一个定值(初始值),是不变的?


    最佳答案
    2024-1-8 10:53
    1、eva (getdim1num(^a))可以出结果,如果是系统预定义的语法和参数,如Y R2 S1 F1,eva需要用()
    2、数组要声明,单一的变量或字符串不用声明
    3、同1
    4、在优化中自定义约束右边肯定是定值,你可以写成 @asd-(Y R2 S1 F1)<0

    本帖子中包含更多资源

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

    ×
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情

    2024-5-18 13:36
  • 签到天数: 100 天

    [LV.6]常住居民II

    0

    主题

    57

    回帖

    5

    积分

    小白

    积分
    5
    发表于 2024-1-8 10:37 | 显示全部楼层
    CODEV功能栏→帮助→CODEV帮助→在新弹出的界面左边有一项“索引”→输入eva→在下面选择EVA→右边会出现详细的用法。
    这个方法能解决所有你问的问题,比如eva()的用法就是要加一个括号,没有为什么,CODEV底层代码逻辑就是这么规定的,CODEV的汇编语言语法就是这样。虽然是英文的,看起来有一定的困难,但是可以使用翻译软件等辅助手段,加油。
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-5-19 10:28
  • 签到天数: 548 天

    [LV.9]以坛为家II

    8

    主题

    1051

    回帖

    503

    积分

    初级

    积分
    503
    发表于 2024-1-8 10:53 | 显示全部楼层    本楼为最佳答案   
    1、eva (getdim1num(^a))可以出结果,如果是系统预定义的语法和参数,如Y R2 S1 F1,eva需要用()
    2、数组要声明,单一的变量或字符串不用声明
    3、同1
    4、在优化中自定义约束右边肯定是定值,你可以写成 @asd-(Y R2 S1 F1)<0
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-5-15 11:17
  • 签到天数: 113 天

    [LV.6]常住居民II

    22

    主题

    288

    回帖

    32

    积分

    新手

    积分
    32
     楼主| 发表于 2024-1-8 11:08 | 显示全部楼层
    dpstt 发表于 2024-1-8 10:53
    1、eva (getdim1num(^a))可以出结果,如果是系统预定义的语法和参数,如Y R2 S1 F1,eva需要用()
    2、数组 ...

    感谢回复,
    1. 我又试了一下,的确可以。 那为什么 eva ^b就可以 , ^b并非系统预定义的吧,不需要写成 eva (^b)吗?


    2. ^b 能作为约束变量吗? 例如约束要求
    ^b==getdim1num (^a), ^b<3  是不是不行,
    必须得
    @asd==getdim1num (^a), @asd<3  ?


    3. efl 就是系统预定义的命令吧,不太理解为什么一定要用括号? 怎么理解“系统预定义的语法和参数”这句话

    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-5-19 10:28
  • 签到天数: 548 天

    [LV.9]以坛为家II

    8

    主题

    1051

    回帖

    503

    积分

    初级

    积分
    503
    发表于 2024-1-8 11:24 | 显示全部楼层
    隔壁的薛定谔 发表于 2024-1-8 11:08
    感谢回复,
    1. 我又试了一下,的确可以。 那为什么 eva ^b就可以 , ^b并非系统预定义的吧,不需要写成 e ...

    1、^开头是自定义的,非系统预定义的,所以不用加(),当然加eva (^b)照样可以,结果相同
    2、^b是自变量,你可以给范围,不可以给约束,比如 for ^b 1 3,^b<3是逻辑语句。@asd是用户定义函数,可以给约束
    3、你可以理解marco或自动化设计界面里面能检索到的,都是系统预定义的

    评分

    参与人数 1金币 +1 收起 理由
    hhhddd + 1 666666

    查看全部评分

    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-5-12 23:57
  • 签到天数: 342 天

    [LV.8]以坛为家I

    79

    主题

    634

    回帖

    36

    积分

    新手

    积分
    36
    发表于 2024-1-8 13:27 | 显示全部楼层
    dpstt 发表于 2024-1-8 11:24
    1、^开头是自定义的,非系统预定义的,所以不用加(),当然加eva (^b)照样可以,结果相同
    2、^b是自变量 ...

         前辈,codev很多自定义的语句用法,很多时候看手册好像并没有什么卵用啊,不知道是不是我没找到方法的。     等于说EVA只能看特定用法,而不能看自定义@;^b不能直接控制大小,但可以用@和getdim1num读取之后,再控制大小,之前控制斜率,这个确实没搞懂,现在懂了




    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-5-19 10:28
  • 签到天数: 548 天

    [LV.9]以坛为家II

    8

    主题

    1051

    回帖

    503

    积分

    初级

    积分
    503
    发表于 2024-1-8 13:52 | 显示全部楼层
    hhhddd 发表于 2024-1-8 13:27
    前辈,codev很多自定义的语句用法,很多时候看手册好像并没有什么卵用啊,不知道是不是我没找到方法 ...

    存在即合理,自带的语法很多是是用户用的多,cv增加到预设了
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    联系我们|本论坛只支持PC端注册|手机版|小黑屋|吾爱光设 ( 粤ICP备15067533号 )

    GMT+8, 2024-5-19 22:45 , Processed in 0.109375 second(s), 27 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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