一、xBIM 简介

  BIM(Building Information Modelling)建筑信息模型,xBIM(eXtensible Building Information Modelling)可扩展的建筑信息模型。它是一个.NET 开源软件开发BIM工具包,支持BuildingSmart数据模型(又名工业基础类IFC)

  xBIM允许.NET开发人员以IFC格式读取,创建和查看建筑信息(BIM)模型。完全支持几何,拓扑操作和可视化。此外,xBIM支持IFC和COBie格式(BIM设施资产信息交换标准)之间的双向转换。用于数据操作的核心库都是用C#编写的,几何引擎的核心是用C ++编写的。

  xBIM目前最新版本为4.0,发布在GitHub

  xBIM提供了丰富的APIIFC数据标准。它允许开发人员在几行代码中读取,写入和更新IFC文件。xBIM是一个.NET工具包,因此开发人员可以构建从简单的命令行应用程序到Windows应用程序和Web服务扩展的所有内容。这方面的一个例子是:商业BIM工具(如Autodesk Revit)的“插件”。

  xBIM具有完整的几何引擎,可将IFC几何数据对象(例如IfcSweptAreaSolid)转换为功能完备的边界表示(Brep)几何模型。这些模型支持所有布尔运算,剪切,交集,并集,切片以及计算行为,如体积,面积,长度。几何引擎还提供优化的3D三角剖分和网格划分,以实现可视化以及整个模型优化,例如重复识别和转换为地图。

  3.0版还包括一个基于WebGL的新浏览器,我们从实现以前版本的WebGLOpenGL中吸取了许多教训而且这个更快,更准确并且经过调整以克服在互联网上传输大型模型的问题。感谢MartinČerný在这里所做的巨大努力。

二、xBIM 核心库

  两个核心库xBIM EssentialsxBIM Geometry将用于创建复杂的应用程序,xBIM Team页面下的其他存储库包含许多示例应用程序以演示其功能:

  • xBIM Xplorer - 一个Windows WPF示例应用程序,可以打开和呈现3D IFC模型(和本机xBIM模型)以及显示语义数据。
  • xBIM WebUI - 一个Web应用程序,可以打开和呈现由xBIM处理的 3D模型。
  • xBIM Utilities - 一组用于在IFC文件上执行批量函数的示例控制台应用程序。
  • xBIM Exchange - 包含库和示例应用程序的项目,演示了与COBie一起使用的各种方法。这包括Xbim.Cobie其表示COBIE模型中,电子表格视图执行CobieLite, Xbim.CobieLiteUK其是由CobieLite但启发XML模型更加严格和存储器高效和CobieExpress作为表示COBIE基于EXPRESS模型。XbimExchange包含IFC与COBie的各种实现之间的转换的示例代码。
  • xBIM Samples - 一个示例控制台应用程序,演示如何使用xBIM进行简单的IFC创建和其他任务。

  请注意:提供除xBIM WebUI之外的所有应用程序都是为了演示如何使用xBIM库,它们不适用于不受控制的生产环境。

架构图

三、xBIM Visual Studio配置

如果使用Visual Studio 2015+,请添加以下包源:

https://www.myget.org/F/xbim-develop/api/v3/index.json

https://www.myget.org/F/xbim-master/api/v3/index.json

如果使用Visual Studio 2013+,请添加以下包源:

https://www.myget.org/F/xbim-develop/api/v2

https://www.myget.org/F/xbim-master/api/v2

四、示例源码

  获取项目源代码 xBIM WindowUI  https://github.com/xBimTeam/XbimWindowsUI.git 。获取代码后编译运行

 

xBIM 基础01 简介的更多相关文章

  1. Androd核心基础01

    Androd核心基础01包含的主要内容如下 Android版本简介 Android体系结构 JVM和DVM的区别 常见adb命令操作 Android工程目录结构 点击事件的四种形式 电话拨号器Demo ...

  2. XML 参考:XML基础 XML 简介

    XML 参考:XML基础 -- XML简介和用途 转:http://www.cnblogs.com/Dlonghow/archive/2009/01/22/1379799.html XML 参考:XM ...

  3. Linux 时间同步 01 简介

    Linux 时间同步 01 简介 目录 Linux 时间同步 01 简介 时间同步 公共NTP服务器地址及IP 系统时间相关文件 时间同步 大数据产生与处理系统是各种计算设备集群的,计算设备将统一.同 ...

  4. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  5. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  6. javascript基础01

    javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...

  7. java基础学习05(面向对象基础01)

    面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...

  8. Linux基础01 学会使用命令帮助

    Linux基础01 学会使用命令帮助 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档:linux系统内置的帮助文档很详细,通常能解决我们的问题, ...

  9. 可满足性模块理论(SMT)基础 - 01 - 自动机和斯皮尔伯格算术

    可满足性模块理论(SMT)基础 - 01 - 自动机和斯皮尔伯格算术 前言 如果,我们只给出一个数学问题的(比如一道数独题)约束条件,是否有程序可以自动求出一个解? 可满足性模理论(SMT - Sat ...

随机推荐

  1. Java基础之关键字

    一.Java关键字总览 基本数据类型(9):boolean.char.byte.short.int.long.float.double.null 变量引用(2):super.this 类.方法.变量修 ...

  2. 杂项-软件: VBA(Visual Basic for Applications)

    ylbtech-杂项-软件: VBA(Visual Basic for Applications) VBA (Visual Basic宏语言) Visual Basic for Application ...

  3. ThinkPHP5+Redis单例型购物车

    <?php /** * Redis + 单例型购物车 * param $basket 存储商品信息 * param $ins 存储实例化对象 */ namespace lib; use redi ...

  4. Oracle 数据库勒索病毒 RushQL 处理办法

    处理办法来自Oracle 官方: https://blogs.oracle.com/cnsupport_news/%E5%AF%B9%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A% ...

  5. Oracle Access和filter的区别

    在查看Oracle执行计划的时候经常会遇到Access和filter,脑容量太小,总是分不清两者的区别...稍作整理. Access:表示对应的谓词条件会影响数据的访问路径(是按照索引还是表) Fil ...

  6. 不得了,微软原生提供 AI 人工智能 API,而且面向网页开放

    微软原生人工智能(AI) API 不得了,微软原生提供 AI 人工智能 API,而且面向网页开放

  7. mac pro 安装 composer 失败

    http://getcomposer.org/doc/00-intro.md#using-composer $ brew install josegonzalez/php/composer 出现错误: ...

  8. C++函数的高级特性——小结

    相对于C语言,C++增加了重载(overload).内联(inline).const和virtual四种新机制. 1 重载 只能靠参数列表而不能紧靠返回值类型的不同来区分重载函数.编译器根据参数列表为 ...

  9. Dobble的学习视频地址

    http://www.tebaidu.com/file-f698fb45eb1b5c59571936118968d86c89194311.html

  10. 安装node-sass及报错后解决方案

    使用npm install 命令安装node-sass时,经常出现安装失败的情况.原因在于npm服务器在美国,还有就是某强大的防火墙作用.导致模块无法下载. 1 npm install node-sa ...