1.使用C++语言基于BIMBase平台进行国产化BIM软件二次开发
在国产BIM平台BIMBase(由广联达推出的国产BIM基础平台)上使用C++进行二次开发,是当前国内BIM软件自主可控、适配信创生态的重要方向。以下是一个系统性的指导,涵盖开发环境搭建、API使用、典型开发流程及注意事项。
一、BIMBase 平台简介
BIMBase 是广联达推出的国产 BIM 基础平台,支持建筑信息模型的创建、编辑、查询、分析等能力,提供开放的 SDK(主要基于 C++),兼容国产操作系统(如统信UOS、麒麟)和 CPU 架构(如鲲鹏、飞腾、龙芯等)。
- 支持 IFC 标准
- 提供几何建模、属性管理、拓扑关系等核心能力
- 提供插件机制与 API 接口(C++为主)
二、开发前准备
1. 获取开发资源
- 注册广联达开发者账号:访问 BIMBase 开发者中心
- 下载 SDK 包:包含头文件(
.h)、库文件(.lib/.so)、示例代码、文档 - 申请 License:开发或测试需合法授权(通常提供试用 License)
2. 开发环境要求
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10/11 或 国产 OS(如统信 UOS、麒麟) |
| 编译器 | Visual Studio 2019/2022(Windows) GCC 7+(Linux) |
| 架构 | x86_64 / ARM64(根据目标平台) |
| 依赖 | BIMBase Runtime(需随程序部署) |
三、C++ 二次开发基本流程
1. 创建插件项目(以 Windows + VS 为例)
// MyBimPlugin.cpp #include "BimBaseSDK.h" // BIMBase 提供的核心头文件 class MyBimPlugin : public IBimPlugin { public: const char* GetName() override { return "My Custom BIM Plugin"; } bool OnLoad(IBimContext* context) override { // 插件加载时调用 m_context = context; printf("Plugin loaded!\n"); return true; } void OnUnload() override { // 插件卸载 printf("Plugin unloaded.\n"); } void ExecuteCommand(const char* cmd) override { if (strcmp(cmd, "CreateWall") == 0) { CreateSimpleWall(); } } private: IBimContext* m_context = nullptr; void CreateSimpleWall() { // 获取模型管理器 auto modelMgr = m_context->GetModelManager(); auto wall = modelMgr->CreateEntity("IfcWall"); // 设置几何(简化示例) auto geom = wall->GetGeometry(); geom->SetBox(5.0, 0.2, 3.0); // 长x宽x高 // 设置属性 wall->SetProperty("Name", "My Wall 01"); wall->SetProperty("Height", 3.0); // 添加到当前模型 modelMgr->AddEntity(wall); printf("Wall created successfully.\n"); } }; // 导出插件入口(必须) extern "C" __declspec(dllexport) IBimPlugin* CreatePlugin() { return new MyBimPlugin(); }2. 配置项目属性(Visual Studio)
- 包含目录:添加
BIMBaseSDK/include - 库目录:添加
BIMBaseSDK/lib - 附加依赖项:
BimBase.lib - 运行库:建议使用
/MD(动态链接 CRT)
3. 编译输出
- 生成
.dll(Windows)或.so(Linux) - 将插件放入 BIMBase 的
plugins目录 - 启动 BIMBase 主程序,自动加载插件
四、核心 API 功能示例
1. 实体创建与管理
IBimEntity* wall = modelMgr->CreateEntity("IfcWallStandardCase");2. 几何操作
auto solid = geomFactory->CreateExtrudedAreaSolid( profile, // 截面(如矩形、多边形) direction, // 拉伸方向 depth // 拉伸深度 ); entity->SetRepresentation(solid);3. 属性与参数化
entity->SetProperty("GlobalId", GenerateGUID()); entity->SetProperty("Material", "Concrete C30");4. 查询与遍历
auto walls = modelMgr->QueryEntities("IfcWall"); for (auto wall : walls) { double height = wall->GetPropertyAsDouble("Height"); }五、国产化适配要点
| 方向 | 说明 |
|---|---|
| 操作系统 | 在统信 UOS / 麒麟上编译需使用对应 GCC 工具链 |
| CPU 架构 | 若目标为 ARM64(如鲲鹏),需交叉编译或原生编译 |
| 图形渲染 | BIMBase 内部已适配国产 GPU(如景嘉微),无需额外处理 |
| 安全合规 | 避免使用非国产加密库,建议使用国密 SM2/SM4(若涉及) |
六、调试与部署
- 日志输出:使用
IBimLogger接口写入统一日志 - 异常处理:所有 API 调用需检查返回值(BIMBase 多数接口返回
bool或状态码) - 部署包结构:
MyApp/ ├── bin/ │ ├── MyApp.exe │ └── plugins/ │ └── MyBimPlugin.dll └── runtime/ └── BIMBase.dll + 依赖库
七、参考资料
- 《BIMBase SDK 开发指南》(官方 PDF)
- BIMBase GitHub 示例仓库(如有)
- 广联达开发者社区:https://bbs.glodon.com/
- 信创适配认证文档(如需过测评)
2.BIMBase的应用场景
BIMBase(由广联达推出的国产BIM基础平台)作为一款自主可控的建筑信息模型(BIM)核心引擎,面向工程建设行业全生命周期提供底层建模、数据管理与协同能力。其应用场景广泛覆盖设计、施工、运维及政府监管等多个环节,尤其在信创(信息技术应用创新)环境和国产化替代背景下具有重要战略价值。
以下是 BIMBase 的主要应用场景分类说明:
一、建筑设计阶段
方案设计与建模
- 支持建筑师快速创建参数化建筑构件(墙、板、柱、梁、门窗等)。
- 提供几何建模引擎,支持复杂曲面与异形结构建模。
- 兼容 IFC 标准,便于与其他 BIM 软件(如 Revit、Archicad)进行数据交换。
专业协同设计
- 结构、机电、给排水等多专业在同一平台或基于 BIMBase 开发的软件中协同建模。
- 支持碰撞检测、净高分析等前置校验功能(需二次开发集成)。
国产 BIM 设计软件底座
- 多家国产 BIM 软件(如广联达数维设计、鲁班、PKPM-BIM 等)可基于 BIMBase 构建,实现“去 Revit 化”。
二、工程施工阶段
施工深化与预制加工
- 基于 BIMBase 开发钢筋、钢结构、幕墙等深化设计插件,生成加工图与物料清单。
- 支持构件级精度建模,满足工厂预制(如 PC 构件)需求。
4D/5D 施工模拟
- 将 BIM 模型与进度计划(如 P6、Project)关联,实现可视化进度管理。
- 集成工程量自动统计,支撑成本动态控制(需结合造价引擎)。
施工现场管理
- 开发移动端或 Web 端应用,通过轻量化 BIM 模型进行质量巡检、安全交底、问题追踪。
三、基础设施与工业领域
市政与交通工程
- 应用于道路、桥梁、隧道、管廊等线性工程建模。
- 支持地形处理、路线设计、横断面生成等基础设施专用功能(需扩展开发)。
电力、水利、石化等工业项目
- 通过定制化实体类型(如变电站设备、管道阀门),支持工业 BIM 应用。
- 满足大型工业项目对高精度、大体量模型的管理需求。
四、城市与政府监管场景
CIM(城市信息模型)平台构建
- BIMBase 可作为单体建筑 BIM 引擎,向上集成到 CIM 平台,支撑“BIM + GIS”融合。
- 支持城市级建筑白模或精模入库,服务于规划审批、城市更新、应急管理。
施工图审查与竣工验收
- 政府审图机构基于 BIMBase 开发自动化审查系统,检查规范合规性(如防火间距、疏散宽度)。
- 竣工模型与施工图一致性比对,提升监管效率。
碳排放与绿色建筑分析
- 提取建筑几何与材料属性,对接能耗模拟、碳排计算工具,支撑“双碳”目标。
五、运维与资产管理(FM)
智慧楼宇与设施管理
- 将竣工 BIM 模型导入运维平台,关联设备台账、维修记录、IoT 传感器数据。
- 实现空间管理、资产定位、故障预警等智能运维功能。
既有建筑数字化改造
- 结合点云或倾斜摄影数据,在 BIMBase 中重建既有建筑模型,用于改造设计或保护修缮。
六、教育与科研
- 高校和研究机构基于 BIMBase 开展 BIM 教学、算法研究(如自动化建模、AI 识图建模)。
- 支持学生开发小型 BIM 应用,培养国产 BIM 生态人才。
七、信创与国产化替代关键场景 ✅
| 场景 | 说明 |
|---|---|
| 党政机关/央企项目 | 满足“信创”要求,替代 Autodesk Revit 等国外软件 |
| 涉密工程项目 | 数据不出境,模型存储与处理完全本地化 |
| 国产操作系统适配 | 支持统信 UOS、麒麟等 OS,适配鲲鹏、飞腾、龙芯等 CPU |
| 自主知识产权保障 | 避免“卡脖子”风险,符合国家软件供应链安全战略 |
总结
BIMBase 不仅是一个建模引擎,更是国产 BIM 生态的“操作系统”。
它的核心价值在于:提供标准化、可扩展、安全可控的 BIM 底层能力,使各类行业应用(设计、施工、监管、运维)能在统一、自主的技术栈上构建,推动中国工程建设行业数字化转型与技术主权建设。