• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

xBIM 综合使用案例与 ASP.NET MVC 集成(一)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

XbimWebUI是一个Javascript库,可用于BIM模型的Web表示。它使用WebGL并且独立于任何第三方WebGL框架。查看器的数据格式为WexBIM。不能直接加载IFC文件。

一、将IFC文件转换成 WexBIM

        const string fileName = @"LakesideRestaurant.ifc";
        private void button1_Click(object sender, EventArgs e)
        {
            var wexBimFilename = Path.ChangeExtension(fileName, "wexBIM");
            IfcStore.ModelProviderFactory.UseHeuristicModelProvider(); 
            using (var model = IfcStore.Open(fileName))
            {
                // 文件加载完成之后,进行转换
                var context = new Xbim3DModelContext(model);
                context.CreateContext();    // 创建几何图形

                //wexbim 只能在WebUI项目中使用
                using (var wexBimFile = File.Create(wexBimFilename))
                {
                    using (var wexBimBinaryWriter = new BinaryWriter(wexBimFile))
                    {
                        model.SaveAsWexBim(wexBimBinaryWriter);
                        wexBimBinaryWriter.Close();
                    }
                    wexBimFile.Close();
                }

            }
        }

 二、生成可需要的Json数据文件

 XbimWebUi采用的属性文件是JSON,这个在项目中因人而异,如果三维模型文件较少,可以采用JSON形式,但是如果属性文件比较大,建议采用Ajax+Api服务形式。

  private void button2_Click(object sender, EventArgs e)
        {
            IfcStore.ModelProviderFactory.UseHeuristicModelProvider();
            using (var model = IfcStore.Open(fileName))
            {

                var facilities = new List<Facility>();
                var exchanger = new IfcToCOBieLiteUkExchanger(model, facilities);
                facilities = exchanger.Convert();

                //CObie仅用于在文件中保存单个建筑信息,理论上只有一个Facility 
                for (var i = 0; i < facilities.Count; i++)
                {
                    var facility = facilities[i];
                    var file = $"facility_{i}.json";
                    facility.WriteJson(file);
                }
            }
        } 

 或者采用  xxx.bat

for %%f in (*.ifc) do (
XbimConvert.exe %%f

del "%%~nf.xbim"
del "%%~nf.ifc.log"
)

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
异步控制器, 从ASP.NET MVC 2到4发布时间:2022-07-10
下一篇:
Asp.netmvc+Ajax+Extjs+NHibernate系列之Ajax发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap