public void LaunchPlugin()
{
// Running Navis
if (Autodesk.Navisworks.Api.Application.IsAutomated)
{
throw new InvalidOperationException("Invalid when running using Automation");
}
// Version
if (!Autodesk.Navisworks.Api.Application.Version.RuntimeProductName.Contains("2015"))
{
MessageBox.Show("Incompatible Navisworks Version" +
"\nThis Add-In was built for Navisworks 2015, please contact info@case-inc for assistance...",
"Cannot Continue!",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
return;
}
//Find the plugin
PluginRecord pr = Autodesk.Navisworks.Api.Application.Plugins.FindPlugin("ARUP.IssueTracker.Navisworks.Plugin.CASE");
if (pr != null && pr is DockPanePluginRecord && pr.IsEnabled)
{
string m_issuetracker = Path.Combine(ProgramFilesx86(), "CASE", "ARUP Issue Tracker", "ARUP.IssueTracker.dll");
if (!File.Exists(m_issuetracker))
{
MessageBox.Show("Required Issue Tracker Library Not Found");
return;
}
Assembly.LoadFrom(m_issuetracker);
//check if it needs loading
if (pr.LoadedPlugin == null)
{
string exeConfigPath = GetType().Assembly.Location;
pr.LoadPlugin();
}
DockPanePlugin dpp = pr.LoadedPlugin as DockPanePlugin;
if (dpp != null)
{
//switch the Visible flag
dpp.Visible = !dpp.Visible;
}
}
}
static string ProgramFilesx86()