一、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. ES 内存使用和GC指标——主节点每30秒会去检查其他节点的状态,如果任何节点的垃圾回收时间超过30秒(Garbage collection duration),则会导致主节点任务该节点脱离集群。

    摘录自:http://blog.csdn.net/yangwenbo214/article/details/74000458 内存使用和GC指标 在运行Elasticsearch时,内存是您要密切监控 ...

  2. [POJ 1316] 树上的询问

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1316 [算法] 点分治 由于边权较大,笔者在计算时使用了STL-set 注意当询问为 ...

  3. jqueryui slider

    <!doctype html><html lang="en"><head> <meta charset="utf-8" ...

  4. 常见问题处理之Emoji

    所谓Emoji就是一种在Unicode位于\u1F601-\u1F64F区段的字符.这个显然超过了目前常用的UTF-8字符集的编码范围\u0000-\uFFFF.Emoji表情随着IOS的普及和微信的 ...

  5. SQL 导出数据字典

    用于参考: SELECT       表名=case   when   a.colorder=1   then   d.name   else   ''   end,     表说明=case   w ...

  6. eclipse 配置 tomcat 时候的一些注意事项(随机更新)

    1,一些常用的设置,如下图,不特别说明了,看标记应该就知道注意事项了 2,配置文件的问题.eclipse里面如下图的配置文件里如果有所改动,那么在eclipse里启动Tomcat的时候,Tomcat的 ...

  7. (转载) Android Studio你不知道的调试技巧

    Android Studio你不知道的调试技巧 标签: android studio 2015-12-29 16:05 2514人阅读 评论(0) 收藏 举报  分类: android(74)    ...

  8. SQL Server-简单查询语句,疑惑篇

      前言 对于一些原理性文章园中已有大量的文章尤其是关于索引这一块,我也是花费大量时间去学习,对于了解索引原理对于后续理解查询计划和性能调优有很大的帮助,而我们只是一些内容进行概括和总结,这一节我们开 ...

  9. Java基础——过滤器和监听器

    什么是过滤器? Servlet过滤器和Servlet十分相似,但它具有拦截客户端请求的功能,Servlet过滤器可以改变请求中的内容,来满足实际开发中的需要.对于开发人员而言,过滤器实际上就是在Web ...

  10. servlet实现定时刷新功能

    1,继承httpservlet类重写doget个dopost方法 2,发送头消息 response.setHeader("refresh","间隔秒数:url=目标地址& ...