高级
模型文件导入导出
用 .tmm 文件保存和恢复完整模型配置
.tmm 是 Dreapex TMM 的本地模型文件格式。它把当前的结构、光学参数、Sweep 配置和优化器设置完整保存到一个 JSON 文件,可以在任意时间、任意未来版本的 Dreapex TMM 中重新加载。
| 用途 | 说明 |
|---|---|
| 项目存档 | 把工程项目的多个候选方案分别存为 .tmm,离线归档 |
| 跨电脑迁移 | 替代手工复制 localStorage;导出后通过云盘 / 邮件转移 |
| 备份当前模型 | 在加载案例库或导入 URL 配置前的安全网 |
| 与同事评审 | 把 .tmm 与计算结果截图一起发给同事,对方可一键还原 |
入口
顶部工具栏右侧两个图标按钮:
| 图标 | 动作 | testid |
|---|---|---|
pi pi-file-import | 导入本地 .tmm 文件 | layout-toolbar-import-model |
pi pi-download | 导出当前模型为 .tmm 文件 | layout-toolbar-export-model |
文件格式
| 项目 | 值 |
|---|---|
| 扩展名 | .tmm |
| 内容 | 带 2 空格缩进的 JSON,可在编辑器里直接查看 |
| 顶层结构 | { version, savedAt, data },与浏览器 localStorage 自动保存格式完全一致 |
data 字段 | 包含 structure / optics / surroundings / sweepList / optimizer 五个模块 |
| 不包含 | Results(可重算)、Settings(用户偏好)、Logs、UI 状态 |
{
"version": 1,
"savedAt": "2026-04-21T00:12:34.567Z",
"data": {
"structure": [ ... ],
"optics": { ... },
"surroundings": { ... },
"sweepList": [ ... ],
"optimizer": {
"objectives": [ ... ],
"variables": [ ... ],
"algorithmSettings": { ... }
}
}
}
导出流程
- 点工具栏的
pi pi-download按钮。 - 浏览器立刻下载文件,默认文件名
tmm-project-{YYYY-MM-DD}.tmm。 - 完成后顶部弹出 toast:
已下载 {fileName}。
导出前不会做额外校验。即使当前模型存在配置问题(如缺失材料),仍可导出,方便事后排错。
导入流程
- 点工具栏的
pi pi-file-import按钮。 - 在文件选择对话框中选
.tmm、.json文件。 - 文件大小超过 10 MB 直接拒绝,并提示「文件过大」。
- 解析 JSON:失败提示「不是合法 JSON」。
- 版本预检:根据
version字段决定是否需要迁移。 - 弹出确认对话框:「将替换当前模型,继续?」。
- 确认后写入 store,并在顶部弹出 toast:
已从文件加载模型。
| 失败情况 | 提示 | 处理建议 |
|---|---|---|
| 不是 JSON | 不是合法 JSON | 用文本编辑器检查首行是否被破坏 |
缺少 version 字段 | 不是一个 TMM 项目文件 | 确认是从 Dreapex TMM 导出的文件 |
| 比当前应用更新 | 文件来自比当前应用更新的版本,请升级 TMM | 升级 Dreapex TMM 或要求对方导出旧版兼容文件 |
| 结构不符或迁移失败 | 文件损坏或与当前 Schema 不兼容 | 用文本编辑器对照 data 各字段查找异常 |
| 部分模块失效 | warning 级 toast,使用默认值替代 | 加载后逐项检查 Optics / Sweep / Optimizer |
版本兼容承诺
今天保存的 .tmm 文件,在未来任意 Schema 版本的 Dreapex TMM 中都能打开。
机制:
- 所有进入 store 的快照(
.tmm/ URL 配置 /localStorage)统一经版本感知迁移管线; - 旧版本 → 当前版本 自动跑迁移链;
- 迁移完成后用当前 Schema 做终态校验。
导出时的版本号写入
version 字段。导入时若版本号高于当前应用支持的最高版本,导入会被拒绝。需要把当前模型转给老版本用户时,先确认对方版本是否兼容。与其他持久化方式的关系
| 持久化方式 | 保存范围 | 触发方式 | 适用场景 |
|---|---|---|---|
.tmm 文件 | 模型快照 | 手动导出 / 导入 | 项目存档、跨电脑迁移、离线评审 |
localStorage 自动保存 | 模型快照 | 编辑后自动 | 浏览器内防丢失,关 / 重启 / 误关页面后保留 |
| URL 配置分享 | 模型快照 + 部分 Settings | 显式生成链接 | 远程协作、对话中粘贴链接复现配置 |
| 案例库 | 内置 9 个固定模型 | 手动选择 | 快速进入工作模型,不持久化 |
需要把当前界面状态精确转给同事时,优先用 .tmm 文件:体积更可控、不依赖 URL 长度,并且对方再加密同步任何附件不会改变文件内容。
URL 配置分享见URL 配置分享。