ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

SolidWorks装配体导入Zemax的三种路径与实战排障指南

2026/9/15 19:23:00 拓冰建站 浏览量
SolidWorks装配体导入Zemax的三种路径与实战排障指南 1. 为什么要把 SolidWorks 装配体搬进 Zemax三种路径的取舍做光机设计的人谁没经历过这样的事结构工程师在 SolidWorks 里把镜筒、镜片、压圈、隔圈全部装配到位交到你手里说“光学上帮忙看一眼边缘光会不会被挡杂散光有没有路径”。你一看这个装配体几十个零部件材质、螺纹、倒角、沉孔全在里面。然后问题就来了怎么把这个几十上百兆的装配体弄进 Zemax 做光线追迹这其实是个非常典型的光机联合仿真需求。Zemax现在叫 OpticStudio本身擅长光学系统设计但它的机械结构表达很弱SolidWorks 恰恰相反把结构干得一丝不苟但完全没有光线追迹和像质评估的能力。要让这两者对话唯一的办法就是把 SolidWorks 装配体以某种格式导入 Zemax 的非序列模式NSC让光线真的去撞这些实体面看它会折到哪里、反射到哪里、在哪一次表面被挡掉。在动工具之前我想先说清楚现状Zemax 导入 SolidWorks 装配体目前市面上成熟的做法其实就三条路。我把它们摆开你按自己的实际情况选。1.1 这个导入动作到底在解决什么问题很多人以为导入装配体就像插入一张图片放进去就完事了。实际上如果只是想要“一个外观”那没有任何意义。真正有价值的导入是为了在非序列模式下做三件事一是光机干涉检查看边缘光线、视场外的余光是否被镜筒内壁、压圈、螺纹台阶遮挡也就是算渐晕和拦光二是杂散光路径分析点光源散射到镜筒壁上后再反射回像面的鬼像和杂光是否超标三是实际系统灵敏度评估比如把装配体里的镜片偏心、镜间距公差代入看整体像质变化。这几件事都有一个共同前提Zemax 得能真实地“看见”每一个机械表面并在这些表面上计算折射、反射、散射和吸收。那就不是泛泛地把装配体当成一个摆设而是要搞清楚模型的单位、坐标、材料以及几何精度。正因为如此导入工作绝不只是“选个文件点一下打开”这么简单而是要从 SolidWorks 这一侧的模型准备就开始控制质量。这一篇我按完整流程讲一遍把我这些年踩过的坑也一起列出来。1.2 三种主流导入方式对比我先把三条路摆出来你心里有个数后面咱们再展开细节。第一种也是最稳的把 SolidWorks 装配体另存为 STEP 文件再在 Zemax 非序列模式下用 CAD Part 对象导入。这种方式不挑版本、不需要额外插件几乎所有用户都能跑通也是我默认的基础方案。第二种是用 OpticStudio 自带的 CAD Exchange也叫 CAD Import Converter直接读取 SolidWorks 原生格式 .SLDPRT 或 .SLDASM。这种方式不需要你在机器上装 SolidWorksZemax 会调起一个独立转换进程把原生文件转成自己能识别的缓存格式。好处是免去了先导出 STEP 这一步坏处是转换进程偶尔“罢工”首次转换很慢而且缓存文件有时候会占几个 G。第三种是真正的动态链接也就是 Zemax Link for SolidWorks。在 SolidWorks 那边装一个插件两边实时同步模型SolidWorks 里改一版Zemax 这边点一下刷新就跟着变。这种方式最适合做参数联动优化但安装配置麻烦插件跟 SolidWorks 和 Zemax 的版本匹配经常出幺蛾子所以我一般只在确实需要反复迭代时才用。我把三种方式的关键差异整理成了下面的表方便你对照选型。导入方式文件来源是否需要 SolidWorks 许可证更新方式稳定性适用场景STEP/IGES/SAT 静态导入SolidWorks 导出不需要手动重新导出导入最稳绝大多数光机验证、杂散光分析CAD Exchange 直接转换.SLDPRT/.SLDASM 原生不需要重新转换刷新缓存中等偶尔报错不想每次另存 STEP、快速试看初版验证Zemax Link 动态链接SolidWorks 原生需要安装 SolidWorks正版许可实时同步刷新受版本耦合影响参数联动优化、多轮迭代设计2. 导出前的准备工作在 SolidWorks 里多花十分钟后面省两小时这一步是我的血泪教训换来的。很多人一上来就点“另存为 STEP”结果到了 Zemax 里发现模型缩水、位置乱跑、面太多卡成幻灯片。问题不在 Zemax而在导出前没做功课。SolidWorks 里的装配体是给机械加工看的不是给光学追迹看的所以你在导出之前要做三个调整坐标统一、模型简化、格式选择。2.1 坐标系和原点决定导入后是否满地找位置Zemax 非序列模式有个所有人都要适应的约定光轴沿 Z 方向传播Y 轴朝上。而 SolidWorks 默认的零件模板通常是前视基准面为 XZ 平面、Y 轴朝上但装配体的绝对原点在哪完全取决于第一个插入的零件是怎么放的。很多工程师做结构时习惯把原点放在镜筒底面中心光轴方向沿着 Z这样其实最理想。但如果你拿到手的装配体原点在天上或者光轴沿 X 方向导入后你就要在 Zemax 里做一大堆旋转偏心非常痛苦。我的习惯是在 SolidWorks 里先建一个专门的“Zemax 导出配置”新建一个装配体布局把光轴对齐到 Z 轴把机械基准面放到坐标原点附近在这个基准下调整好各零部件的绝对位置。然后用“文件→另存为→STEP AP214”并在导出选项里勾选“自定义坐标系”直接选用这个基准坐标系。这样导出来的 STEP 文件一进 ZemaxCAD Part 的原点就是光轴原点省掉了后期调坐标的功夫。如果你临时拿到一个原点乱飞的装配体也不用回 SolidWorks 重新摆还有一招在 Zemax 里给 CAD Part 对象填三个值Tilt About X、Tilt About Y、Tilt About Z加偏心 X/Y/Z慢慢试也能对回来。但这个过程很消磨耐心尤其是模型一旋转看起来哪里都对了一追迹光线就发现角度差了几度。所以说到底原点对齐这件事在 SolidWorks 里做远比在 Zemax 里做高效。这里有个易忽略的细节SolidWorks 默认单位是 MMGS毫米、克、秒如果你导出时用的是第一步的默认模板STEP 文件内部会写明单位。Zemax 导入时有自己的长度单位设置默认可能是毫米。两边只要有一处不对你就会看到 25.4 倍或 0.03937 倍的缩放。这个我在后面第 4 章专门讲。2.2 模型简化与多实体合并避免导入后光线追迹卡死SolidWorks 装配体里的每个零件Zemax 原则上都能转换成可追迹的表面。但问题是机械零件上有太多对光学无关紧要的几何螺纹、倒角、凹槽、沉头孔、阵列孔、滚花。每一个小特征在 Zemax 里都会变成几百上千个三角面片光线追迹时每一条光线都要去判断是否与这些面片相交计算量直接爆炸。所以我的原则是光学表面和结构表面要区别对待。镜片有效口径内的曲面、镜筒内壁、遮光罩、压圈端面这些光线真正会碰到的表面必须保真至少曲率半径、圆锥系数、台阶高度不能错。而对那些远在视场外、根本不会被光线照射到的螺纹、倒角、孔位能删就删能隐藏就隐藏。具体操作上我一般分两步。第一步在 SolidWorks 里新建一个“简化配置”Configuration把不必要的特征压缩掉尤其那些用于装配的螺纹特征和阵列孔。第二步如果装配体里存在大量小零件比如螺丝、垫片、卡簧而它们在光学上又不重要就直接在“另存为”时把它们排除掉或者统一合并成少数的几个实体。如果遇到一个多实体零件SolidWorks 中一个文件里塞了多个实体我建议你考虑用“插入→特征→保存实体”把它们拆成独立零件再重新组成一个装配体。虽然装配体文件数量多了但每个零件在 Zemax 里可以单独控制材料、折射率和追迹属性。反过来如果某一组零件之间没有任何相对运动也不需要独立光学属性那就在 SolidWorks 里用“插入→特征→组合”把它们布尔合并成一个实体。前者是为了灵活后者是为了效率看你的实际需求走。2.3 导出 STEP 的正确姿势格式与选项勾选这一步的操作直接决定 Zemax 能不能正确识别。我的标准流程是这样在 SolidWorks 里“文件→另存为”文件类型选“STEP AP214 (.step;.stp)”。为什么选 AP214 而不是 AP203AP214 对实体和曲面几何的保存更完整更重要的是它能保存装配体内部的单位信息和颜色信息对 Zemax 识别材料属性有帮助。AP203 虽然更老牌但遇到复杂曲面、修剪曲面时容易丢面所以我从来不选。另存为时点“选项”按钮进入 STEP 导出设置。这里有一个非常关键的选项叫“输出的坐标系”下拉菜单里可以选择 SolidWorks 预定义的坐标系。如果你在 2.1 里建了基准坐标系这里就选它。如果没有可以选“默认”但就要接受 Zemax 里的模型带着原始装配坐标系。还有一个选项是“要保存的几何”里面有实体/曲面几何体、曲面几何体、线框等选项。一定要保持“实体/曲面几何体”不要选成“曲面几何体”。曾经有个项目里我不小心选成了曲面几何体导出的 STEP 只有零碎曲面片Zemax 导入后模型千疮百孔光线直接从缝隙里穿过去了根本没法用于杂散光分析。如果你需要在 SolidWorks 里排除某些不重要的零部件不要把整个装配体一股脑导出去可以在另存为前把不需要的零件“隐藏”STEP 导出时隐藏的零件默认不参与保存。这也是最轻量的简化方法不需要建配置快捷键一键隐藏即可。当然用配置管理更规范但紧急情况下隐藏零件是真快。3. 在 Zemax 中完成导入与配位从文件到可追迹的镜头SolidWorks 侧的准备做完了STEP 文件也落盘了现在进入 Zemax 环节。以一个典型非序列系统为例我把从新建文件到完成导入配位的每一步写下来你照着点点鼠标就行。3.1 新建非序列系统并添加 CAD Part打开 OpticStudio新建一个文件把编辑器切到“非序列”Non-Sequential模式。你会在非序列元件编辑器NSCE里看到一行一行的 Object每个 Object 对应系统里的一个物体。第一行默认通常是 Object 1可以在上面右键选“插入新物体”或者直接在编号处双击添加一行新的非序列元件。新插入的元件类型Object Type默认是“Standard Lens”我们要把它改成“CAD Part”。改成 CAD Part 之后元件属性对话框会多出一个“Data File”区域这里就是让你选择 CAD 文件的入口。此时你就可以选入之前从 SolidWorks 导出的 STEP 文件了。如果你导入的是包含多个实体的 STEP 文件界面里还有一个“Structure”相关的下拉选项控制是使用文件里的第一个结构、所有结构还是指定某个结构。这一步会直接影响装配体的完整性我建议第一次先选“所有结构”这样导入进来的是整个装配体而不是只有第一个零件。导入需要几秒钟到几分钟不等视文件大小而定。Zemax 在读取 STEP 后会把它转换成内部的 CAD 面片数据这个过程是有进度条的。如果你的文件很大屏幕可能会先黑一下或卡住不要慌等它把内存分配完模型一旦显示出来后续操作会顺畅很多。3.2 文件导入、单位与材料设置CAD Part 导入后在非序列元件编辑器里能看到它的各项参数其中最重要的有两个一个是模型单位一个是材料。单位设置一定要跟 SolidWorks 里的原始单位保持一致。你如果 SolidWorks 用的是毫米这里就把长度单位选成 mm。也别太自信有的公司模板把 SolidWorks 单位定义成了英寸而模型内的数值却按毫米标这种不一致只有在 Zemax 里看到模型尺度异常时才能发现。我的检查方法特别简单导入完成后看一眼 CAD Part 的“X Half Width”或包围盒尺寸如果实际口径 50mm 的镜片显示成了 1.9685那就是英寸,直接在单位下拉里改成英寸就行如果显示 50代表已经是 mm一切正常。材料设置的一个坑CAD Part 对象默认材料是“Absorb”意思是全吸收。也就是说如果你只设置材料就去做追迹光线在第一个面上就全部被吃掉了根本不会发生折射反射。你要根据实际零件设置材料。如果是透镜选玻璃材料比如 BK7注意设置玻璃类型为模型或库存玻璃如果是反射镜可以选“Mirror”如果是镜筒内壁这类结构件要模拟散射或者吸收可以选“Absorb”也可以选某个金属材料或自定义膜层。如果整个装配体里的不同零件需要不同材料你就会遇到一个问题CAD Part 整体被当成了一个物体材料只能统一设置。解决办法有两个一种是把不同材料的零件拆成多个实体并分别导出然后在 Zemax 里建多个 CAD Part 对象按各自位置摆放另一种是利用 CAD Part 的对象属性里的“膜层/散射/材料”分配功能按面索引或者结构来指定。第二种方法对新手不太友好我更推荐第一种在 SolidWorks 里把同类材料的零件合并成一个实体分别导出然后在 Zemax 里分多个 Object 导入。3.3 装配体在 Zemax 中的坐标修正技巧如果前面第 2 步工作做得充分SolidWorks 坐标系和 Zemax 光轴一致那这一步基本不用做。但如果模型进来后位置不对、方向不正你可以通过非序列元件编辑器中 CAD Part 对象自己的 Tilt/Decenter 参数来调整。我喜欢把三个参数的顺序搞清楚。在 Zemax 非序列模式里一个对象的位置由两个层次控制一个是对象本身的 Tilt About X/Y/Z一个是它的参考面Reference Object位置。如果你导入的 CAD Part 对象只是作为独立物体存在设置 Tilt About X 为 90 度它就会绕自身原点转 90 度如果你想要它以某个已有镜片为基准做偏心就得在“Tilt/Decenter”的类型里选“参考面类型为某个 Object”。实际操作里最容易犯的错是只知道绕 X 轴转了 90 度但转完之后方向对了位置又跑到十万八千里外。这通常是因为 SolidWorks 里模型的绝对坐标和 Zemax 原点差异太大。遇到这种情况你可以在 SolidWorks 里统一模型基准或者干脆在 Zemax 里先把位置摆正记录偏移量再把同一个 STEP 文件作为第二个对象导入时复制这三组偏移值。这个方法虽然笨但一目了然也不容易出错。还有一个偷懒的小技巧如果你的装配体只是需要整体旋转 90 度保证光轴朝 Z那你不用在 SolidWorks 里重新折腾了直接在 Zemax 里对 CAD Part 对象设置 Tilt About Y 90 或 Tilt About X 90 就行。旋转轴绕哪个看你装配体里光轴原先朝向哪个方向。实测下来SolidWorks 里习惯把光轴放 Y 向的工程师还真不少这招能救急。3.4 从单一 CAD Part 到多个独立零件材料与光学属性的分配装配体如果不大整个导入成一个 CAD Part 是最省事的。但一旦你要给不同零件设不同材料或者要对镜筒内壁单独设置散射属性就得把装配体拆开。我先说为什么要拆。在杂散光分析里镜片玻璃和镜筒内壁的处理方式完全不同镜片要设置透过率和折射率镜筒内壁要设置反射率和散射模型。如果你一个 CAD Part 里既包含镜片又包含镜筒那所有面都会被赋予同一种材料和表面属性这就没法模拟真实系统里“玻璃透、金属反”的物理过程了。所以我的实践方案是在 SolidWorks 侧把装配体按材料分组每一组单独导出一个 STEP 文件。比如玻璃组一个 STEP金属结构组一个 STEP遮光漆组一个 STEP或者干脆不导用 Zemax 自带圆柱体替代遮光筒。导出时所有文件保持同一个坐标系这样导入到 Zemax 后三个 CAD Part 只需设置相同的坐标原点它们就能在空间上精确对齐形成一套完整装配体。这个方法听起来麻烦但实际操作下来比在一个 CAD Part 里折腾“结构索引”要稳得多。尤其当你后续要调某个镜片材料或镜筒散射参数时直接选中对应 Object 改材料就行不用在 CAD Part 的属性树里翻来翻去。代价是 Zemax 文件里 Object 数量变多但 NSCE 本来就能管理几十上百个 Object这点数量不算事。4. 导入失败与卡顿的排障实录我踩过的那些坑这部分我攒了很久全是真金白银换来的经验。我在各种版本的 SolidWorks 和 OpticStudio 组合里踩过不少坑列成一个速查表挂在手边。你如果遇到类似问题直接对号入座。症状常见原因解决动作模型整体缩小或放大 25.4 倍单位不一致SolidWorks 用英寸Zemax 用毫米或反之在 CAD Part 属性中确认并修改单位mm/inchSTEP 文件导入后只有实体轮廓线没有实体面导出时选了“曲面几何体”或“线框”回 SolidWorks 重新导出几何选“实体/曲面几何体”Zemax 报错“failed to open the model”或打不开原生文件CAD 转换器进程未启动或版本不匹配手动运行 Zemax CAD Import Converter以管理员身份开启再重试导入导入后只看到一个零件其他零件消失STEP 结构选择为“第一个结构/部分结构”在 CAD Part 属性中把“结构”改成“所有结构”模型面片数巨大追迹一两秒一条光线装配体包含太多细碎特征回到 SolidWorks 隐藏/压缩次要特征减少面片再导出光线从结构件内部直接穿过看不出遮挡结构件的几何有破面或重叠面在 SolidWorks 里做布尔组合消除重叠实体检查 STEP 导出选项模型位置偏移偏离光轴几十毫米装配体原点与 Zemax 原点不一致在 SolidWorks 导出时选自定义坐标系或在 Zemax 设置 Tilt/Decenter4.1 模型整体缩小/放大 25.4 倍这是出现频率最高的问题没有之一。原因前面提过就是英制公制单位对不上。SolidWorks 默认配置一般是 MMGS但有些公司模板或从别处拿来的模型会把单位设成 IPS英寸、磅、秒导出 STEP 时文件内部存的就是英寸。Zemax 如果默认按毫米读入所有尺寸自然缩到 1/25.4。判断方法很简单导入后选中 CAD Part看“Bounding Box”或“X Half Width”。如果实际口径 50mm 的镜片显示值是 1.9685那就是英寸显示 50 就是毫米。知道原因后你既可以在 Zemax 属性里把单位改成 inch也可以回 SolidWorks 把单位统一改成 MMGS 再重新导出。我更倾向后一种因为后续你还要在同一个系统里放光源、放探测器如果 CAD Part 单位和 Zemax 全局单位不一致后面参数很容易乱。4.2 文件打不开或转换器报错如果你直接导入 .SLDPRT 或 .SLDASM 原生文件Zemax 会调用后端的 CAD 转换组件。这个组件经常因为权限不足启动失败表现就是报错“Please make sure the connected CAD application is installed”之类。这时候你打开任务管理器看看进程列表里有没有对应转换器的进程如果没有就去 Zemax 安装目录下的 CADConverters 文件夹里找到那个 exe右键“以管理员身份运行”让它常驻后台再回 OpticStudio 里重试。如果一直失败也别死磕原生格式。最稳妥的退路还是回 SolidWorks 里导出 STEP然后用“文件→导入”的方式读 STEP。STEP 是国际标准交换格式而且 Zemax 对它支持得最好。遇到死结换条路往往比硬刚快。4.3 只显示一个零件或面索引对不上这个坑一般藏在 STEP 文件的结构设置里。SolidWorks 装配体导出 STEP 后Zemax 读入时默认可能只取第一个结构于是你在 NSCE 里看到模型显示的是一个零件或者只有半个装配体。解决办法是选中 CAD Part 对象在其属性里有“Structure”或者“使用结构”的选项改成“All”或者“所有结构”。如果你导出的不是装配体而是一个多实体零件也要注意同样的问题。有些多实体零件在转换为 STEP 后不同实体被视作不同的结构如果你只选第一个结构那等于只导入了其中一个实体。初次导入时只要不是明确想拆分一律选“所有结构”等显示完整了再根据需求拆。面索引对不上的问题则多发生在你拆分 CAD Part 时。比如你用“CAD Part面”类型需要指定 Face Index但导入的面顺序和 SolidWorks 里的特征树顺序未必一致。解决方法是先在属性对话框里用小窗口切换“下一个/上一个”面索引观察高亮的面是不是你想要的那一个。这一步纯属耐心活我最多一次翻了两百多个面索引才找到目标面所以我还是主张能拆就拆成独立对象少碰面索引。4.4 导入后光线追迹奇慢这个问题通常有两个来源。一是面片数太多二是材料设置不当导致光线在所有面上产生大量折射/反射分支。面片数太多很好理解。SolidWorks 里的一个圆柱镜筒内壁如果带螺纹、倒角、凹槽在 Zemax 里可能生成几十万个三角面。这时候你先加一条光线追一下试试如果一条光线都要算好几秒说明模型太肥。回到 SolidWorks 里把次要特征压缩或者用“Defeature”功能简化模型将面片数降到几万量级追迹速度会显著提升。材料设置不当的情况是这样的你给 CAD Part 设成了玻璃又没有限制最大折射次数光线在玻璃体内发生全反射后再撞到无序的三角面网格可能被反复折射反射几万次直接陷入死循环。遇到这种情况你可以在非序列系统选项里限制“最大折射/反射次数”Max Refractions and Reflections设置为 50 或 100一旦超过就终止这些光线。如果你的分析对象主要是杂散光还可以配合“Split Rays”的开关来控制分支光线数量否则默认分支一多就算面片数不多也会慢出天际。5. 我把这个流程用在哪些场景里从验收到优化的进阶玩法流程跑通之后你会发现自己能用 Zemax 干的事远比想象的丰富。我把自己经常用的三个场景写出来给大家参考也算对这个流程的价值补充。5.1 光机干涉检查与渐晕评估这是最基础也最高频的场景。镜头设计完成了机械结构也完成装配了你最想知道的是设计视场的光线在传播路径上有没有被镜筒内壁、压圈、隔圈、光阑底座碰到。把装配体导入后你在系统里放一个合适的物方光源设置好视场角和孔径再放一个像面探测器。然后跑一次几何光线追迹用“光线足迹图”或者“入射点分布”在结构件表面上看光线是否触碰。如果光线打到了镜筒内壁你会看到明显的光斑或者路径上的截断这时就能很直观地判断是哪个零件的哪个台阶挡了光。这种检查如果放在光机加工之前做能省下大量返工成本。我手里曾经有个红外系统第一版结构只按机械干涉检查过没做光学视场扫描结果装调时发现边缘视场被压圈挡住将近一半。后来把装配体导入 Zemax两条光线指过去一眼就看到了压圈的开口尺寸不够。修改之后再也没出过同类问题。5.2 杂散光分析中的装配体简化策略杂散光分析对模型精度和计算量的平衡要求更高。你既不想漏掉关键反射面又不能让模型大到跑不动。我的简化策略是分优先级第一优先级是镜片表面和镜筒内壁这些是杂散光的直接路径第二优先级是压圈端面、隔圈台阶、光阑片它们是多次反射的“二级光源”第三优先级是螺纹、孔、凹槽这些细节对杂散光路径贡献很小直接省略。所以我在导入前会在 SolidWorks 里做一次“裁剪”操作把第三优先级零部件全部隐藏把第二优先级零部件作为独立实体导出第一优先级保留完整形状。这样进入 Zemax 的模型已经是被“提纯”过的再配合散射模型比如 ABg 散射做追迹杂散光分析的效率会高很多。盲目地把整个装配体全塞进去最后只会得到一个算一次要三个小时、还不一定能收敛的模型。5.3 动态参数联动的进阶玩法如果你需要反复迭代镜片间距、镜片厚度或结构尺寸用 STEP 静态导入确实有点笨改一次结构SW 里导出一次Zemax 里再导入一次。这时候就该上 Zemax Link 插件了。Zemax Link 装好后在 SolidWorks 的插件菜单里能看到一个 Zemax 的入口。你在 SolidWorks 里修改装配体中某个零件的拉伸深度或配合尺寸回到 OpticStudio 里系统会弹出一个“更新模型”的提示点一下就同步好了。这个流程适合做公差分析和参数优化但要求两边的版本匹配而且 SolidWorks 必须是能正常启动的正版环境。我在项目里其实没有把动态链接作为默认方案。因为一旦模型里零件很多每次刷新都要重新转换整个装配体反而比手动导出 STEP 更慢。我的用法是只有在少数几个参数比如镜间距、后焦距离需要频繁迭代时才把这一部分单独抽取出来做动态链接其余仍然走静态导入。这个思路用下来效率和稳定性都能兼顾。最后再分享一个我个人的习惯。每次导入完成后我会在 Zemax 里刻意摆一个观察视角把模型轮廓和系统光轴同时显示出来肉眼先扫一遍有没有穿模或者错位。这一步真的能避免很多后知后觉的问题。多花这一两分钟比后面追迹跑完发现结果完全不可信再回去排查省心太多了。