面向材料试验设备的 Codex Skill:基于单张或多视角实拍照片建立设备事实表,生成结构可信、适度简化的等轴测主体,并通过确定性矢量程序叠加英文标签、加载与测量箭头及局部放大图,输出适用于 SCI 论文的可编辑 SVG 和高分辨率 PNG。
A Codex skill that converts photographs of materials-testing equipment into scientifically faithful, editable SCI schematics with deterministic vector annotations.
- 事实优先:严格区分照片直接证据、试验原理支持的推断和无法确认的信息。
- 结构可信:优先保持部件数量、拓扑连接、试件位置、加载路径和传感器关系。
- 文字可编辑:图像模型只生成无文字设备主体;英文标签、引线、箭头和图例由确定性程序叠加。
- 论文友好:默认输出自包含 SVG、2400 × 1600 白底 PNG 和透明格式 PNG。
- 可复现排版:所有标注均由归一化坐标 JSON 定义,支持折线引线、局部放大和严格交叉检测。
首版面向水工结构材料、沥青、混凝土、力学性能和耐久性试验设备,包括 DSR、BBR、万能或伺服试验机、四点弯曲、SCB、Marshall、车辙、冻融以及常见传感器关系。
本项目不用于制造级 CAD、精确尺寸反演、设备量程识别或隐藏内部结构复原。照片中无法确认的信息不得通过示意图补造。
设备照片
-> 设备事实表与不确定项
-> 无文字等轴测主体
-> 结构对照与科学核验
-> JSON 定义的矢量标注
-> 自包含 SVG + 白底/透明格式 PNG
图像模型负责设备主体;scripts/compose_figure.py 使用 Pillow 生成可复现的矢量标注层和投稿预览图。
git clone https://github.com/jasper6732/materials-equipment-sci-illustrator.git "$env:USERPROFILE\.codex\skills\materials-equipment-sci-illustrator"git clone https://github.com/jasper6732/materials-equipment-sci-illustrator.git "${CODEX_HOME:-$HOME/.codex}/skills/materials-equipment-sci-illustrator"安装后新建或重新打开一个 Codex 任务,使 Skill 被重新发现。用于本地合成标注时,安装 Python 3.11 或 3.12 以及依赖:
python -m pip install -r requirements.txt
在 Codex 中显式调用:
$materials-equipment-sci-illustrator
这是一个 BBR 试验机。请根据照片绘制 SCI 论文示意图,保留外部可见结构,英文标注放在主体两侧。
建议同时提供:
- 一至四张设备照片;
- 已知设备名称或试验目的;
- 必须保留的部件;
- 希望突出显示的加载、位移、流动或测量关系;
- 可选的期刊、版面比例和指定英文标签。
每个案例默认包含:
| 文件 | 用途 |
|---|---|
equipment-fact-sheet.md |
照片事实、合理推断和不确定项 |
base-render.png |
无文字的设备主体 |
figure-spec.json |
可复现的标注、箭头和局部放大定义 |
figure.svg |
权威可编辑、自包含主图 |
figure-white.png |
白底投稿与排版版本 |
figure-transparent.png |
透明格式版本;若主体本身不透明,会保留其不透明背景 |
generation-prompt.txt |
最终图像生成提示词 |
verification.md |
中英文术语与科学核验记录 |
python scripts/compose_figure.py --base <主体图片> --spec <标注JSON> --out-dir <输出目录>
figure-spec.json 使用 [0, 1] 归一化坐标,支持:
- 编号部件标签与直线或折线引线;
- 加载、位移、流体和测量箭头;
- 显式箭头文字位置与对齐方式;
- 直接裁剪已核验主体的局部放大图;
collision_policy: "error"严格矢量线交叉检查。
完整字段见 references/annotation-spec.md。
examples/bending-beam-rheometer:BBR 外观示意图,展示左右分区和顺时针降序编号。examples/four-column-loading-frame:四柱加载设备,展示外部标注和真实裁剪局部放大。
示例不包含用户原始照片、厂商铭牌或实验室背景。
- 不臆造隐藏部件、尺寸、量程、厂商、型号、材料身份或内部机理。
- 无标定依据时不添加尺寸线、比例尺或数值参数。
- 局部放大只能裁剪已核验主体,不得生成新的隐藏细节。
- 单张照片可以运行,但遮挡区域只保留可确认结构;多视角用于提高几何保真度。
- 科学准确性、结构可读性和缩印辨识度优先于装饰效果。
python -m unittest discover -s tests -v
提交贡献前请阅读 CONTRIBUTING.md。公开发布步骤见 PUBLISHING.md,安全和照片隐私规则见 SECURITY.md。
本项目采用 MIT License。

