吾爱光设

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

LightTools中VBA宏的编写入门(2)

[复制链接]
  • TA的每日心情

    2023-12-26 20:47
  • 签到天数: 349 天

    [LV.8]以坛为家I

    18

    主题

    141

    回帖

    111

    积分

    入门

    积分
    111
    发表于 2023-12-25 11:51 | 显示全部楼层 |阅读模式
    上次只实现了LT和VBA的交互,这次实现用VBA让LT自动光线追迹,并将数据存储至相应的表格列表中。
    这次以LED准直为例子演示:
    1 打开一个空的LT文件,并且去欧司朗官方网站下载一个简单的光线模型(后面附件会提供,有时间的小伙伴可以思考下这个文件是怎么产生,以及这个文件中每一行都代表什么意思),将欧司朗的光源文件导入,如下图

    后续将光发射角度改到90°即可,然后建立一个5mm直径,厚度2.5mm的透镜,将其置于z=5mm位置(光源发射面位于0点),并修改系统中的单位

    透镜材料不需要修改,就用NBK7就好,建立一个探测器,并添加准直的评价函数,探测器尺寸50*50,位置z=100mm,完成后如下


    本次主要更改透镜的R值并获取最大位置的发散角度,具体代码如下 :
    Sub SETPARM()
    '建立接口
    Dim lt As LightTools.LTAPI
    Set lt = New LightTools.LTAPI

    k = 2
    For i = 2.7 To 5 Step 0.1
    '设置R值,此处的
    'LENS_MANAGER[1].COMPONENTS[Components].SOLID[Lens_4].CIRC_LENS_PRIMITIVE[LP_1].SPHERICAL_LENS_SURFACE[LensRearSurface]
    '是R值存储的地址,具体找到其位置,一般使用“复制其访问链接”,后面用图演示
    LENSR = lt.DbSet("LENS_MANAGER[1].COMPONENTS[Components].SOLID[Lens_4].CIRC_LENS_PRIMITIVE[LP_1].SPHERICAL_LENS_SURFACE[LensRearSurface]", "Radius", i)
    '再输入框中输入开始模拟
    lt.Cmd "BeginAllSimulation"

    ' get到具体最大位置的发散角
    MAXCOLANGLE = lt.DbGet("LENS_MANAGER[1].OPT_MANAGER[Optimization_Manager].OPT_MERITFUNCTIONS[Merit_Function].OPT_COLLIMATEMERITFUNCTION[COL]", "ValueAt", "1", "11")

    ' R将结果放至sheet1,B2-B25列
    Worksheets("Sheet1").Range(Cells(k, 2), Cells(k, 2)) = MAXCOLANGLE
    k = k + 1
    Next i

    l = 2
    For j = 2.7 To 5 Step 0.1
    ' R值仿真从2.7到5 ,放至sheet1,A2-A25列
    Worksheets("Sheet1").Range(Cells(l, 1), Cells(l, 1)) = j
    l = l + 1
    Next j


    End Sub


    数据链接的方式:

    至此数据链接完成。




    本帖子中包含更多资源

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

    ×

    评分

    参与人数 1金币 +2 收起 理由
    hhhddd + 2 很给力!

    查看全部评分

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

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-4-30 08:40
  • 签到天数: 338 天

    [LV.8]以坛为家I

    79

    主题

    634

    回帖

    36

    积分

    新手

    积分
    36
    发表于 2023-12-25 15:01 | 显示全部楼层
    前辈,链接文本去作图也是挺好的,我有一个步骤正好是要输出一行文本然后作图。另外,在做鬼像的时候LT多角度分析有时候也需要贴各个杂散光在接收器的位置和路径,那这个时候的输出图片,有啥好方法吗?这个您了解不?
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情

    2023-12-26 20:47
  • 签到天数: 349 天

    [LV.8]以坛为家I

    18

    主题

    141

    回帖

    111

    积分

    入门

    积分
    111
     楼主| 发表于 2023-12-25 21:54 | 显示全部楼层
    hhhddd 发表于 2023-12-25 15:01
    前辈,链接文本去作图也是挺好的,我有一个步骤正好是要输出一行文本然后作图。另外,在做鬼像的时候LT多角 ...

    LT可以输出图片到EXCEL,函数具体要查一下,多看下说明书
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-2 16:16 , Processed in 0.109375 second(s), 24 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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