Revit二次开发基于Teigha对脱离AutoCAD进行DWG图纸元素识别并转换为Revit元素的完美封装

Su.AutoCAD2Revit 使用文档

GitHub: https://github.com/ViewSuSu/Su.AutoCAD2Revit
Gitee: https://gitee.com/SususuChang/su.-auto-cad2-revit
NuGet: https://www.nuget.org/packages/Su.AutoCAD2Revit/


📘 概述

Su.AutoCAD2Revit 是一个基于 Teigha 的 Revit 插件扩展库,
用于在 无需安装或无需打开 AutoCAD 的情况下读取 DWG 文件(包含 Revit 链接的 CAD 图纸与本地 DWG)。

⭐ 核心特性

🔄 自动坐标转换

  • 自动将 AutoCAD 坐标系精确转换到 Revit 坐标系
  • 处理 Revit ImportInstance 自身的 Transform
  • 自动应用 Revit 标高(Elevation)

🧩 智能块处理

  • 解析 AutoCAD 块(Block)与嵌套块结构
  • 自动叠加块参照的变换矩阵
  • 保持块内所有元素相对位置、旋转信息

✏ 文本提取能力

  • 提取文字内容
  • 支持文本角度、图层、位置、所属块等属性
  • 坐标均已自动转换为 Revit 世界坐标

📦 NuGet 安装

包管理器控制台

Install-Package Su.AutoCAD2Revit

.NET CLI

dotnet add package Su.AutoCAD2Revit

包引用

<PackageReference Include="Su.AutoCAD2Revit" Version="2013.1.0.0" />

📚 核心类说明

AutoCADReader

用于读取 DWG 文件或 Revit 链接 CAD 图纸。

构造函数
// 从 Revit 链接图纸创建(ImportInstance)
var cadService = new AutoCADReader(importInstance, levelHeightZ);

// 从 DWG 文件创建
var cadService = new AutoCADReader(dwgFilePath, levelHeightZ);

CADTextModel

DWG 文本数据模型,转换后的字段全部以 Revit 坐标输出。

属性说明
Location文本插入点转换后的 Revit 世界坐标
Center文本包围盒中心转换后的 Revit 世界坐标
Text文本内容
Layer图层名称
Angle文本旋转角度
BlockName所属块名称(如存在)

🚀 基础用法示例

1️⃣ 读取 Revit 链接图纸中的文本

// 自动处理坐标转换 & 块坐标变换
using (var cadReader = new AutoCADReader(cadLink, level.Elevation))
{
    List<CADTextModel> texts = cadReader.GetAllTexts();

    foreach (var text in texts)
    {
        Console.WriteLine($"文字: {text.Text}, 位置: {text.Location}");
    }
}

2️⃣ 读取本地 DWG 文件

using (var cadReader = new AutoCADReader(dwgPath, baseElevation))
{
    var texts = cadReader.GetAllTexts();
    // 所有坐标已转换为 Revit 世界坐标
}

📐 坐标转换说明

本库内部会自动执行完整的坐标变换链路,包括:

  • AutoCAD 世界坐标(毫米) → Revit 世界坐标(英尺)
  • Revit ImportInstance 的整体 Transform
  • DWG 内部的 Block 参照矩阵叠加
  • Revit 标高 Elevation 应用
  • 处理嵌套块的递归变换链路

你无需手动计算任何 Transform,本库会输出最终的 Revit 世界坐标。


⚠ 注意事项

  • 必须使用 using 语句或调用 Dispose() 释放资源
  • 当前仅支持 AutoCAD 2013 及以下 DWG
  • 输出的所有坐标均已自动转换为可直接用于 Revit API 的坐标
  • 若用于商业目的,请确保遵循 ODA(Open Design Alliance)的相关授权许可
posted @ 2025-12-01 00:31  SuSuChang  阅读(0)  评论(0)    收藏  举报  来源