The general architecture and main components used a non-MicroStation application to consume an i-model and store the information in its repository/format is depicted in the diagram below.
Using the SDK, the 3rd-party application plug-in would perform the following tasks:
-
Obtain a connection to a MicroStation based engine capable of consuming i-models (i.e. MicroStation or i-model Composer) using Bentley::IPC::ConnectionManager::GetManagerObj
-
Get the list of available engines and choose one to work with, if there are engines, the application will need to choose which one will correctly publish the information
-
Get the engine and Connect using ConnectionManager::GetEngine and ConnectionManager::Connect
-
Optional set a callback to handle messaging back from the MicroStation App using the IModelEngine::SetCallback method
-
Load the MicroStation App in the engine using the IModelEngine::LoadApp method
-
Send Commands to the MicroStation App using the IModelEngine::StartApp method.
-
Optional wait for messages back from the client
Using the SDK, the MicroStation App would perform the same tasks as described in Consuming i-models From a MicroStation Based Application.
The libraries required for this use case are:
-
Bentley.XmlInstanceNative.lib
-
Bentley.imodelconnection.lib
The classes required for this use case are:
The header file required for this use case is: