iTwin / itwinjs-core

Monorepo for iTwin.js Library
https://www.itwinjs.org
MIT License
583 stars 211 forks source link

3d party IMODEL import/export file converter #4

Closed helgehes closed 5 years ago

helgehes commented 5 years ago

Hi. We are looking in to possibilitys of creating a 3d party IMODEL import/export file converter ( import and export IMODEL files to/from a third party software ). For a simple import/export fileconverter, is it corect that you will have to have a full itwin suscription to be able to use/run the converter? Or is there any way to use the converter without a suscription ( Forexample if you are not interested in using the Imodelhub, but just want to convert in to local IMODEL file )

roopsaini commented 5 years ago

Hi @helgehes Thanks for the question. We are currently working with our team to best assist you and will follow up shortly.

helgehes commented 5 years ago

Hi Roopsaini. Okay, thank you !

jan-slegr commented 5 years ago

I agree with @helgehes this scenario / workflow is important. Now a situation how i-model format is supported is quite unclear:

So it would be nice to share plans and add some info to FAQ, whether iModelJs is / will be able to work with i-model files offline completely (with e.g. a user required login as required by current SDK), so it will replace i-model SDK, or there will be separate SDK, based on the same dll, to read/write i-model files in 3rd party desktop applications.

Regards,

Jan

kabentley commented 5 years ago

iModel.js supports the iModel 2.0 format. A primary difference between iModel 2.0 and i-model 1.0 is the concept of accountability - tracking and recording change to form a "timeline of change" for your digital twin. In this manner the iModel is synchronized rather than recreated as the source files change (think "Git" for your project data.) The timeline is provided by iModelHub, and is a part of an iTwin subscription.

However, there are cases where it may be desirable to "disconnect a snapshot" of your iModel from the timeline; e.g. for archival or for filtering for distribution, or to create an offline iModel before connecting it to a timeline. For both of those cases, there is concept of a shapshot iModel. A snapshot iModel works much like generation 1.0 iModels in that they're immutable (cannot be modified) once created.

Snapshot iModels do not require an iTwin subscription. The iModel.js library supports creating, querying, and visualizing offline snapshot iModels without any fee and without any login requirements.

Of course much of the library's value derives from processing and interpreting changesets, which are obviously not applicable if there's no timeline. So, to answer your direct question, yes you can write an iModel import/exporter with the iModel.js library to create and display "local" snapshot iModels without any subscription from Bentley. We expect many people will. We think you'll be doing yourself and your users a disservice if you don't also create a Bridge (our term for the program that generates changesets from source files) for your application for your users who do have an iTwin subscription. Obviously we're banking on the value it will add to you and your users.

Note that there are numerous features in iModel.js that are not applicable without an iTwin subscription - e.g. Reality Model display, map backgrounds, Bentley-hosted web display, etc. Each of these depend on Bentley-supplied cloud services enabled through your iTwin account.

Note also that the current pre-release version of the library doesn't enforce any of these restrictions, but you should presume that it will before it is released.

HTH, Keith

helgehes commented 5 years ago

Thank you Keith. I have to say that is really good news! Hopfully many people will see the benefits of the timeline and itwin, it does sound like a very interesting consept. Regards Helge