我们下面将通过Bentley的公有云服务介绍这一过程。
建立数字孪生模型的步骤
为了更好的用一个流程来说明项目中,不同单位的配合关系,我们预设了如下背景:
有两个公司ArchCom和StruCom共同参与位于北京的一个别墅项目NYXHome,分别负责建筑和结构专业。作为业主希望建立一个项目级的数字孪生Project Twin来将两个公司的数据综合在一起。同时利用Design Review等云服务,对数据进行查看和检查。
在这个过程中,我们将介绍数字孪生的工作流程,同时介绍iTwin基本的云服务。Bentley数字孪生解决方案支持公有云和私有云部署,在这个案例中,我们使用Bentley 基于iModel Hub的公有云服务来说明这个过程,私有云的使用流程与之类似。后面我们讲到的“云”都代表两种云。
▌1.1 云服务环境
要使用Bentley的公有云服务,你必须具有IMS账号授权(商业用户都有IMS账号),同时云服务也做了正确的配置。
在正式开始之前,我们先明确几个术语和概念:
· iTwin/iTwin Service
Bentley的数字孪生方案,以iTwin Service数字孪生服务的方式提供数据服务,可以基于公有云和私有云部署。
·Model
Bentley iTwin数字孪生解决方案的核心技术。与之相关的术语有:
iModel数据库:iModel用以存储数据的关联数据库,基于SQLLite。
iModel Bridge:对各种类型数据进行同步、转化的工具。可以本地端运行,也可以基于ProjectWise进行。
iModel Hub/iModel Bank:对数据进行变化管理的iModel Hub(公有云)和iModel Bank(私有云)。
iModelJS:Bentley提供的开源工具,用于、定义、扩展数字孪生服务。
· Change/ChangeSet
iModel Hub/iModel Bank,用以识别数据的变化,是保证数据正确性的核心手段。
· Name Version
命名版本/版本,在iModel Hub/iModel Bank中,特定时间节点的状态保存,可以将某个Change所在的时间点状态当做一个时间节点。
· CONNECTED Project
Bentley现有公有云环境下,用于管理数据的项目名称,我们称之为“云项目”,以区别本地的项目WorkSet(CE)/Project(V8i)
· ProjectWise
Bentley的协同管理平台,提供项目级工程标准、内容、流程管理。在数字孪生解决方案中,可以与iModel体系对接,实现文件级和数据集的信息同步。
· ProjectWise 365
Bentley公有云上的ProjectWise服务
· IMS账号
在CONNECTED应用体系下,识别用户身份的唯一标志。企业管理员可以管理自己企业的IMS账号,给每个账号赋予不同的角色定义和权限,也包括使用不同的云服务。
MicroStation在数字孪生体系中,很多时候的角色是一个创建数据的客户端,需要连接到云上,来使用各种云服务。在基于ProjectWise的协同体系下,ProjectWise本身就提供了一种基于公有云或者私有云的存储、管理云服务。
当你安装了任何Bentley的应用软件时,都会安装一个CONNECTION Client的客户端,你凭IMS账号登录,获得相应的软件授权、收到软件更新提示、项目协作提示,更可以通过“CONNECT Center”使用Bentley公有云服务。
CONNECTION Client客户端
点击CCONNECT Center进入Bentley公有云服务界面。
Bentley公有云服务
需要注意的是,未来的应用场景中,每个企业根据授权的不同,所能使用的云服务也不同。而每个企业的管理员,可以给不同角色的IMS账号设置不同的权限,决定这个用户可以访问那些项目,具有哪些权限。
Bentley公有云服务分为了很多种,我们下面主要讲解与数字孪生相关的iTwin Service。
Bentley公有云服务
这些是现在有的云服务类型,无论是基于公有云还是私有云部署,用户都可以通过iModelJS开源的API,定制、开发自己的云服务,以满足自己的数据应用需求。
我们的使用流程是:
1. 业主在云上建立基于资产类型的项目,这种类型的项目,我们称之为CONNECTED project(下称云项目)。每个云项目可以根据需求不同,授权使用不同的云服务。
项目列表
2. 业主给不同的参与方设置不同的权限,来连接这个基于云的项目。可以通过MicroStation的WorkSet与这个云项目连接,也可以通过自己企业的ProjectWise或者公有云的ProjectWise365。
3.在云项目中,根据内容的组织,建立一个或者多个iModel数据库来管理数据。
4. 为每个iModel数据库建立一个或者多个连接CONNECTION,通过后台调用iModel Bridge与不同类型的文件进行数据同步。
5. 记录数据的变化ChangeSet,并生成相应的版本Named Version。
6. 使用各种iTwin Service来利用iModel数据库中的数据,让数据产生价值。或者使用iModelJS开发自己的数据应用服务
下面,我们通过具体的操作来说明这个过程。
▌1.2 初始化项目环境
建立CONNECTED Project
建立云项目CONNECTED Project,具体操作过程如下。
点击“Register a Project”建立CONNECTED Project
CONNECTED Project基本信息
在项目属性设置的底部,会让你选择数据中心,不同的数据中心提供不同的数据服务。所以,我们一定要明白,云服务是按照服务的类型来收费的。在这里,作为演示,我们选择EastUS数据中心,以使用最多的云服务。
选择数据中心
当前阶段,不同数据中心提供的云服务差别
云项目建立完成后,就有了自己的门户页面。列出云项目的信息、成员管理和所能使用的云服务等。
项目主页面列出我们所能使用的服务
角色管理
在云应用体系上,我们需要精确的定义每个角色的权限和所能使用的服务,这也是精确控制项目成本的手段。这也包括了每个角色的软件授权。
内部成员和外部成员的管理
角色、用户管理
角色的权限管理
为不同角色设置的权限
我们云项目的预设是设计公司和业主的协作。不同单位的角色都需要进行正确的设置。
本地项目WorkSet
我们假设两家公司ArchCom和StruCom分别使用MicroStation的WorkSet及内容如下。
ArchCom公司WorkSet及文件结构
StruCom公司WorkSet及文件结构
由于,我们将来需要将项目文件放置在真实的地理位置上,所以,我们做了如下的位置设定:此别墅位于北京龙潭湖公园内,我们暂定在如下的地点。业主方通过kmz文件使两家公司使用同一个定位基点。
项目位置
定位文件
两家公司在自己的主文件中,只需要使用此kmz文件定位,并设置正确的地理坐标系就可以了。需要注意,这是将BIM数据放置在正确位置的关键。
放置KMZ定位文件
利用放置的定位点,设置地理坐标系
设置好地理坐标系后,其实可以利用视图属性的Bing背景地图功能查看是否正确。
设置了地理坐标系后,可以打开Bing背景地图
至此,云项目环境和本地数据都已经准备完毕了。
▌1.3 数据共享
我们现在大多数的设计场合还是使用文件级系统,而iModel对数字资产的管理是通过数据库进行的。所以,我们未来需要将文件级的内容管理与数据库级别的内容管理做对接。
能够对接的前提是内容的分享,现阶段,我们在建立iModel数据库后,可以从ProjectWise上读取数据。当然,在未来的应用场景中,如果只是读取数据的话,你可以建立自己的文件共享管理系统。
建立数据连接时,选择的数据来源
ProjectWise 365是基于公有云的数据协同服务。我们可以在本地通过MicroStation的WorkSet与云项目CONNECTED Project关联。这其实就是使用了公有云上的ProjectWise365服务。,这样在某些打印、输出的场合,就可以直接输出到云项目上。
ProjectWise 365服务
我们在本地WorkSet属性中,可以直接与云项目关联。关联后能够正常工作的关键是IMS需要登录。
点击WorkSet属性
建立关联
关联后的WorkSet属性
关联完成后,我们就可以在很多场合将一些内容发布的云项目上了。
发布iModel到云项目
发布过程
成功的提示
已经放置在云项目的共享服务里了。
现阶段发布的iModel是*.imodel格式,这种数据其实就是iModel数据库的一种形式,为了演示对原生数据的支持,我们采用手动方式,将i.dgn和Revit原生数据格式Rvt手工上传到ProjectWise 365上。
对于正确的工作流程来讲,应该是放置在ProjectWise上,然后直接从ProjectWise读取文件。
上传完后的数据如下所示。
两家公司的数据
在这里,我们转化成i.dgn是为了减小容量,iModel可以直接通过不同类型的Bridge对各种原生数据进行兼容,我们还假设有一家叫KKCom的公司,他们使用Revit建立部分模型,我们也为其建立一个目录。同样的,在一个工作流程的角度,他们仍然需要在ProjectWise协同体系下工作,这样效率才能最高
支持Revit原生数据文件