产品概述
以前在设计院时这个需求比较烦人,批量处理天正图纸时,不得不用天正软件自带的命令一张张处理,后来开发的插件终于实现了用脚本一张张处理,但是仍然不支持并发。现在总算弄成了一个CAD插件,实现了批量处理。
这个工具,名为DWG天正图纸自动化转换工具服务是一款面向软件开发商和系统集成商的图纸处理中间件。它能够将包含天正自定义对象的 DWG 图纸自动转换为标准 AutoCAD 图元格式,转换后的图纸无需安装天正插件即可正常打开、查看和编辑。
服务以后台进程方式运行,支持无人值守的全自动处理流程和多进程并发转换,通过标准 HTTP API 与业务系统集成,适合作为图纸中台嵌入各类工程软件、BIM 平台、图纸管理系统等应用场景。
需求此工具或源码的话可联系我。
效果测试
发布了个小测试Demo,可以前往测试,请点击【DWG 图纸转换服务欢迎技术交流http://qmodel.e4.luyouxia.net:27185/】
效果抽查对比
原图:
转换后:
转换前
转换后:
效率:测试在允许启动2个进程数的情况下,平均一分钟能处理5张图纸。每台电脑可以启动多个进程,但是注意CPU核数和内存的情况进行配置。
核心特性
无人值守全自动
服务启动后自动监控待转换目录,发现图纸即自动启动 AutoCAD 完成转换,无需人工干预。转换完成后自动关闭 AutoCAD 释放资源。
多进程并发转换
支持同时启动多个 AutoCAD 实例并行处理不同图纸,通过配置文件灵活设置并发数(1-3),充分利用服务器硬件资源,大幅提升批量转换效率。
HTTP API 集成
提供标准 RESTful HTTP 接口,支持提交转换请求和轮询转换状态。任何编程语言(Python/Java/C#/Go 等)均可轻松对接,无需绑定特定技术栈。
异常容错与自恢复
内置崩溃检测和冷却重启机制,AutoCAD 异常退出后自动恢复转换流程。.fx 标记文件机制确保同一图纸不会被重复处理,断点续转无忧。
完整日志体系
服务运行日志、转换结果日志(含耗时统计)、ARX 加载日志三层日志体系,运维监控一目了然,问题定位快速精准。
双模式接入
既支持文件夹拖放式本地小工具使用,也支持 HTTP API 生产级集成。一套服务满足开发测试和生产线部署两种场景。
核心组件
| 组件 | 角色 | 职责 |
|---|---|---|
| DwgSvc.exe | 服务进程 | 定时扫描待转换目录、管理 AutoCAD 进程生命周期、提供 HTTP API、文件分发与回收 |
| DwgTool.arx | AutoCAD 插件 | 在 AutoCAD 内部执行实体遍历、天正对象 worldDraw 输出、wblock 保存等核心转换逻辑 |
| 天正 ARX 插件组 | 依赖组件 | 注册天正自定义类和解释器,使天正对象可被 AutoCAD 正确识别和展开 |
性能指标
1-16: 并发 AutoCAD 进程数
~2s:单文件平均转换耗时
5s:扫描检测周期
说明:转换耗时取决于图纸中天正实体的数量和复杂度。上述指标基于约 12000-17000 个实体的测试图纸。多进程并发时,吞吐量随并发数线性增长(受限于服务器内存和 CPU)。
两种使用模式
模式一:本地文件转换(开发测试 / 小工具)
将 DWG 文件放入指定目录,服务自动检测并转换,结果输出到 Fixed 目录。无需编写代码。
源文件目录: bin\sourceFiles\*.dwg ← 放入待转换图纸 转换结果目录: bin\Fixed\*.dwg ← 获取转换后图纸
模式二:HTTP API 集成(生产环境 / 系统集成)
通过标准 HTTP 接口提交转换请求并轮询结果,适合嵌入业务系统实现自动化流程。
| 接口 | 方法 | 说明 | 返回值 |
|---|---|---|---|
/ | POST | 提交转换请求(multipart/form-data,含源路径和输出路径) | success / failed |
/api/getConvertStatus/{fileId} | GET | 查询转换状态 | success / doing / failed |
调用流程:POST 提交 → 轮询 GET 状态 → 收到 success 后文件已自动拷贝到指定输出路径
运行环境要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10/11 x64 或 Windows Server 2016+ |
| AutoCAD | AutoCAD 2020 x64(需有效许可证) |
| 天正插件 | 天正 TArch T20 V8.x(ARX 版本需匹配 AutoCAD 版本) |
| 内存 | 最低 4GB(单进程),推荐 8GB+(双进程并发),16GB+(三进程) |
| 磁盘 | SSD 推荐,转换过程有大量临时文件读写 |
| Python(可选) | Python 3.8+,需安装 requests 库(仅 HTTP API 测试时需要) |
注意:每个 AutoCAD 实例约占 1-2GB 内存。并发进程数不应超过机器可用内存 / 2GB。
适用场景
| 场景 | 说明 |
|---|---|
| 图纸管理系统 | 批量入库时自动转换天正图纸为标准格式,入库后所有用户均可查看 |
| BIM 协同平台 | 将天正图纸转为标准 DWG 后导入 Revit、Navisworks 等平台 |
| 图纸审查系统 | 自动化审查流水线中,将天正图纸标准化后送入图纸对比和智能审查模块 |
| 设计院出图平台 | 设计完成后自动转换为交付格式,确保甲方和施工单位无需天正即可查看 |
| 图纸归档系统 | 长期归档前将天正自定义对象展开为标准图元,保证可读性 |
| 移动端图纸查看 | 转换为标准格式后配合轻量查看器,实现手机/平板查看天正图纸 |
部署方式
一键部署
所有文件已打包到 bin 目录,包含编译好的 DwgSvc.exe、DwgTool.arx 和全部天正 ARX 插件。部署步骤:
- 将 bin 目录复制到目标服务器
- 安装 AutoCAD 2020 和天正插件(或确认 ARX 文件已在 bin 目录中)
- 修改
config.txt中的 AutoCAD 安装路径和并发进程数 - 以管理员权限运行
restart-tdwgsvc.bat - 将 DWG 文件放入
sourceFiles目录或通过 HTTP API 提交