使用方法
- 载入或粘贴 ASCII DXF 文本(或用示例)
- 点击「导出 JSON」
- 查看结构概览(实体类型分布/图层清单),复制或下载 drawing.json
功能说明
- 输出 dxf-parser 的解析结构(entities/tables/blocks 等);解析器不支持的实体类型(如 HATCH)不会出现在结果中
- 输出区上方附结构概览(实体类型分布 + 图层清单);超大输出(约 1MB 以上)概览自动让位,不影响导出
- 适合调试与二次开发
- 浏览器本地完成
常见问题
报「检测到二进制 DXF」或解析出零实体? 本工具仅支持 ASCII DXF:二进制 DXF 与 DWG 不在解析范围,请先在 CAD 软件中另存/导出为 ASCII DXF 格式再载入。解析器不支持的实体类型(如 HATCH)不会进入输出,输出区按原始文本普查给出跳过计数。
ARC 的起止角为什么是小数? DXF 文件内 ARC 角度以度记录,解析器输出时换算为弧度(如 90° 输出 1.5708);部分字段(如 handle)为解析器补齐的默认值。需要度数请乘 180/π 换回。
其实想把图纸导入 GIS? 请用「DXF 转 GeoJSON」:它把线/面转成 GeoJSON 要素、图层名保留为属性,可直接加载进 QGIS/Mapbox/Leaflet。本工具输出解析器原始结构,面向调试与数据接入。
很大的 DXF 会怎样? 解析全程在浏览器内完成:数十 MB、数十万实体的图纸会耗时更长、占用更多内存;结构概览对约 1MB 以上的输出自动让位(导出不受影响)。
和「DXF 转 CSV」有什么区别? 「DXF 转 CSV」把每个实体压成一行扁平表格(类型、图层、坐标),适合电子表格与统计;本工具保留解析器的嵌套结构——header、tables、blocks 和带完整字段的 entities——给代码、调试与数据管道用。给 Excel 选 CSV,给脚本选 JSON。
怎么在 Python 或 jq 里用这个 JSON? 输出就是普通的缩进 JSON:Python 里 json.load(open(“drawing.json”)) 取 entities 数组;jq 可用 jq ‘[.entities[].type] | group_by(.) | map({type: .[0], count: length})’ drawing.json 做实体类型统计。注意 ARC 起止角是弧度(乘 180/π 换度),个别字段(如 handle)是解析器补的默认值,读取时做防御性判断。
文件大小有限制吗? 没有上传限制——文件不上传,真正的上限是设备内存。解析全程在浏览器完成;结构概览对约 1MB 以上的输出自动让位,导出与下载不受影响。
隐私
本工具在浏览器本地处理,输入内容不会上传服务器。