# Central Mag Arc 扫描脚本 脚本通过 Motor-CAD 的 Windows COM 接口,扫描当前模型的 `Central Mag Arc [ED]`(自动化名 `MagnetCentralArc_HalbachRing`),并输出 Torque Ripple 列表与简单分析。 ## 使用前 1. 在 Motor-CAD 中打开目标 `.mot`(脚本连接现有实例,不新开实例)。 2. 使用安装了 `ansys-motorcad-core` 的 Windows 原生 Python。 3. 关闭或暂停其它会控制同一 Motor-CAD 实例的脚本。 若同时开了多个 Motor-CAD,先按进程 ID 找监听端口,再显式传给脚本: ```powershell Get-CimInstance Win32_Process -Filter "Name='MotorCAD.exe'" | Format-List ProcessId,CommandLine netstat -ano | Select-String '<目标进程ID>$' python .\scan_central_mag_arc.py --port 65479 ``` 选择该进程的 IPv4 `LISTENING` 端口;端口号每次启动可能变化,示例值不能长期复用。 若现有窗口含未保存工作,使用独立实例最安全: ```powershell python .\scan_central_mag_arc.py --new-instance ``` ## 命令 ```powershell python .\scan_central_mag_arc.py ``` 默认:80 到 120 EDeg,步长 1,`TorquePointsPerCycle=120`,气隙网格 `mesh/layers=960`。120 点与原始 840 网格不对齐,会触发 Motor-CAD 交互弹窗;960 是 Motor-CAD 提示的兼容值,同时比参考项目最终复算用的 1680 更快。 自定义范围和步长: ```powershell python .\scan_central_mag_arc.py --start 90 --stop 110 --step 2 ``` 最终候选高精度复算: ```powershell python .\scan_central_mag_arc.py --start 96 --stop 104 --step 1 --torque-points 180 --airgap-mesh 1440 --no-resume ``` 若要求连求解采样设置也完全保持模型原值(原模型为 30 点,但会混叠 18 次谐波): ```powershell python .\scan_central_mag_arc.py --torque-points 0 --airgap-mesh 0 --no-resume ``` 结果写入 `results/central_mag_arc_scan.csv`,每个点完成后立即落盘;中断后重跑会跳过 已有成功点。`results/central_mag_arc_analysis.md` 是自动生成的结果表和简要分析。 每个点开始前脚本都会重新加载原始 `.mot`,然后只修改 Central Mag Arc;结束后再次加载 原模型,因此不会把最后一个扫描值留在当前模型中。默认的 120 点仅改变本次求解的数值采样, 不改变其它几何、材料、绕组或工况参数。