lighttools api 数据访问

本文详细介绍了如何使用MATLAB和Python与光学设计软件LightTools进行交互,包括连接设置、数据寻访及API函数调用。涵盖.com与.net连接方式、数据寻访列表与字符串使用、第三方库ltapy的安装与应用,以及Win32comclient和clr库的使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-------------------------------------------------分--割--线--------------------------------------------------------------------------------

连接lighttools-matlab

matlab连接lighttools有两种方式,一个是.net, 一个是.com

lighttools 建议使用.net 进行连接。两者区别不大,在函数的调用上会存在一些不同。同时在一些老版本的matlab里只能使用.com

.com方式:

clc;clear;
% 连接到lighttools
lt = actxserver('LightTools.LTAPI');
% 连接到扩展API里的lighttools API 函数 
ltml = actxserver('ltcom64.LTAPI2');
% 连接到扩展API里的Jumpstart函数
Js=actxserver('ltcom64.jsml');

.net方式:

def=System.Reflection.Missing.Value;
asm = NET.addAssembly('C:\Program Files\Optical Research Associates\LightTools 8.6.0\Utilities.NET\LTCOM64.dll');
lt=LTCOM64.LTAPIx;
lt.UpdateLTPointer
js=LTCOM64.JSNET2;
js.UpdateLTPointer;

好了这就连接上了,可以愉快的调用API函数了

数据寻访

数据寻访有两种方式,一种是建立数据寻访列表,一种是通过数据寻访字符串,数据寻访字符串只能在lighttools命令行里使用,或者通过api里的CMD命令调用。这里需要做一个权衡,当处理大批量数据的时候,使用数据寻访字符串的访问方式会很慢,推荐使用寻访列表。

寻访列表建立

下面的例子都是基于.com的

DbList

[listKey, status] = ltml.LTDbList(lt, dataKey, function)

datakey 是你所要建立列表的对象的上上个层级

function 即你要建立列表的对象

listkey 即得到的 object key ,通过这个 object key 才能调用后面那一堆API 函数

datakey 可以通过在lighttools里你要访问数据的东西上点击右键,复制数据访问名称得到

得到的那一串东西即为 数据访问字符串 ,这串东西并不能直接拿来作为datakey。

把这串字符的最后一小段删掉,作为datakey。

删掉的那部分为 functin

说的有点乱,举个栗子

我想要得到这条光线segment_0部分,的绝对坐标x

在单元格处右键复制数据访问名称可以得到如下的数据访问字符串

LENS_MANAGER[1].NS_RAYS[Rays].NS_RAY[nsRay_1327].NS_SEGMENT[segment_0].Global_X

也就是我想要读取的是这个Global_x

那么首先我们就得为他的上一层级NS_SEGMENT建立列表

% 数据寻访字符串
dataKey = 'LENS_MANAGER[1].NS_RAYS[Rays].NS_RAY[nsRay_1327]';
% 建立对象列表
[listKey, status] = ltm

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值