一、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. SQL语句之Group By

    1. Group By 语句简介: Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”.它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若 ...

  2. DateTime? 定义的日期变量如何format

    DateTime? dateTime; dateTime.Value.ToString("yy-MM-dd")

  3. VB.net 捕获项目全局异常

    在项目中添加如下代码:新建窗口来显示异常信息. Namespace My '全局错误处理,新的解决方案直接添加本ApplicationEvents.vb 到工程即可 '添加后还需要一个From用来显示 ...

  4. Python学习网络爬虫--转

    原文地址:https://github.com/lining0806/PythonSpiderNotes Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 另外,比较常用的爬虫框架Scra ...

  5. C# 读取硬盘信息 ManagementClass类

    一.在很多情况下,你可能都需要得到微机的硬件信息.需要加上下面的这句话: using System.Management; 获取硬件信息,需先知道硬件参数信息: Win32_Processor, // ...

  6. struts2学习之基础笔记3

    第8章Struts 2类型转换 使用类型转换器 自定义类型转换器 步骤:1. Struts 2 构建流程 2.自定义类型转换器类(继承 DefaultTypeConverter /StrutsType ...

  7. 编码介绍(ANSI、GBK、GB2312、UTF-8、GB18030和 UNICODE)

    转载:http://blog.jobbole.com/30526/(前面内容)和http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf ...

  8. Book 树状数组 小结

    差不多花了10天学树状数组,是照着这篇博客做的题目,还差几道---------- http://blog.csdn.net/chenguolinblog/article/details/9916229 ...

  9. github踩坑之git命令收集与整理(windows)

    最近开始又捡起git,第一家公司用的就是git,一直掌握的也不深刻,就知道常用的几个命令,虽然现在用svn,但是觉得git还是不能丢,遂又捡起来了.先总结一部分目前练习用到的,慢慢填补吧~ githu ...

  10. jsp基本内置标签

    <jsp:foward page="url"> <jsp:param value=" " name=" "/> &l ...