本帖最后由 伊人在水一方 于 2025-9-11 20:53 编辑
Zemax—Matlab API 交互教程(1) _初始化
1.打开ZEMAX,在“编程”页面点击“ZOS-API.NET编译器”选项卡下的“MATLAB”,在下拉栏中点击“交互扩展”,可通过Matlab实时控制Zemax,并且可以实时观察Zemax窗口。注意,旁边还有一个“独立应用程序”,这个也是通过Matlab进行控制的,不同的地方在于“独立应用程序”无需打开Zemax窗口,也无法观察到实时交互的动态过程。因此强烈建议使用“交互扩展”。
2.此时会弹出ZEMAX的ZOS-API Projects文件夹,可以看到ZEMAX已经创建了一个MATLABZOSConnection1.m文件(其中最后面的数字表示你打开了多个交互文件,点击两次“交互扩展”,则会存在两个.m文件:MATLABZOSConnection2.m;此文件可以自由删除),此文件用于与MATLAB进行交互,如果电脑中已安装MATLAB并且已打开,则MATLAB会自动打开该.m文件。
可以在此文件上进行相关的编程,但为了方便起见,一般会将此文件作为子文件引用,不进行改动,后文会进行具体的操作。
复制此文件夹的路径,后文需要。
3.在ZEMAX中点击“ZOS-API.NET接口”选项卡中的“交互扩展”
4.在MATALB中打开MATLABZOSConnection1.m文件,点击运行
4.1在MATALB中看命令行窗口是否运行成功,运行成功会返回一下信息:
在ZEMAX中会显示:Connected
4.2如果运行不成功,"Failed to connect to opticstudio",官方在代码中也给出了解决方法
在MATLABZOSConnection1.m中,找到这几行,大概在37-39行
(1)按照%Note中的方法,注释掉% success =ZOSAPI_NetHelper.ZOSAPI_Initializer.Initialize();
(2)取消注释:success =ZOSAPI_NetHelper.ZOSAPI_Initializer.Initialize('C:\ProgramFiles\OpticStudio\');,然后把里面的路径改为OpticStudio.exe安装路径所在的文件夹,注意最后以“\”结尾,比如我安装在E盘中:
(3)如果忘记了安装位置,可右键ZEMAX图标,打开文件所在位置
5.在MATLAB中创建一个新的.m文件,复制粘贴下面的初始化代码,需要修改其中的路径:
%%%%%%%%%%%% 代码开始 %%%%%%%%%%%%%%
clc; clear; close all;
%% 添加路径,此路径为第2点中打开的MATLABZOSConnection1路径
addpath("C:\Users\Documents\Zemax\ZOS-APIProjects\MATLABZOSConnection1");
%% =============== 1.初始化 Zemax 连接 ===============
TheApplication =MATLABZOSConnection1;
TheSystem =TheApplication.PrimarySystem;
% 替换你的 .zmx 文件路径
zmxPath = "C:\Users\Desktop\ZEMAX_API教程\Beam Homogenizer-Updated.zmx";
TheSystem.LoadFile(zmxPath, false);
%%%%%%%%%%%% 代码结束 %%%%%%%%%%%%%%
(3)命令窗口会显示运行成功:Found OpticStudio at:Zemax程序路径
|