...if,这是可能的吗?
我想要做的几乎和Simple Viewer App一样--显示某种类型的bim文件的模型,在边上显示一个元数据,用于web。
然而,在iModelJS的正常设置中,用户必须在iModelJS/Bentley上获得一个帐户,并将文件上传到他们的服务器。你似乎还需要一个他们的帐户才能查看模型。
iModelJS有时会说,向他们注册才能使用他们的服务是necessary,所有的iModels必须来自iModelHub的公文包。但是Keith Bentley本人says你不需要连接到任何特定的服务器就可以使用它。但我在他们的文档中找不到这些信息。
那么,这是可能的吗?如果可能,您是如何做到的?
发布于 2020-01-01 19:50:59
这就是我对框架imodel.js的理解
首先需要考虑的是--什么是.imodel。根据文档:
iModel是基于SQLite的分布式关系数据库,其模式由BIS定义。iModel保存有关单个基础设施资产的信息。iModels可能包含物理和功能模型、图纸、规范、分析模型等。
但是,宾利在一个名为imodel 2.0的生态系统中使用.imodel
在imodel2.0生态系统中,访问imodel数据库的"Bentley方式“是通过一个连接的项目连接到它。通过使用互联项目,可以在项目中使用多个其他服务,如云托管和云处理。
据我所知,样例查看器应用程序被设计为互联项目生态系统的一部分。
为了能够在没有连接项目的情况下解析imodel-db,我认为需要一些反向工程。
由于解析数据库的框架是开放源码的,所以最好的方法是阅读文档,看看有什么可能
我首先将注意力集中在backend module上。
阅读DB中的“通过IModelDb类打开iModel”一章,它给出了如何继续操作的提示。为了能够在没有连接项目的情况下访问.imodel,一种方法是将其视为“快照”imodel。本地存储的非链接的“死”模型。
IModelDb类还提供了打开、关闭和访问快照iModel的方法。快照iModel是与iModelHub断开连接的文件,因此没有更改时间线。快照iModel一旦创建,即为只读且不可更改。这使得快照iModels成为归档或数据传输目的的理想选择。
Further instructions on creating a snapshot imodel
当.imodel存储在本地时,imodel.js库应该能够解析数据并将其发送到前端。
您有没有可以尝试使用ECSQL和后端模块解析的示例.imodel 2.0?看看你能不能从中得到一些数据?
发布于 2020-01-18 02:42:37
对于本地使用快照iModel没有限制。对snapshot iModels无条件地授予使用本机模块所需的运行权(这些模块是在C++中实现的,并且不是开放源码代码库的一部分),包括在托管服务上。
https://stackoverflow.com/questions/59535894
复制相似问题