Table of Contents

BIM API Breaking Changes

23.1.2

Communication between BIM Links plugins and IdeaStatiCa Checkbot BIMPluginHosting communication class is no longer supported. It uses WCF communication which is now deprecated in our applications.

Communication with IDEA should migrate in BIM plugins to gRpc communication BIMPluginHostingGrpc Examples of usage can be found in the latest here:

Sample code is provided below to show changes in the Run method of the Plugin.

 
public void Run(object param)
{
    Logger.LogInformation($"Run param = '{param?.ToString()}'");
    
    var factory = new PluginFactory(this);
    
    Logger.LogDebug("Run - calling GrpcBimHostingFactory");
    
    //Using new Grpc Communication Classes 
    var bimHostingFactory = new GrpcBimHostingFactory();
    var pluginHostingGrpc = bimHostingFactory.Create(factory, Logger);
    
    FeaAppHosting = pluginHostingGrpc;
    
    this.IdeaStatica = ((ApplicationBIM)FeaAppHosting.Service).IdeaStaticaApp;
    
    FeaAppHosting.AppStatusChanged += new ISEventHandler(IdeaStaticAppStatusChanged);
    
    var id = Process.GetCurrentProcess().Id.ToString();
    
    ProjectDir = Path.Combine(WorkingDirectory, ProjectName);
    
    if (!Directory.Exists(ProjectDir))
    {
        Logger.LogDebug($"Run - creating new project dir '{ProjectDir}'");
        Directory.CreateDirectory(ProjectDir);
    }
    else
    {
        Logger.LogDebug($"Run - using existing dir '{ProjectDir}'");
    }
}