吾爱光设

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

[求助] [已解决]Lighttools与Matlab互联求助

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

    2024-10-7 14:51
  • 签到天数: 39 天

    [LV.5]常住居民I

    18

    主题

    17

    回帖

    0

    积分

    小白

    积分
    0
    发表于 2024-3-28 18:59 | 显示全部楼层 |阅读模式
    各位大佬晚上好,实在不知道怎么办了只好来帖子求助。具体需要1.实现软件之间的互联,查看了API指南还是失败,有没有具体的代码供参考求求大家了。2.根据设置好的光线追迹参数运行光线追迹。3.调整光源的Alpha角再次进行光线追迹。4.重复23并导出每次的辐照度值
    最佳答案
    2024-3-28 20:15
    本帖最后由 知音2020 于 2024-3-28 21:46 编辑

    其实说明书里都有,给你一个示例:
    1.链接代码
    lt=actxserver('lighttools.ltapi4');
    lm=actxserver('ltcom64.ltapi2');
    js=actxserver('ltcom64.jsml');
    NewV3D(js,lt);
    lt.Cmd("SweptSolid XYZ 0,-0.025,-0.05 XYZ 0,0.6,-0.4 XYZ 0,-0.6,-0.13");
    2.
    tiltkey = SWEPT_SOLID[SweptEntity_1].SWEPT_PRIMITIVE[SweptPrimitive_1];
    LTDbSet(lm,lt,tiltkey,'Alpha_Relative',alpha);
    3.调整光源的角度只能你自己写个for 循环了
    开始光线追迹的代码
    Num_Rays = 15E4;
    LTDbSet(lm,lt,'LENS_MANAGER[1].ILLUM_MANAGER[Illumination_Manager].SIMULATIONS[ForwardAll]','MaxProgress',Num_Rays);
    LTCmd(lm,lt,'\V3D BeginAllSimulations');
    4.读取照度值
    %GetMeshData()
    NewV3D(js,lt)
    MakeSourcePoint(js,lt,0,0,0,'mySource')
    MakeDummyPlane(js,lt,0,0,5,0,0,1,'N','R',5,5,'myDummy')
    MakeReceiver(js,lt,'myDummy','dummyplane','myreceiver')
    LTDbSet(m,lt,'receiver[1].mesh[1]','X_Dimension',7)
    LTDbSet(m,lt,'receiver[1].mesh[1]','Y_Dimension',7)

    LTCmd(m,lt,'\V3D BeginAllSimulations')

    d=zeros(7,7);
    [ltr,d]=LTGetMeshData(m,lt,'receiver[1].mesh[1]',d,'CELLVALUE');
    %可以自定义修改7*7或51*51

    差不多了,剩下的就是你自己组合了,对于自己的用途需要自己开发宏语言!加油
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-11-21 09:12
  • 签到天数: 1133 天

    [LV.10]以坛为家III

    17

    主题

    327

    回帖

    70

    积分

    入门

    积分
    70
    发表于 2024-3-28 20:15 | 显示全部楼层    本楼为最佳答案   
    本帖最后由 知音2020 于 2024-3-28 21:46 编辑

    其实说明书里都有,给你一个示例:
    1.链接代码
    lt=actxserver('lighttools.ltapi4');
    lm=actxserver('ltcom64.ltapi2');
    js=actxserver('ltcom64.jsml');
    NewV3D(js,lt);
    lt.Cmd("SweptSolid XYZ 0,-0.025,-0.05 XYZ 0,0.6,-0.4 XYZ 0,-0.6,-0.13");
    2.
    tiltkey = SWEPT_SOLID[SweptEntity_1].SWEPT_PRIMITIVE[SweptPrimitive_1];
    LTDbSet(lm,lt,tiltkey,'Alpha_Relative',alpha);
    3.调整光源的角度只能你自己写个for 循环了
    开始光线追迹的代码
    Num_Rays = 15E4;
    LTDbSet(lm,lt,'LENS_MANAGER[1].ILLUM_MANAGER[Illumination_Manager].SIMULATIONS[ForwardAll]','MaxProgress',Num_Rays);
    LTCmd(lm,lt,'\V3D BeginAllSimulations');
    4.读取照度值
    %GetMeshData()
    NewV3D(js,lt)
    MakeSourcePoint(js,lt,0,0,0,'mySource')
    MakeDummyPlane(js,lt,0,0,5,0,0,1,'N','R',5,5,'myDummy')
    MakeReceiver(js,lt,'myDummy','dummyplane','myreceiver')
    LTDbSet(m,lt,'receiver[1].mesh[1]','X_Dimension',7)
    LTDbSet(m,lt,'receiver[1].mesh[1]','Y_Dimension',7)

    LTCmd(m,lt,'\V3D BeginAllSimulations')

    d=zeros(7,7);
    [ltr,d]=LTGetMeshData(m,lt,'receiver[1].mesh[1]',d,'CELLVALUE');
    %可以自定义修改7*7或51*51

    差不多了,剩下的就是你自己组合了,对于自己的用途需要自己开发宏语言!加油
    发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
    回复

    使用道具 举报

  • TA的每日心情

    2024-10-7 14:51
  • 签到天数: 39 天

    [LV.5]常住居民I

    18

    主题

    17

    回帖

    0

    积分

    小白

    积分
    0
     楼主| 发表于 2024-3-28 23:56 | 显示全部楼层
    知音2020 发表于 2024-3-28 20:15
    其实说明书里都有,给你一个示例:
    1.链接代码
    lt=actxserver('lighttools.ltapi4');

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-11-23 17:00 , Processed in 0.156250 second(s), 23 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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