mcpField
A
autocad-image-redraw

autocad-image-redraw

github.com/pengxiaoan设计与 UI273147 次安装16 周前更新
代码仓库

关于 autocad-image-redraw

autocad-image-redraw 是将参考图像转换为可审计 AutoCAD 图纸的技能。它优先采用明确尺寸和校准证据,再考虑视觉估算,并验证 CAD 输出、记录不确定性与比较结果。

主要功能

  1. 01图像预检与证据评估
  2. 02尺寸绘图和视觉描摹配置
  3. 03基于约束的重绘规格
  4. 04AutoCAD DWG 生成与检查
  5. 05图像与 CAD 对比报告

适用场景

  1. 01将平面图或草图描摹为可编辑 CAD
  2. 02依据可读尺寸重建图纸
  3. 03从图像生成仅含几何的输出
  4. 04记录图像重绘中的不确定性

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pengxiaoan/autocad-dwg-redraw-skill --skill autocad-image-redraw

安装后在 Claude Code 中输入/autocad-image-redraw确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
image-redraw-spec.md
image-redraw-validation.md
minimal-example.json
scripts/
compare_redraw.py
draw_image_spec.py
image_to_dxf_open_source.py
inspect_dwg_output.py
pdf_vector_to_dxf.py
preflight_image_redraw.py
render_dxf_preview.py
validate_image_redraw_spec.py

详细介绍

AutoCAD 图像重绘

将图像重建为可审计的 CAD 图纸。将图像视为证据,而非绝对事实。如果存在可信的源 DWG,请改用 autocad-dwg-redraw。

不可妥协的规则

  1. 不能仅凭像素相似度声称尺寸准确。
  2. 按以下顺序确定几何:用户明确要求、可读尺寸、推导约束、经校准的图像测量值,然后是明确标注的视觉估算值。
  3. 将每个重要数值标记为 known、scaled、inferred 或 unreadable。
  4. 存在透视或不同视图比例时,分别校准每个视图或区域。
  5. 不得悄悄从冲突尺寸中选取一个。记录冲突,并返回 needs_review 或 blocked。
  6. 保留原始图像、规格、报告、预览和哈希值,以便复现结果。

选择配置

  • strict-dimensioned:工程交付物;要求单位清晰可读,且有足够的已知或经校准的锚点来约束几何。
  • general:适用于平面图、草图、截图和质量参差不齐的参考图的均衡默认配置。
  • hybrid:有尺寸处使用尺寸,其他区域使用经校准的比例;标注推断出的几何。
  • visual-trace:复现可见线条,不声明实际尺寸比例。
  • geometry-only:保留对象几何和实用的构造图层;省略尺寸、引线、注释和表格文字。

如果源图没有单位或比例锚点,请选择 visual-trace 或使用 unitless。不要仅仅因为图纸看起来很专业,就默认使用毫米。

运行环境要求

使用 Windows 和 AutoCAD,并通过 pywin32 生成/检查 DWG。预检和比较需要 Pillow、NumPy 和 OpenCV;DXF 预览需要 ezdxf 和 PyMuPDF:

python -m pip install pywin32 pillow numpy opencv-python ezdxf pymupdf

端到端工作流

1. 保留并预检源文件

将源文件复制到项目中,计算哈希值,并在解读之前检查其可读性:

python scripts\preflight_image_redraw.py --image input.jpg --mode general --output reports\input-preflight.json

检查旋转、裁剪、分辨率、对比度、模糊、透视、遮挡、可见单位和可用的比例锚点。质量警告不一定会阻止处理;只有在所选配置要求图像无法提供的证据时,才会成为阻塞项。

2. 构建语义化重绘规格

使用 references/image-redraw-spec.md。创建稳定的实体 ID,识别各个视图,记录校准锚点和证据,并对约束进行编码,而非依赖原始像素坐标。

源坐标系和 CAD 坐标系应保持分离:

  • 源坐标:图像像素,原点位于左上角;
  • CAD 坐标:绘图单位,原点应选择为便于审计的位置;
  • 校准:视图专属的仿射变换、单应变换或两者之间基于尺寸的关系。
3. 绘图前验证规格
python scripts\validate_image_redraw_spec.py --spec redraw-spec.json --profile general --report reports\spec-validation.json

解决错误、不可能的几何、重复 ID、缺少必填字段、无效单位和约束失败。在 strict-dimensioned 配置中,缺少单位或校准证据必须阻止绘图。

4. 在 AutoCAD 中绘图
python scripts\draw_image_spec.py --spec redraw-spec.json --output outputs\redraw.dwg

对于中文文本:

python scripts\draw_image_spec.py --spec redraw-spec.json --output outputs\redraw.dwg --text-style CN_TEXT --text-font "C:\Windows\Fonts\simhei.ttf"

对于仅包含几何的输出:

python scripts\draw_image_spec.py --spec redraw-spec.json --output outputs\redraw-geometry.dwg --geometry-only

如果多个 AutoCAD 实例或“开始”页面导致 COM 出现问题,请对可读取的 DWG 使用 --attach-document。连接 AutoCAD 前先使用 --dry-run。

如需在没有 AutoCAD 的情况下进行粗略的开源视觉描摹,请使用 image_to_dxf_open_source.py。对于矢量 PDF,请在栅格描摹前使用 pdf_vector_to_dxf.py。这两种方法都不会将不确定的像素转换为权威尺寸。

5. 检查 CAD 输出
python scripts\inspect_dwg_output.py --dwg outputs\redraw.dwg --report reports\dwg-inspection.json

验证文件能否打开、ModelSpace 是否非空、单位是否与规格一致、预期图层和实体类别是否存在,以及仅几何模式下是否不存在禁止的注释类别。通过 AutoCAD 导出可审计的 DXF,然后对其进行审计和渲染:

python scripts\render_dxf_preview.py --dxf outputs\redraw.dxf --png reports\cad-preview.png --pdf reports\cad-preview.pdf
6. 与源图进行比较

创建一个 anchors JSON,其中包含对应的源图和 CAD 预览点,然后运行:

python scripts\compare_redraw.py --source input.jpg --cad-preview reports\cad-preview.png --anchors anchors.json --output-dir reports\comparison

检查并排图像、配准叠加图、差异视图、边缘覆盖情况和边缘距离统计。利用比较结果查找遗漏的墙体、偏移的孔、不正确的弧线、文字碰撞和视图布局错误。不要用它来验证实际尺寸。

7. 迭代并给出结论

修复影响最大的缺陷,重新生成并再次运行验证。最后给出以下一种状态:

  • pass:所选配置和所有必需检查均已通过;
  • pass_with_warnings:交付物可用,但存在已记录的非关键不确定性;
  • needs_review:需要人工判断,通常是由于证据相互矛盾或需要推断;
  • blocked:缺少必需的源证据;
  • fail:输出已损坏或违反强制检查要求。

交付约定

根据需要交付:

  • 可编辑的 DWG 和审计用 DXF;
  • 重绘规格 JSON 和校准/锚点 JSON;
  • 输入预检、规格验证和 DWG 检查报告;
  • 固定页面的 PNG/PDF 预览;
  • 并排图像、叠加图、差异图和指标 JSON;
  • 清单,其中包含源文件/输出文件哈希值、所选配置、单位、假设、警告和最终状态。

参考资料和脚本

  • references/image-redraw-spec.md:通用规格、证据、视图、校准、约束和实体。
  • references/image-redraw-validation.md:验收策略、检查项、指标、状态和报告约定。
  • scripts/preflight_image_redraw.py:源图质量和证据门槛检查。
  • scripts/validate_image_redraw_spec.py:语义和约束验证。
  • scripts/draw_image_spec.py:将 JSON 转换为 DWG 的 AutoCAD 渲染器。
  • scripts/inspect_dwg_output.py:通过 AutoCAD COM 进行只读 DWG 结构检查。
  • scripts/render_dxf_preview.py:DXF 审计和确定性固定页面预览。
  • scripts/compare_redraw.py:配准视觉比较和边缘指标。
  • scripts/image_to_dxf_open_source.py:粗略的栅格图转 DXF 基线方案。
  • scripts/pdf_vector_to_dxf.py:矢量 PDF 提取方案。

评论

支持 Markdown