基于 IFC.js 构建的专业 BIM(建筑信息模型)查看器,支持以下功能:
- ✅ 加载和查看 IFC 格式的 BIM 模型
- ✅ 3D 交互式浏览(旋转、平移、缩放)
- ✅ 自动居中和适配模型大小
- ✅ 显示模型基本信息(文件名、大小、尺寸等)
- ✅ 流畅的渲染性能
- ✅ 响应式设计
在项目首页点击 "BIM 查看器" 卡片,或直接访问:
http://localhost:3000/bim
- 点击右上角的 "导入 IFC" 按钮
- 选择本地的
.ifc格式文件 - 等待模型加载完成
加载完成后,你可以:
- 左键拖动:旋转视角
- 右键拖动:平移视图
- 滚轮:缩放模型
- IFC (Industry Foundation Classes) - 行业标准 BIM 数据格式
- 返回按钮(左上角):返回首页
- 文件名显示:当前加载的模型名称
- 导入 IFC:上传并加载新的 IFC 文件
右侧信息面板显示:
- 文件名
- 文件大小(MB)
- 包围盒尺寸(X, Y, Z 三个维度)
- 操作提示
- Three.js - 3D 渲染引擎
- IFC.js (web-ifc-three) - IFC 文件解析和加载
- React - UI 框架
- Next.js - React 框架
- Tailwind CSS - 样式框架
project/
├── src/
│ ├── components/
│ │ └── BIMViewer.tsx # BIM 查看器组件
│ └── app/
│ ├── page.tsx # 首页(导航页)
│ ├── editor/page.tsx # 3D 编辑器页面
│ └── bim/page.tsx # BIM 查看器页面
└── public/
└── wasm/ # IFC.js WASM 文件
├── web-ifc.wasm
├── web-ifc-node.wasm
└── web-ifc-mt.wasm
- 文件大小:建议 IFC 文件不超过 100MB,以确保流畅加载
- 模型简化:对于大型模型,可以考虑在导出时进行简化
- 浏览器性能:建议使用 Chrome、Edge 或 Firefox 等现代浏览器
Q: 模型加载很慢怎么办? A:
- 检查文件大小,过大的文件需要更长时间
- 确保网络连接稳定
- 尝试关闭其他占用资源的程序
Q: 模型显示不完整? A:
- 检查 IFC 文件是否完整
- 尝试在其他 BIM 软件中打开验证
- 查看控制台是否有错误信息
Q: 如何获取模型的更多信息? A:
- 当前版本显示基本几何信息
- 可以扩展代码以显示 IFC 属性集、材料信息等
- 支持构件选择和属性查看
- 剖面分析功能
- 测量工具
- 批注和标记
- 多模型对比
- 导出截图和动画
如需扩展 BIM 查看器功能,可以修改 src/components/BIMViewer.tsx 文件。
使用 Tailwind CSS 类名进行样式调整,所有样式都在组件内联定义。
欢迎提交 Issue 和 Pull Request 来改进这个 BIM 查看器!
本项目遵循 MIT 许可证。