用途
dwg-to-excel 面向需要从 AutoCAD DWG 文件中提取设计数据的用户。DWG 文件通常以专有格式保存图层结构、块引用与属性、文字标注、几何实体(线、多段线、圆弧等)以及外部参照(xref)等信息,传统上提取这些数据需要 AutoCAD 许可或复杂编程。该工具通过 DwgExporter.exe 命令行程序,将这些数据离线转换为结构化的 Excel 数据库,并可将图纸布局导出为 PDF。
主要能力
- 离线转换:无需 Autodesk 许可,将 DWG 转换为 Excel。
- 数据提取:提取图层、块、属性、文字与几何数据。
- PDF 导出:从 DWG 布局生成 PDF 图纸。
- 批量处理:可转换文件夹中的大量 DWG 文件。
- 版本支持:声称支持 1983 年至 2026 年的 DWG 文件,涵盖 R12(1992)、R14(1997)、2000-2002、2004-2006、2007-2009、2010-2012、2013-2017 及 2018-2026 等格式范围。
- Python 集成:资料提供 DWGExporter、DWGAnalyzer 等 Python 类及辅助函数,用于读取转换后的 Excel、汇总图层与块引用、提取文字内容、统计实体类型、抽取指定块的属性、分析图纸结构、比较两个图纸以及查找重复实体。
使用方式
命令行语法:
DwgExporter.exe <input_dwg> [options]
基础转换示例:
DwgExporter.exe "C:\Projects\FloorPlan.dwg"
导出 PDF 图纸:
DwgExporter.exe "C:\Projects\FloorPlan.dwg" sheets2pdf
批处理示例:
for /R "C:\Projects" %f in (*.dwg) do DwgExporter.exe "%f"
PowerShell 批量转换:
Get-ChildItem "C:\Projects\*.dwg" -Recurse | ForEach-Object {
& "C:\DDC\DwgExporter.exe" $_.FullName
}
Python 快速开始:
exporter = DWGExporter("C:/DDC/DwgExporter.exe")
xlsx = exporter.convert("C:/Projects/Plan.dwg")
df = exporter.read_entities(str(xlsx))
layers = exporter.get_layers(str(xlsx))
blocks = exporter.get_blocks(str(xlsx))
texts = exporter.get_text_content(str(xlsx))
输出为同名 .xlsx 文件,资料说明其 Excel 包含四个工作表:Elements(所有 DWG 实体及属性)、Layers(图层定义)、Blocks(块定义)、Layouts(图纸布局/图框)。Elements 表的列包括 Handle(实体唯一句柄)、EntityType(如 LINE、CIRCLE、INSERT)、Layer(图层名)、Color(颜色索引 0-256)、Linetype(线型名)、Lineweight(线宽,单位 mm)、X/Y/Z(实体坐标)、BlockName(用于 INSERT 实体)、TextContent(用于 TEXT/MTEXT)。
适用场景
资料给出的常见用例包括:
- 图层审计:检查非标准图层,例如与标准图层列表比对。
- 块明细表:提取指定块(如 DOOR)的属性,生成门类型、门尺寸等数据。
- 图纸比较:比较两个 DWG 文件的实体数量差异、新增图层、移除图层与共有图层。
- DDC 流水线集成:DWG → Excel → 分析 → 报告。
- 其他分析:统计实体类型、提取文字标注、按坐标容差查找重复实体、计算图形范围(extents)。
限制
资料中未提供关于收费、价格、平台兼容性、处理速度或准确率的明确保证。资料中的最佳实践建议:检查 DWG 版本(较旧文件数据可能有限)、处理前验证并清理图层结构、必要时绑定外部参照(xref)、大型文件可安排在夜间批处理、并尽可能与 AutoCAD 比对实体数量进行验证。上述仅为资料建议,不代表已验证的效果。