本帖最后由 称奇 于 2024-2-4 21:25 编辑
如题,我在学习zos-api示例5读取zrd文件的示例,它加载了zemax中蝇眼透镜匀光的非序列案例。在示例5中其保存的zrd文件可以正常读取,但是我在将相对应的代码应用在自己的示例中,却总是报错:
Raytracing failed!\n\n
Input settings are invalid
此类型的变量不支持使用点进行索引。
出错 MATLABStandaloneApplication>BeginApplication (line 88)
[success_NextResult, rayNumber, waveIndex, wlUM, numSegments] = ZRDResult.ReadNextResult();
出错 MATLABStandaloneApplication (line 14)
r = BeginApplication(TheApplication, args);
我搞不清楚为什么会这样,不知道各位大佬有没有了解的?对应的部分读取代码为:
NSCRayTrace = TheSystem.Tools.OpenNSCRayTrace();
NSCRayTrace.SplitNSCRays = true;
NSCRayTrace.ScatterNSCRays = false;
NSCRayTrace.UsePolarization = true;
NSCRayTrace.IgnoreErrors = true;
NSCRayTrace.SaveRays = true;
NSCRayTrace.SaveRaysFile = 'nsc1.ZRD';
NSCRayTrace.ClearDetectors(0);
NSCRayTrace.RunAndWaitForCompletion();
NSCRayTrace.Close();
ZRDReader = TheSystem.Tools.OpenRayDatabaseReader();
ZRDReader.ZRDFile = System.String.Concat(sampleDir, '\nsc1.ZRD');
ZRDReader.RunAndWaitForCompletion();
if ZRDReader.Succeeded == 0
disp('Raytracing failed!\n\n')
disp(ZRDReader.ErrorMessage)
else
disp('Raytracing completed!\n\n')
end
图片无关,不知道怎么删除了