三分钟把Revit模型变网页3D:Revit2GLTF免费转换工具实操指南
2026/8/18 15:31:43 网站建设 项目流程

三分钟把Revit模型变网页3D:Revit2GLTF免费转换工具实操指南

【免费下载链接】Revit2GLTFview demo项目地址: https://gitcode.com/gh_mirrors/re/Revit2GLTF

Revit2GLTF 是一款免费开源(MIT 协议)的 Revit 模型转 GLTF/GLB 转换工具,支持 Revit 2020 到 2023。它把体积庞大的 BIM 模型转成浏览器直接能打开的轻量文件,材质、法线、UV、构件属性一并保留,还内置 Draco 多线程压缩,从安装到导出,跑通全流程用不了三分钟。

这是 Revit2GLTF 导出后,模型在浏览器里的真实效果:玻璃幕墙通透、结构层次清晰,全部来自一个普通的 Revit 模型。

那场"打不开模型"的社死现场

先讲个真事。

会议室里,甲方负责人盯着屏幕问了一句:"李工,这文件是用什么软件做的?我电脑上打不开啊。"

空气凝固了三秒。小李精心准备的方案全存在那个几个 G 的 Revit 项目文件里,而客户的电脑上,只有浏览器。

接下来的半小时,他经历了人生最漫长的传文件、装软件、重启电脑流程。最后客户摆摆手:"发个截图给我吧。"

你是不是也遇到过类似的尴尬?方案做得再好,别人打不开,就等于零。

回头看看我们常用的"补救"手段,其实都在给协作上锁:

  • 导 PDF 图纸——静态的,没法转视角
  • 截图发微信——糊成一团,细节全丢
  • 让对方装 Revit——安装包比模型还大,还挑版本
  • 录演示视频——能看,但没法交互

Revit2GLTF 想做的事情特别朴素:把你的 Revit 模型,变成一个任何人用浏览器就能打开、旋转、放大的网页 3D 文件。不装软件,不挑版本,手机也能看。

一句话说清它到底干了什么

这是一个"基于 MIT 开源协议的 Revit 导出 gltf 开源库"。拆开讲就三件事:

  1. 格式转换:把 .rvt 转成通用的 GLTF/GLB——Web3D 领域的"普通话"
  2. 数据保留:材质、UV、法向量、Revit 构件属性都能带走
  3. 体积瘦身:内置 Draco 压缩加相同构件合并,文件能小一大截

整个项目的骨架长这样,扫一眼就明白谁管什么:

Revit2GLTF/ ├── Export.cs # 主导出逻辑(插件入口命令) ├── MainWindow.xaml # 导出设置面板 ├── glTF/ │ ├── glTFData.cs # 数据结构定义 │ ├── glTFDraco.cs # Draco 压缩封装 │ ├── glTFSetting.cs # 导出参数配置 │ └── glTFUtil.cs # 工具函数 ├── DracoNet/ # C++ 多线程 Draco 算法封装 └── Revit2Gltf.addin # Revit 插件清单文件

顺带一提,仓库的threejs/目录里还自带一套 Web 查看器,连"导出之后怎么展示"都帮你预备好了。

装上插件只需三步:装包、放文件、重启

动手环节一:安装。两条路任选。

  • 懒人路线:下载编译好的安装包(Setup.msi),双击,完成。
  • 极客路线:打开Revit2GLTF.sln自己编译。注意项目依赖RevitAPIRevitAPIUINewtonsoft.Json,需要提前装好对应版本的 Revit 开发环境。

装完确认Revit2Gltf.addin被 Revit 正确加载,然后重启 Revit,工具就在工具栏里等你了。

导出前,把这三个开关拨对位置

动手环节二:配置参数。

点开导出面板会发现,其实就三样东西,比想象中简单得多:

面板项目作用怎么选
glTF path导出文件的保存路径填个记得住的位置,或点 open 选择
use draco是否启用 Draco 压缩默认勾选。要分享就开着,体积差很多
Export Revit Property set是否携带构件属性勾上后,构件参数能在网页里查看

对应到源码,就是glTFSetting.cs里的三个字段:

useDraco = true; // 开启 Draco 压缩,文件更小 fileName = "myModel"; // 输出文件名 exportProperty = true; // 带上 Revit 属性,网页端可查

新手第一次用,全勾上就行,不用纠结。

点下 start,等一个带秒数的惊喜

动手环节三:一键导出。

开始前有个小前提——先切换到 3D 视图。源码里明确做了判断,如果你待在平面视图里点导出,会收到提示"当前视图不支持导出,请切换至3D视图"。

低多边形住宅模型导出后的网页效果:建筑、车道、绿化配景一目了然,交互流畅。

切好视图、点下 start,接下来的画面很有仪式感:导出完成后弹出一个对话框,告诉你总共花了多少秒,还附上直接打开模型查看的链接。整个导出核心代码其实只有几行:

// 用 Revit 的 CustomExporter 走一遍几何导出 var context = new glTFExportContext(doc, setting); var exporter = new CustomExporter(doc, context) { ShouldStopOnError = true // 出错立刻停下,方便排查 }; exporter.Export(new List<ElementId>() { doc.ActiveView.Id });

一条命令,模型就从 Revit 里"走出来"了。

把导出的 glb 扔进网页,客户自己就能看

动手环节四:分享。

导出得到.glb(或.gltf加外部资源)之后,把它放到任意一个可访问的 Web 目录,配合仓库threejs/下现成的查看器就能打开。加载一个 glb 模型,代码量小得感人:

const loader = new GLTFLoader(); loader.load('myModel.glb', function (gltf) { scene.add(gltf.scene); // 模型进场景,完事 });

到这里,你的客户只需点开一个链接,就能在浏览器里旋转、缩放、查看模型和属性。没有安装、没有版本冲突、没有"打不开"。

材质不掉、光照到位:让模型在网页里"活"起来

很多人担心"转格式等于掉材质",Revit2GLTF 恰恰把材质保留当作核心能力之一:Revit 里的材质会转换成标准的 PBR 材质,漫反射、粗糙度、法线这些通道都有对应关系。仓库里还附带了好几套开箱即用的 PBR 材质资源:

项目内置的砖墙漫反射贴图,导出后的模型纹理依旧细腻真实。

再配上 HDRI 环境贴图打光,模型在网页里能呈现出相当接近真实渲染的质感:

仓库内置的 HDRI 环境贴图之一,给模型提供柔和、真实的光照环境。

一张清单看清它的六个看家本领

把能力亮点汇总成一张表,扫一眼就懂:

能力说明你得到的好处
带材质导出 GLTF材质转为 PBR,纹理不丢网页里模型照样精致
导出法向量与 UV几何信息完整保留光照、贴图表现准确
Draco 多线程压缩C++ 层面并行压缩文件体积大幅缩小,导出不磨蹭
相同构件合并重复构件自动合并同类型的柱、窗、门只存一份
导出 gltf / glb两种格式都支持内嵌纹理选 glb,外部引用选 gltf
导出 Revit 属性构件参数随模型带走网页端也能查属性

压缩这块靠的是DracoNet里 C++ 编写的多线程编码器,把 CPU 多核都用上,这也是"快"的底气所在。

三种人正在用它:设计师、施工员、汇报人

场景一,设计师的评审会。以前要扛一摞图纸加 PPT,现在一个链接搞定,评审现场直接旋转模型讲方案,效率翻倍。

场景二,施工现场。施工人员对着平面图经常一头雾水,把阶段性模型导成 glb 发到手机上,现场边翻边看,理解成本直线下降。

场景三,客户汇报。客户不装任何软件,手机点开链接自己逛模型,决策速度肉眼可见地变快。

即便是大型建筑,在网页里俯瞰全局也毫无压力。

顺带一提,这套转换能力不只服务建筑:仓库示例里甚至能看到透明化展示内部结构的电钻、VR 眼镜这类模型,说明它对各类几何体的导出都游刃有余。

新手爱问的五个问题,一次答完

Q:支持哪些 Revit 版本? A:官方说明明确写了支持 Revit 2020 ~ 2023。

Q:导出后材质显示不对怎么办? A:先检查 Revit 里的材质是否规范,尽量走标准材质库;再确认是否勾选了 use draco,个别极端情况与压缩参数有关。

Q:模型在网页里加载慢? A:优先开启 Draco 压缩、让相同构件合并生效;纹理偏大的话,适当降低贴图分辨率。

Q:怎么只导出一个视图? A:导出针对当前活动的 3D 视图进行,切到你想导出的视图再执行即可。

Q:这工具要钱吗? A:完全免费,MIT 协议,源码随便看、随便改。

项目还在长大:下一站是什么

从仓库布局能看出,作者在做的不是一台"转换器"那么简单:threejs/里躺着 Web 查看器、GLB/IFC/3DM/FBX/DXF 各种格式的示例、HDRI 与 PBR 材质库,像是一整套"Revit 模型上 Web"的生态雏形。

作者也留了话:欢迎进交流群一起"卷"。如果你对 BIM 开发、CAD 开发、Three.js、WebAssembly 感兴趣,这里确实是个不错的观察窗口。

现在就去下载,把第一个模型导出试试

动起来,别让方案死在"打不开"上:

  1. 打开终端,克隆项目:git clone https://gitcode.com/gh_mirrors/re/Revit2GLTF
  2. Revit2GLTF/目录,翻源码、跑示例
  3. 拿一个简单的 Revit 模型,走一遍"切 3D 视图 → 点 start → 打开链接"的完整流程
  4. 把导出的 glb 丢进threejs/查看器,感受一下 Web3D 的丝滑

工具的价值,取决于你愿不愿意迈出第一步。花掉今天这三分钟,明天你的客户就能在浏览器里,亲手旋转你设计的模型了。

【免费下载链接】Revit2GLTFview demo项目地址: https://gitcode.com/gh_mirrors/re/Revit2GLTF

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询