xBIM目前最新版本为4.0,发布在GitHub。 xBIM提供了丰富的API到IFC数据标准。它允许开发人员在几行代码中读取,写入和更新IFC文件。 二、xBIM 核心库 两个核心库xBIM Essentials和xBIM Geometry将用于创建复杂的应用程序,xBIM Team页面下的其他存储库包含许多示例应用程序以演示其功能: xBIM xBIM WebUI - 一个Web应用程序,可以打开和呈现由xBIM处理的 3D模型。 xBIM Utilities - 一组用于在IFC文件上执行批量函数的示例控制台应用程序。 xBIM Samples - 一个示例控制台应用程序,演示如何使用xBIM进行简单的IFC创建和其他任务。 请注意:提供除xBIM WebUI之外的所有应用程序都是为了演示如何使用xBIM库,它们不适用于不受控制的生产环境。 架构图 ?
这是在xBIM中构建的,如果不这样,就会出现编译时错误。每个模型都是特定于模式的,因此它是IFC2x3或IFC4或其他特定模式。 ", 4 ApplicationFullName = "xBIM Toolkit", 5 ApplicationIdentifier = "xBIM", 6 ApplicationVersion Team',$,$,$); #6=IFCAPPLICATION(#7,$,'xBIM Toolkit','xBIM'); #8=IFCUNITASSIGNMENT((#9,#10,#11,#12,#13 以下示例只需要这些使用: using System; using System.Linq; using Xbim.Ifc; using Xbim.Ifc4.Interfaces; 如果您对实体的结构感兴趣 Team", ApplicationFullName = "xBIM Toolkit", ApplicationIdentifier = "xBIM", ApplicationVersion
系列目录 【已更新最新开发文章,点击查看详细】 一、新建项目 Visual Studio 新建项目、项目创建完成后 Nuget ,项目添加 Xbim.Essentials,那么如果项目需要几何引擎还需要集成 Xbim.Geometry。 xBIM背后有多年的发展,这两个包都很成熟,非常稳定。 ? 由于选择了Xbim.Essentials 5.0.213版本,其依赖性较多 ? ? 安装该dll后,引用了很多dll ? 这是在xBIM中构建的,如果不这样,就会出现编译时错误。每个模型都是特定于模式的,因此它是IFC2x3或IFC4或其他特定模式。 因为它使用Xbim.Ifc4.Interfaces,此代码将同时适用于IFC2x3和IFC4。
xBIM使用Log4Net来记录异常不适合的处理错误和警告。它在xBIM几何引擎中被大量使用来记录所有几何错误。如果您的文件看起来不太正确,则应始终先检查日志。 supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> 42 </startup> 43 </configuration> 您还可以使用xBIM 基础结构来记录您自己的消息,如下所示: 1 using Xbim.Common.Logging; 2 3 4 var log = LoggerFactory.GetLogger(); 5 6 log.Info
"></script> <script type="text/javascript" src="Content/Viewer/<em>xbim</em>-state.debug.js"></script> <script type="text/javascript" src="Content/Viewer/<em>xbim</em>-shaders.debug.js"></script> <script type= "text/javascript" src="Content/Viewer/<em>xbim</em>-model-geometry.debug.js"></script> <script type="text/ " src="Content/Viewer/<em>xbim</em>-binary-reader.debug.js"></script> <script type="text/javascript" src=" /Viewer/<em>xbim</em>-viewer.debug.js"></script> </head> <body>
一、WeXplorer 简介 WeXplorer 是 XBIM 工具包的可视化部分,它使用预处理的 WexBIM 文件在 Web 上处理 IFC 数据的可视化。 使用 xBIM Essentials 和 xBIM Geometry 创建优化的和可视化压缩的 WexBIM 文件。 COBieLite JSON文件也可以使用xBIM创建。 二、xBIM xBIM是开发基于IFC的应用程序的开源工具包(BuildingSmart Data model)。 xBIM读取和写入IFC,IfcXMl和IfcZip格式。 xBIM项目提供了在英国和美国文化中将IFC模型转换为COBie电子表格的软件包,以及一系列用于Windows窗体,WPF,WEBGL和OpenGL平台的3D查看控件。
xBIM项目提供了一个IFC文件的Web查看器。当你想把IFC转换成紧凑的WexBIM时,需要 xBIM Essentials 和 xBIM Geometry 。 因为XBIM是一个工具包,所以有很多方法可以为高级部署定制/过滤WEXBIM文件,但这比这个简单的转换要复杂得多: using System.IO; using Xbim.Ifc; using Xbim.ModelGeometry.Scene using (var model = IfcStore.Open(fileName)) { var context = new Xbim3DModelContext
; 6 using Xbim.Common.Step21; 7 using Xbim.Ifc; 8 using Xbim.IO; 9 using Xbim.Ifc4.ActorResource ; 10 using Xbim.Ifc4.DateTimeResource; 11 using Xbim.Ifc4.ExternalReferenceResource; 12 using Xbim.Ifc4 Xbim.Ifc4.Kernel; 18 using Xbim.Ifc4.MaterialResource; 19 using Xbim.Ifc4.MeasureResource; 20 using Xbim.Ifc4.ProductExtension; 21 using Xbim.Ifc4.ProfileResource; 22 using Xbim.Ifc4.PropertyResource ; 23 using Xbim.Ifc4.QuantityResource; 24 using Xbim.Ifc4.RepresentationResource; 25 using Xbim.Ifc4
为了简化这个任务,我们实现了一个 xbim.io.delta.TransactionLog 类。在下面的示例中,我们将了解如何使用它。 using System; using Xbim.Common; using Xbim.Ifc; using Xbim.Ifc4.Interfaces; using Xbim.IO.Delta; using Xbim.IO.Step21; var editor = new XbimEditorCredentials { ApplicationDevelopersName = "You", 它包含更多的更改,因为当您更改或创建任何ifcroot实体时,xbim会自动为您处理所有者历史记录。
默认情况下模型具有合理的图形表示。这是从IFC模型中获取的,它应该在所有工具中看起来相同,它应该与您或您的用户的创作环境中的相同。但有时候能够改变这种表示以向用户报告某种结果(分类,错误报告,碰撞检测等)是很重要的。这将在本简短教程中介绍。您可以在这里查看完整的示例演示。
</title> <script src="js/<em>xbim</em>-viewer.debug.bundle.js"></script> </head> <body> <canvas id="viewer 如果应用程序需要部署的话,<em>xbim</em>-viewer.debug.bundle.js 或者 <em>xbim</em>-viewer.js 有两个依赖库 GL-matrix.js 和 WebGL utils.js。 这些是明智的组合: <script src="js/xbim-viewer.debug.bundle.js"></script> 用于调试捆绑版本(如果您选择了IDE,也会在VS中为您添加智能感知支持 )或 <script src="js/<em>xbim</em>-viewer.min.bundle.js"></script> 对于压缩版本(这可能是您的发布选择)或 <script src="js/gl-matrix.min.js.js "></script> <script src="js/webgl-utils.min.js"></script> <script src="js/<em>xbim</em>-viewer.min.js"><
using Xbim.Common; using Xbim.Ifc; using Xbim.Ifc4.Interfaces; namespace BasicExamples { class InsertCopy
在这个例子中你只需要 xBIM Essentials 组件。包含样本数据的所有代码均可在此处获得。 此示例的结果如下所示: ? NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System.Diagnostics; using System.IO; using System.Linq; using Xbim.Ifc ; using Xbim.Ifc4.Interfaces; 主要功能如下: //从模板初始化NPOI工作簿 var workbook = new XSSFWorkbook("template.xlsx" //在这个例子中,数据是使用xBIM修复的。
在上一篇 《xBIM基础 09 WeXplorer 基本应用》 已经提到,查看器不会在所有浏览器的所有设备上运行。为了操作效率和简单,决定使用最新技术 。 </title> <link href="css/layout.css" rel="stylesheet" /> <script src="js/<em>xbim</em>-viewer.debug.bundle.js
要修改模型的内容,您必须使用特定模型 不限于单个模式(联合IFC2x3 + IFC4→将其作为IFC4接口查询) IFC联合可以存储为单个IFC文件(在IfcStore中) using System; using Xbim.Common.Step21 ; using Xbim.Ifc; using Xbim.Ifc4.Interfaces; namespace BasicExamples { public class FederationExample 10303-21; HEADER; FILE_DESCRIPTION ((''), '2;1'); FILE_NAME ('', '2016-10-27T13:14:43', (''), (''), 'Xbim File Processor version 3.2.0.0', 'Xbim version 3.2.0.0', ''); FILE_SCHEMA (('IFC4')); ENDSEC; DATA;
但是xBIM并没有提供专门针对传统 WinForm 技术的的模型查看器。如果确实需要在传统的 WinForm 窗体中也要加载并显示BIM(.ifc格式)模型文件该如何处理呢? 一、新建WinForm项目 新建WinForm项目,.NET Framework 选择4.7版本,因为需要引用最新的 XBIM相关DLL(依赖 .NET Framework 4.7)。 ? 二、添加xBIM相关DLL引用 通过NuGet程序包管理器添加xBIM相关的DLL引用 ? 需要应用下列DLL ? 编写XAML代码如下: 1 <UserControl x:Class="<em>Xbim</em>.WinformsSample.WinformsAccessibleControl" 2 xmlns ; 8 using Xbim.Ifc; 9 using Xbim.Ifc4.Interfaces; 10 using Xbim.ModelGeometry.Scene; 11 12 namespace
AP 204,使用边界表示的机械设计 AP 214,汽车机械设计过程的核心数据 此外AP242版本1包含扩展和重大更新 几何尺寸和公差 运动学 镶嵌 xBIM 使用的是最新的STEP ISO Team',$,$,$); #6=IFCAPPLICATION(#7,$,'xBIM Toolkit','xBIM'); #8=IFCUNITASSIGNMENT((#9,#10,#11,#12,#13 使用xBIM为IFC2x3编写的代码非常容易升级为IFC4兼容。 还要注意,由于XML数据的性质和复杂性甚至简单的IFC模型,XML模型总会使用更多的内存和CPU资源。 但xBIM 也支持XML ,在个别的情况下需要转换为STEP21。 using System; using Xbim.Ifc; using Xbim.Ifc4.Interfaces; namespace BasicExamples { public class
using System; using System.Linq; using Xbim.Ifc; using Xbim.Ifc4.Interfaces; namespace BasicExamples
三、添加js文件与测试模型文件 从xBIM官方提供的地址中下载 XbimWebUI 项目,项目结构如下 ? 将下列目录添加到项目中 ? /Viewer/xbim-viewer.debug.js"></script> <script src="Content/Plugins/NavigationCube/<em>xbim</em>-navigation-cube-shaders.debug.js src="Content/Plugins/NavigationHome/xbim-navigation-home.debug.js"></script> xbim-viewer.debug.js 依赖 xbim-viewer.js中封装了 xViewer 对象用于绘制呈现模型文件。 完整的代码如下: 1 <! xbim-navigation-cube.debug.js"></script> 20 <script src="Content/Plugins/NavigationCube/<em>xbim</em>-navigation-cube-textures.debug.js
都是通过 xbim-viewer.js 中的 API 来设置以达到一定的效果。代码如下: 1 <! "></script> 10 <script type="text/javascript" src="Content/Viewer/<em>xbim</em>-state.debug.js"></script> 11 <script type="text/javascript" src="Content/Viewer/<em>xbim</em>-shaders.debug.js"></script> 12 type="text/javascript" src="Content/Viewer/xbim-model-handle.debug.js"></script> 14 <script type /NavigationCube/xbim-navigation-cube-shaders.debug.js"></script> 19 <script src="Content/Plugins