查看原文
其他

iTwin创建数字孪生系列(四):同步数据到iTwin

Bentley软件 2023-09-14

The following article is from iTwin Author ShunNai Zhao

点击上方“Bentley软件”可以订阅哦

赵  老  师  小  课  堂


赵 顺 耐

Bentley 软件

高级技术经理




赵老师是 Bentley 软件的技术大咖之一,偶尔喜欢写一些技术文章,简明易懂,别有见解。“赵老师小课堂”将不定期分享赵老师写的一些技术内容。


本系列第一章的内容核心就是将数据从本地同步到iTwin数字孪生,上次我们已经介绍了第一部分内容,介绍数据集成与同步的概念和流程。下面我们开始继续接下来的内容。


为了内容的连贯,本章的剩余两部分放一起发布,整个课程已发布的内容如下:


iTwin数字孪生系列:



在本系列课程中,每一节都有视频讲解。您可以通过本系列微信推送查看,也可以到Bentley-learn.com站点查看已经发表过的系列内容。点击文末“阅读原文"也可访问:

https://bentley-learn.com/page/2190837




下面开始本期的内容,您可以直接观看视频,也可以阅读后面的图文说明。

创建iTwin项目


同步数据到iTwin




注册项目


在本节内容里,我们开始使用iTwin Platform平台,为了建立数字孪生,我们首先需要在iTwin Platform上建立一个项目,作为测试,你可以在iTwinjs.org上注册你的项目。




在iTwinjs.org站点,点击“Getting Started”, 点击 My iModels菜单。



iModel是云端格式数据库,我们将设计数据推送到这个数据库中,点击iModel后,站点会要求你登录,你需要先注册以登录iTwin Platform平台。


需要注意,我们现在使用的Bentley提供的公有云数字孪生平台。我们也可以部署在用户的私有云上,我们称之为iTwin Stack。


当注册一个新用户后,可能需要一些验证,一旦完成后,你就可以登录到iTwin Platform平台。由于系统升级,你登录后所看到的界面可能与之不同。但操作上差别不大。


初次登录,在你的账户里没有任何iModel,你需要建立一个iModel数据库。


点击“Create"按钮,启动建立iModel数据库的过程。


输入iModel的名称,我们需要将我们的模型数据推送到iModel中,所以,我们选择iTwin Synchronizer选项。



iTwin Synchronizer是一个转换工具,将本地的dgn文件数据推送到云端的iModel数据库中。


在点击Submit按钮之前,我们先下载iTwin Synchronizer。点击“Download”,在页面中找到下载的按钮。



后续我们就使用它将本地的dgn数据推送到我们建立的iModel数据库中,从而将设计数据推送到云端。设置完毕后,点击Submit,iTwin Platform平台就建立了一个云端的iModel数据库。经过一个创建过程后,iModel数据库建立完毕。



iModel建立完毕后,在右面有一系列图标,你可以利用公有云上的iTwin应用程序对数据进行访问,当然,你也可以建立自己的iTwin应用程序,对数据进行读取。



点击,进入项目管理的界面,我们可以看到刚才建立的iModel数据库,有一些操作导引供你参考。



点击,打开刚才建立的iModel数据库,打开后,你会发现还没有任何的数据变更和命名版本,就像Github,它是一个容器,我们还没有推送任何数据进去。



我们可以使用前面提到的iTwin Synchronizer,将数据推送到iModel数据库,它是更新云端数据库的方式之一。


你可以这样认为,我们的dgn格式的别墅模型是本地的一个数据源,iTwin Synchronizer将数据的变更推送到iTwin Platform。




同步数据


iTwin Synchronizer是一个桌面端的应用程序,它将本地的设计文件,例如Dgn,DWG等各种格式的变更,推送到iModel数据库。



这个过程,原始文件仍然保存在本地,iTwin Synchronizer只是将转换后的数据变更推送到云端,保证了原始数据的安全。当然,如果你不想使用客户端转换,也可以直接使用网页端,将原始数据上传到云端,然后利用服务器的资源进行转换。


启动后,点击登录按钮,系统会跳转到网页端进行验证,然后返回软件页面。登录后,你就会看到上一节建立的项目和iModel。



一个iTwin项目可以有多个iModel数据库,就像一个厂房有很多的车间。这有利于我们做项目、子项目分解。所以, 当我们同步数据时,我们需要首先选择将数据同步到那个项目的那个iModel。


iTwin Synchronizer是通过建立本地文件和iModel数据库之间的连接Connection来同步数据的。这是一种匹配关系。



每个Connection可以匹配多个文件,你可以建立多个Connection。不同用户也可以同时使用iTwin Synchronizer来同步数据。这就是iTwin平台分布式处理数据变更的能力,而且会记录所有数据的变更历史。


创建Connection是为了指定本地数据源和iTwin平台iModel数据库的匹配关系。所以,输入名称后,我们需要指定iModel数据库,设定本地数据文件的位置,然后再去选择具体的文件。



你可以找到你下载的House_Model.dgn所在的目录,这个过程只是选择所在目录,而非具体文件。


下一步,我们就开始选择具体的文件。实际工作中,你可以选择多个文件,而且可以是不同的类型。但作为第一个Connection,系统会让你指定一个文件来初始化地理坐标系定位。



由于我们这里只有一个文件,所以,这个文件就是地理坐标初始化的文件。需要注意,如果你的文件里没有地理坐标信息。那么,在最终浏览时,你就无法把模型放置到正确的三维地球上。


设置完毕后,点击下一步。


我们选择的数据可能是多种类型的BIM文件,iTwin Synchronizer是通过不提供类型转换工具Connectors来转换不同类型的原始文件的。同样是Dgn文件,也可能是OpenBuildings Designer建筑文件,OpenRoads Designer市政文件,而且在同一个Dgn文件中,也可能存在不同类型的构件。这就需要不同的Connector来进行转换。


iTwin Synchronizer运行时,首先会根据你选择的原始数据文件,判断使用何种Connectors,然后进行下载,或者检查更新。



当 Connection所需的转换器Connector下载完毕后,你就可以点击保存按钮,至此,一个用以同步本地数据到iModel数据库的Connection就建立完毕。



我们刚刚只是建立了本地文件和云端iModel数据库之间的连接,还没有同步任何数据。点击同步按钮,才会同步数据。



我们需要注意,同步的过程是将数据的变更,推送到iModel数据库,而不是原始文件。所以,这里是变更Change,数据时时刻刻都在发生变化,我们如果想在有一个时间点查看数据的状态,我们就需要建立一个版本Named Version。就像银行账户流水,每刻都在变化,但我们也有月账单。


同步过程我们可以选择是否创建一个版本,就像某一个时间点的银行账户状态。我们也可以设定一些变更、版本的备注信息。


设定完毕后,点击同步按钮,便开始了同步过程,等待的时间取决于文件的大小、复杂度。需要注意。当文件发生变化时,再次同步只是检查变更,这是增量推送变更的过程。



同步完毕后,会给出一个提示。这里说明原始文件有一些问题,例如可能材质文件没有找到,字体文件丢失等。在这里,我们先忽略这些信息。



至此,我们已经将本地数据同步到云端的iModel数据库里,我们点击“Go to iModel“,就可以访问云端的数据了


打开后,在上一节里空空的iModel数据库,已经同步了本地的数据。在这个界面中,右边是变更,就像我们的账户流水。左边是Named Version,就像我们的月度账单,是某个具体时间点的数据状态。



现在,我们已经建立了我们第一个数字孪生。你可能认为,这和常规的轻量化平台的工作过程没有差别。但需要注意,对于数字孪生,这是个动态的过程。


本地数据发生变化,通过iTwin Synchronizer同步变更,云端数据更新,然后分发数据给不同的iTwin应用程序。这是一个动态的过程。


点击View,你可以调用iTwin Platform预置的Viewer浏览器来查看数据模型。当然你未来也可以定义自己的应用程序。需要注意。iTwin Platform的强大在于,你可以通过开源的iTwinjs来定义自己的应用程序,来使用数据。



在这个数据列表中,你可以看到,最上面的是iModel数据库的名称,分支是当前同步数据的文件。这里只是一个名称,来记录数据的变更来源于那个原始文件,原始文件并没有上传到服务器。一定要注意这一点。


点击“Open iModel”按钮,你就可以浏览数据模型了,现在,我们已经将本地的数据,推送到云端,形成了一个简单的数字孪生。



恭喜你,已经使用iTwin建立了第一个数字孪生。现在你已经理解数据同步Synchronizer和集成Federation的价值和区别。



也学会了如何在iTwin平台上建立一个项目,如何将本地的数据文件同步到云端。这是第一步,也是最重要的一步。


对于iTwin Platform如何使用统一的数据语言,数据架构来理解不同类型的数据变更。这是我们下一章讨论的重要内容:BIS,也就是Base Infrastructural Schema。






电子资料包

如果您希望了解关于 Bentley 数字孪生技术的更多内容,可以扫描下方二维码领取电子资料包,期待您早日将数字孪生技术应用于项目中。


电子资料包包括:

  • iTwin 手册:Bentley iTwin 数字孪生平台介绍

  • 信息图表:iTwin 基础设施数字孪生模型

  • 白皮书:Bentley iModel 2.0 平台

  • PPT:Bentley iTwin 数字孪生解决方案

  • 视点文章

    * 数字孪生平台,胜在开放性

    * 推动BIM进步:数字孪生

    * 数字孪生:到底是什么,对工程公司有何意义

    * 数字孪生技术:未来已经在眼前

    * 数字孪生:从愿景到现实,从理念到行动

    * 基础数字孪生的分步实现战略计划

      ……


点击“阅读原文”前往Bentley-Learn.com【iTwin专区】,发现更多精彩内容!


往期精彩内容


想了解更多Bentley软件信息,请关注:

官网:http://www.bentley.com/
新浪微博:@Bentley软件官方微博

中国优先技术社区:www.bentley.com/chinafirst

微信号:Bentley软件

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存