DWG 转 PDF 是做什么的?
概述
使用此技能将 CAD 图纸转换为 PDF 文件,无需将图纸上传到网络服务。优先使用附带的脚本进行转换,因为 DWG 转换在 Windows 上有几个脆弱的细节:ODA 命令行参数顺序、CAD 库依赖关系以及非 ASCII 输出路径。
工作流程
- 确认源文件存在并识别它是
.dwg还是.dxf格式。 - 选择输出路径。如果用户未指定,则将
<源文件名>.pdf保存在源文件旁边。 - 使用绝对路径运行
scripts/convert_dwg_to_pdf.py:
python scripts/convert_dwg_to_pdf.py --input "D:\path\plan.dwg" --output "D:\path\plan.pdf"
- 验证脚本输出结果:
pages必须至少为 1。bytes必须大于 0。preview应指向第一页渲染后的 PNG 预览图。
- 当用户要求“打开”PDF 或者打开操作明显有用时,为用户打开 PDF。
工具
脚本支持:
.dwg:使用 ODA File Converter 转换为 DXF,然后渲染为 PDF。.dxf:直接渲染为 PDF。
如果 ODA File Converter 缺失,在允许的情况下使用 Windows Package Manager 安装:
winget install --id ODA.ODAFileConverter -e --accept-source-agreements --accept-package-agreements --disable-interactivity
脚本需要 Python 包 ezdxf、matplotlib 和 pymupdf。如果这些包缺失且允许安装,则安装它们:
python -m pip install ezdxf matplotlib pymupdf
质量检查
始终检查生成的 PDF 是否正常渲染。非空的 PDF 仍然可能是错误的,例如绘制的图形不可见、页面严重裁剪或文字/字体渲染失败。
使用生成的预览 PNG 进行快速视觉检查。如果预览图空白或严重裁剪:
- 使用更大的纸张尺寸重新运行,例如
--paper a2-landscape; - 如果绘图使用了
ezdxf无法良好渲染的布局或功能,尝试直接使用 ODA 查看器/手动打印; - 告知用户输出可能无法精确保留所有 CAD 特性。
备注
- 不要修改原始 DWG 文件。在转换时,从复制的中间文件夹开始操作。
- 除非用户明确同意上传图纸,否则避免使用网络转换器。
- 当保存到中文或其他非 ASCII 路径时,让脚本先写入一个 ASCII 临时 PDF,然后再复制到请求的输出路径。
- 最终回复中使用绝对文件路径。