xBIM 基础01 简介
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提供了丰富的API到IFC数据标准。它允许开发人员在几行代码中读取,写入和更新IFC文件。xBIM是一个.NET工具包,因此开发人员可以构建从简单的命令行应用程序到Windows应用程序和Web服务扩展的所有内容。这方面的一个例子是:商业BIM工具(如Autodesk Revit)的“插件”。
xBIM具有完整的几何引擎,可将IFC几何数据对象(例如IfcSweptAreaSolid)转换为功能完备的边界表示(Brep)几何模型。这些模型支持所有布尔运算,剪切,交集,并集,切片以及计算行为,如体积,面积,长度。几何引擎还提供优化的3D三角剖分和网格划分,以实现可视化以及整个模型优化,例如重复识别和转换为地图。
3.0版还包括一个基于WebGL的新浏览器,我们从实现以前版本的WebGL和OpenGL中吸取了许多教训而且这个更快,更准确并且经过调整以克服在互联网上传输大型模型的问题。感谢MartinČerný在这里所做的巨大努力。
两个核心库xBIM Essentials和xBIM 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 简介的更多相关文章
- Androd核心基础01
Androd核心基础01包含的主要内容如下 Android版本简介 Android体系结构 JVM和DVM的区别 常见adb命令操作 Android工程目录结构 点击事件的四种形式 电话拨号器Demo ...
- XML 参考:XML基础 XML 简介
XML 参考:XML基础 -- XML简介和用途 转:http://www.cnblogs.com/Dlonghow/archive/2009/01/22/1379799.html XML 参考:XM ...
- Linux 时间同步 01 简介
Linux 时间同步 01 简介 目录 Linux 时间同步 01 简介 时间同步 公共NTP服务器地址及IP 系统时间相关文件 时间同步 大数据产生与处理系统是各种计算设备集群的,计算设备将统一.同 ...
- 【Machine Learning】机器学习及其基础概念简介
机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
- Node.js 教程 01 - 简介、安装及配置
系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...
- javascript基础01
javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...
- java基础学习05(面向对象基础01)
面向对象基础01 1.理解面向对象的概念 2.掌握类与对象的概念3.掌握类的封装性4.掌握类构造方法的使用 实现的目标 1.类与对象的关系.定义.使用 2.对象的创建格式,可以创建多个对象3.对象的内 ...
- Linux基础01 学会使用命令帮助
Linux基础01 学会使用命令帮助 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档:linux系统内置的帮助文档很详细,通常能解决我们的问题, ...
- 可满足性模块理论(SMT)基础 - 01 - 自动机和斯皮尔伯格算术
可满足性模块理论(SMT)基础 - 01 - 自动机和斯皮尔伯格算术 前言 如果,我们只给出一个数学问题的(比如一道数独题)约束条件,是否有程序可以自动求出一个解? 可满足性模理论(SMT - Sat ...
随机推荐
- SQL语句之Group By
1. Group By 语句简介: Group By语句从英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”.它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若 ...
- DateTime? 定义的日期变量如何format
DateTime? dateTime; dateTime.Value.ToString("yy-MM-dd")
- VB.net 捕获项目全局异常
在项目中添加如下代码:新建窗口来显示异常信息. Namespace My '全局错误处理,新的解决方案直接添加本ApplicationEvents.vb 到工程即可 '添加后还需要一个From用来显示 ...
- Python学习网络爬虫--转
原文地址:https://github.com/lining0806/PythonSpiderNotes Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 另外,比较常用的爬虫框架Scra ...
- C# 读取硬盘信息 ManagementClass类
一.在很多情况下,你可能都需要得到微机的硬件信息.需要加上下面的这句话: using System.Management; 获取硬件信息,需先知道硬件参数信息: Win32_Processor, // ...
- struts2学习之基础笔记3
第8章Struts 2类型转换 使用类型转换器 自定义类型转换器 步骤:1. Struts 2 构建流程 2.自定义类型转换器类(继承 DefaultTypeConverter /StrutsType ...
- 编码介绍(ANSI、GBK、GB2312、UTF-8、GB18030和 UNICODE)
转载:http://blog.jobbole.com/30526/(前面内容)和http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf ...
- Book 树状数组 小结
差不多花了10天学树状数组,是照着这篇博客做的题目,还差几道---------- http://blog.csdn.net/chenguolinblog/article/details/9916229 ...
- github踩坑之git命令收集与整理(windows)
最近开始又捡起git,第一家公司用的就是git,一直掌握的也不深刻,就知道常用的几个命令,虽然现在用svn,但是觉得git还是不能丢,遂又捡起来了.先总结一部分目前练习用到的,慢慢填补吧~ githu ...
- jsp基本内置标签
<jsp:foward page="url"> <jsp:param value=" " name=" "/> &l ...