关于 autocad-image-redraw
autocad-image-redraw 是将参考图像转换为可审计 AutoCAD 图纸的技能。它优先采用明确尺寸和校准证据,再考虑视觉估算,并验证 CAD 输出、记录不确定性与比较结果。
主要功能
- 01图像预检与证据评估
- 02尺寸绘图和视觉描摹配置
- 03基于约束的重绘规格
- 04AutoCAD DWG 生成与检查
- 05图像与 CAD 对比报告
适用场景
- 01将平面图或草图描摹为可编辑 CAD
- 02依据可读尺寸重建图纸
- 03从图像生成仅含几何的输出
- 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.yamlreferences/image-redraw-spec.mdimage-redraw-validation.mdminimal-example.jsonscripts/compare_redraw.pydraw_image_spec.pyimage_to_dxf_open_source.pyinspect_dwg_output.pypdf_vector_to_dxf.pypreflight_image_redraw.pyrender_dxf_preview.pyvalidate_image_redraw_spec.py详细介绍
AutoCAD 图像重绘
将图像重建为可审计的 CAD 图纸。将图像视为证据,而非绝对事实。如果存在可信的源 DWG,请改用 autocad-dwg-redraw。
不可妥协的规则
- 不能仅凭像素相似度声称尺寸准确。
- 按以下顺序确定几何:用户明确要求、可读尺寸、推导约束、经校准的图像测量值,然后是明确标注的视觉估算值。
- 将每个重要数值标记为
known、scaled、inferred或unreadable。 - 存在透视或不同视图比例时,分别校准每个视图或区域。
- 不得悄悄从冲突尺寸中选取一个。记录冲突,并返回
needs_review或blocked。 - 保留原始图像、规格、报告、预览和哈希值,以便复现结果。
选择配置
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 提取方案。