The general architecture and main components used by a non-MicroStation based application to publish an i-model from data it generates 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 publishing 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 multiple engines, the application will need to choose which one will correctly publish the information.
-
Get the engine and Connect using the ConnectionManager::GetEngine and ConnectionManager::Connect.
-
Optionally, set a callback to handle messaging back from the MicroStation application 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.
-
Optionally, wait for messages back from the MicroStation App.
Using the SDK, the MicroStation App would perform the same tasks as described in Publishing i-models From a MicroStation Based Application.
The libraries required for this use case are:
-
Bentley.XmlInstanceNative.lib
-
Bentley.IModelConnection.lib
-
Bentley.ProvenanceNative.lib
-
Bentley.Publish.lib