关于 autocad-dwg-redraw
autocad-dwg-redraw 是用于从源 DWG、PDF 或带尺寸的图像重绘并验证 AutoCAD 图纸的技能。它强调优先保留现有图元,并在依据其他证据构建几何时记录不确定性。
主要功能
- 01DWG 分析与专用重绘提示词
- 02通过 AutoCAD COM 复制图元
- 03从 PDF 证据生成中间 DWG
- 04图像与尺寸参数规格
- 05DWG 结构和视觉验证
适用场景
- 01根据现有 DWG 复现图纸
- 02依据 PDF 证据创建可追溯 DWG
- 03根据图像和尺寸构建参数化图纸
- 04检查图元数量与图纸布局
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ pengxiaoan/ autocad-dwg-redraw-skill --skill autocad-dwg-redraw安装后在 Claude Code 中输入/autocad-dwg-redraw确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/prompt-template.mdscripts/dwg_prompt_builder.pydwg_redraw.py详细介绍
AutoCAD DWG 重绘
使用以下三种输入模式之一,然后验证生成的 DWG:
- **源 DWG 模式:**分析 DWG,生成标准化的、针对特定图纸的提示词,并精确复现图纸。
- **由 PDF 生成的 DWG 模式:**将 PDF 转换为可审计的中间 DWG,然后使用源 DWG 工作流重建并验证该中间图纸。
- **图像 + 指标模式:**将参考图像和权威尺寸规范化为参数规格,生成 AutoLISP 或 COM 几何图形,并根据指标和可见布局验证结果。
核心规则
如果有源 DWG,不要仅凭截图或视觉风格推断复杂 DWG。应先提取或复制实际源实体,然后与原图进行验证。
对于最终交付,优先通过 AutoCAD COM 精确复制 DWG 实体。仅当用户明确需要可审计的源代码,且已有精确提取的实体数据时,才应使用生成的 AutoLISP/Python 进行重建。
对于图像 + 指标输入,应将提供的尺寸、单位、数量和布局约束视为权威依据。仅使用图像像素识别拓扑、顺序、视觉关系和未指定的细节。若图像与提供的指标冲突,应遵循指标并报告差异。
对于 PDF 输入,除非提供了原始 DWG,否则不要声称与源 DWG 完全一致。首先确认 PDF 包含的内容:可提取的矢量路径、嵌入的栅格图像、可提取的文本,或以上内容的组合。将这些证据转换为中间 DWG,记录转换限制,然后使用常规 DWG 重绘工作流验证中间 DWG。
源 DWG 工作流
用户提供 DWG 时,请遵循以下可重复的流程:
- 分析源 DWG
python path\to\scripts\dwg_prompt_builder.py --source input.dwg --output input-redraw-prompt.md --restart-autocad --acad-exe "C:\Path\To\acad.exe" - 检查生成的自定义提示词 确认图纸名称、实体数量、图层表、块清单、文字样式、标注样式、注释数量和风险说明。
- 创建精确的重绘图
python path\to\scripts\dwg_redraw.py --source input.dwg --output outputs\redraw_exact.dwg --restart-autocad --acad-exe "C:\Path\To\acad.exe" - 验证 比较源图与目标图的 ModelSpace/PaperSpace 实体数量、对象类型分布、标注/引线数量、文字/MTEXT 数量、块参照、图层和视觉布局。
基于 PDF 的 DWG 流程
当用户提供 PDF,且没有可用的源 DWG 时,使用此模式。目标是依据 PDF 证据可复现地重绘 CAD,然后使用生成的中间 DWG 按常规流程验证 DWG。
- 检查 PDF 内容
- 记录页数、页面尺寸、已知单位、创建者/生成程序元数据、可提取文本数量、嵌入图像数量,以及是否存在矢量绘图路径。
- 如果有矢量 PDF 路径,优先使用它们,而不是对栅格图像进行描摹。
- 如果 PDF 主要由栅格图像构成,请以高 DPI 渲染页面,并将结果视为视觉证据,而非精确的 CAD 源数据。
- 创建中间 CAD 文件
- 对于矢量 PDF,根据 PDF 页面尺寸或明确的图纸尺寸校准单位,并将路径转换为 DXF/DWG。
- 对于栅格或混合 PDF,在可用时使用高 DPI 栅格化、线稿矢量化和文本提取。仅当文本可提取或已通过 OCR 确认时,才将其写为真正的
TEXT/MTEXT;否则将其保留为描摹几何图形,或标记为不确定内容。 - 使用
LINEWORK、TEXT、BORDER、DIM、CENTER和CONSTRUCTION等通用图层,除非 PDF 或用户提供了图层约定。 - 保存中间 DWG 时,不要覆盖 PDF 或任何原始 DWG。
- 分析中间 DWG
python path\to\scripts\dwg_prompt_builder.py --source intermediate.dwg --output intermediate-redraw-prompt.md - 使用源 DWG 流程重建并验证
验证结果应与中间 DWG 的实体数量和对象分布一致。还应将中间 DWG 和最终 DWG 与原始 PDF 进行目视比较。python path\to\scripts\dwg_redraw.py --source intermediate.dwg --output outputs\redraw_from_pdf.dwg - 说明转换限制 说明几何图形来自矢量 PDF 路径、栅格描摹、OCR/文本提取,还是推断。指出无法辨认的文本、不可编辑的描摹文本、近似曲线、缺失尺寸以及任何比例假设。
图像 + 指标流程
当用户提供一张或多张 PNG/JPG/JPEG 参考图,以及文字尺寸或参数表时,使用此模式。
- 规范化输入规格 记录图像路径、单位、总体尺寸、重复模块尺寸、厚度、偏移量、特征数量、内部布局、所需视图、图层、标注、3D 要求、输出路径和公差。将所有缺失值明确标记为未知,不要默默猜测。
- 确定几何依据 优先采用文字指标,其次采用推导出的算术结果,最后参考图像比例。绘图前确认计算所得的净空和重复模块总尺寸。
- 规划 AutoCAD 构建 优先使用 AutoLISP 进行可审计的参数驱动构建。仅将 Python 用于生成参数文件或编排 AutoCAD COM。以确定性的方式创建所有请求的图层、文字/标注样式、组、视图和保存目标。
- 确定性绘图 按可审计的阶段构建设置、主要轮廓、内部几何、标注和 3D 实体。确保构建过程可重复,使相同参数生成相同的 DWG。
- 验证并交付 检查正尺寸、算术总和、对象边界、意外重叠、所需图层、实体/实体计数、命名组、请求的视图以及最终 DWG 的保存状态。将完成的图纸与参考图进行目视比较,但不要因此覆盖权威指标。
安装了 autocad-image-redraw 时,使用其图像拓扑和可见标注的视觉分析惯例,同时保留此技能的参数权威性、AutoLISP/COM 构建方式和 DWG 验证约定。
最低参数规格
- 参考图像路径。
- 单位制,以及适用时的总体宽度、高度和深度。
- 组件尺寸、厚度、偏移量、数量和重复间距规则。
- 所需的 2D 视图、3D 实体、图层、尺寸、文本、块和命名组。
- 输出 DWG 路径。
- 对指标未指定细节所作的明确假设和公差。
重绘提示词标准
每个生成的自定义提示词都必须包含:
- 文件身份信息:源文件名、已知的 DWG 版本、实体数量,以及 ModelSpace/PaperSpace 数量。
- 图纸分类:零件图、装配图、布局/标题栏图,或未知。
- 必需工作流:最终交付必须使用精确的 AutoCAD COM 复制;只有在提供精确提取的实体数据时才生成代码。
- 环境假设:Windows、AutoCAD、Python、COM 和
pywin32。 - 图层表:图层名称、颜色、线型和线宽(如有)。
- 样式表:文字样式和标注样式(如有)。
- 注释清单:标注实体、引线、文字、MTEXT、公差、基准/表面粗糙度符号,以及所有注释块。
- 块清单:块名称,尤其是标题栏、BOM 表格、基准符号、表面粗糙度符号和自定义注释块。
- 实体分布:按 AutoCAD 对象类型和空间统计的数量。
- 提取要求:请求生成源代码时,提供 DXFOUT/DATAEXTRACTION/LIST 操作说明。
- 验证标准:源文件与目标文件的实体数量对比、标注/引线对比、使用 ZOOM EXTENTS 进行目视检查,以及标题栏/BOM/块验证。
- 已知风险:旧版编码、SHX 字体、关联注释、注释性标注、嵌套块、外部参照、代理对象和布局专属对象。
手动编写自定义提示词时,使用 references/prompt-template.md 作为模板。AutoCAD COM 可用时,优先使用 scripts/dwg_prompt_builder.py。
精度要求
- 除非用户明确要求仅复制 ModelSpace,否则请同时复制 ModelSpace 和 PaperSpace 中的实体。
- 保留标注、引线、文字、MTEXT、填充、块、图层、线型、颜色、线宽、文字样式和标注样式。
- 如果源文件包含标注或引线,缺失标注或引线即视为验证失败。
- 不要覆盖源 DWG。始终写入新的输出路径。
- 如果图纸使用外部参照、代理对象、自定义对象或注释性标注,请报告风险并在 AutoCAD 中进行目视验证。
- 在 PDF 派生 DWG 模式下,明确区分精确矢量转换、栅格/矢量描摹、文字提取/OCR 和推断几何。
- 不要将 PDF 派生的中间 DWG 描述为精确的原始 CAD 源文件。
- 在图像 + 尺寸数据模式下,拒绝为负数或零的构造尺寸、超出边界的组件、无法解释的重叠,以及与提供的整体尺寸不符的算术合计。
- 绝不使用图像比例替代提供的数值尺寸。
- 保留参数块或参数文件,以便使用变更后的尺寸重新生成图纸。
AutoCAD 稳定性说明
- 如果 AutoCAD COM 返回“call was rejected by callee”,或文档集合变得不可读,请稍等后重试。如果问题持续,请关闭多余的 AutoCAD 窗口并重启 AutoCAD。
- 如果 AutoCAD 只打开“开始”页面,或者
Documents.Count、ActiveDocument.Name、Documents.Open或ModelSpace返回<unknown>,请使用--restart-autocad --acad-exe "path\to\acad.exe",让脚本从干净的 AutoCAD 进程启动。 - 某些 AutoCAD 版本调用
Documents.Open()时会返回<COMObject Open>之类的方法代理,而不是文档对象。打开后,请使用ActiveDocument并验证ActiveDocument.ModelSpace.Count。 - 对于旧版 DWG,请等待 AutoCAD 完成加载后再读取 COM 集合。如果窗口标题发生变化但 COM 尚未就绪,请等待后重试或重启。
- 旧版 DWG 可能使用旧版编码和自定义 SHX 字体。请保留源实体,不要通过猜测来重新创建文字。
源数据提取
如果无法接受精确复制实体,而用户确实需要生成源代码,请先提取结构化数据:
DXFOUT:导出文本 DXF,并检查TABLES、BLOCKS和ENTITIES。DATAEXTRACTION:导出实体坐标、半径、长度、图层和块属性。-LAYER ? *:列出图层、颜色、线型和线宽。-STYLE ? *:列出文字样式和字体。-DIMSTYLE ? *:列出标注样式设置。LIST:检查所选实体的几何信息。
根据提取的数据生成 AutoLISP 或 Python 重绘代码时,请使用 references/prompt-template.md 中的简洁提示词模板。
捆绑脚本
使用 scripts/dwg_prompt_builder.py 生成针对特定图纸的提示词:
python scripts\dwg_prompt_builder.py --source input.dwg --output input-redraw-prompt.md
python scripts\dwg_prompt_builder.py --source input.dwg --output input-redraw-prompt.md --restart-autocad --acad-exe "C:\Path\To\acad.exe"
使用 scripts/dwg_redraw.py 执行确定性的 AutoCAD COM 重绘和验证:
python scripts\dwg_redraw.py --source input.dwg --output outputs\redraw_exact.dwg
python scripts\dwg_redraw.py --source input.dwg --output outputs\redraw_exact.dwg --restart-autocad --acad-exe "C:\Path\To\acad.exe"
python scripts\dwg_redraw.py --source input.dwg --output outputs\redraw_modelspace_only.dwg --modelspace-only
这些脚本需要 Windows、AutoCAD、Python 3.10+ 和 pywin32。