本文件面向 Claude Code / Codex / Cursor / 豆包等 AI 编程工具。 接到任何任务前,先读 docs/KNOWLEDGE_BASE.md。
PCB轴向磁通电机自动化仿真系统 — 双系统解耦架构:
当前处于 Phase 1 最小闭环开发:本地GUI方案编辑 → Motor-CAD自动化仿真 → 结果输出 → 经验库积累。
docs/KNOWLEDGE_BASE.md — 核心知识库(环境事实、参数语义、探测技术、SOP、已踩的坑)README.md — 项目说明、目录结构、快速开始PCB轴向磁通电机自动化仿真系统设计方案介绍.md — 完整设计方案V1.1(架构、接口、算法选型)axial_mag_pull-master/axial_mag_pull/docs/KNOWLEDGE_BASE.mdtorqrippswap-master/torqrippswap/MOTORCAD_SCAN_KNOWLEDGE_BASE.md| 功能 | 参考文件 | 说明 |
|---|---|---|
| Motor-CAD连接与前台可见 | torqrippswap-master/torqrippswap/solver.py → MotorCADSolver.connect() |
open_new_instance=True + set_visible(True) |
| 参数写入+回读校验 | torqrippswap-master/torqrippswap/solver.py → _write_and_verify() |
写入后get_variable回读,不一致抛异常 |
| 每点基线重载 | torqrippswap-master/torqrippswap/solver.py → run_single_point() |
每点 load_from_file 防止污染 |
| 结果导出与解析 | torqrippswap-master/torqrippswap/solver.py → parse_export() / extract_all_metrics() |
分号分隔CSV,中英文字段别名匹配 |
| 扫描执行+逐点落盘 | torqrippswap-master/torqrippswap/solver.py → run_scan() |
manifest+CSV+log+raw,每点flush |
| Git preflight | torqrippswap-master/torqrippswap/solver.py → git_preflight() |
运行前检查仓库干净 |
| AFM轴向力3D力图读取 | axial_mag_pull-master/axial_mag_pull/axial_force_final.py |
get_magnetic_3d_graph_point,Fr=轴向力 |
| 三判据校验 | axial_mag_pull-master/axial_mag_pull/axial_force_final.py |
作用反作用/转矩交叉/解析量级 |
所有 .py 和 .ps1 文件必须只包含 ASCII 字符。中文说明写在 Markdown 文档中,不能写进脚本注释、字符串、窗口标题。中文字段名用 \uXXXX Unicode 转义。
检查命令:
rg -n "[^\x00-\x7F]" --glob '*.py' --glob '*.ps1' .
实际启动 Motor-CAD 求解前必须满足:
GUI 内置 Git preflight,不满足时拒绝启动扫描。
open_new_instance=True 创建独立实例,不要连接已有实例(可能控制错误窗口)set_visible(True)(/SCRIPTING模式默认隐藏主窗口)load_from_file(基线模型),结束后也重载基线不能只调用 set_variable。必须:
mc.set_variable(variable, value)
applied = float(mc.get_variable(variable))
if not math.isclose(applied, value, rel_tol=1e-8, abs_tol=1e-7):
raise RuntimeError(...)
回读不一致时将该点标记为 FAILED,保存错误并继续下一点。
output/<timestamp>_<scan_name>/ 含 manifest.json + scan_results.csv + program_log.log + raw/.mot 文件不修改output/、runs/、build/、dist/、*.log、*.spec 不入库非登录 shell 可能不继承机器级环境变量:
MOTORCAD_ACTIVEX 为空 → pymotorcad 找不到 Motor-CADANSYSLMD_LICENSE_FILE 为空 → Motor-CAD 启动后 ~30s 静默退出脚本内回退:
import os
if not os.environ.get("MOTORCAD_ACTIVEX"):
from ansys.motorcad.core import set_motorcad_exe
candidate = r"D:\Program Files\ANSYS Inc\v261\motorcad\MotorCAD.exe"
if os.path.exists(candidate):
set_motorcad_exe(candidate)
open_new_instance=False 连接已有实例README.md,记录:
docs/TEST_RECORDS.mdoutput/ 目录中,不入库但在记录中注明路径type(scope): description
output/、runs/、build/、dist/、*.log、*.spec、__pycache__/ 不入库