Доброго времени суток!!!!
У меня возникла проблема при обработке событий в Revit.
А именно, мне необходимо в момент запуска приложения Revit или в момент открытия документа, обратиться к другой программе.
По рекомендациям статей:





при помощи External Application получился следующий код:

#region namespace
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.DB.Events;

using TDMS;
using System.Runtime.InteropServices;
#endregion

namespace ExternalApplicationTDMS
{
[Transaction(TransactionMode.Automatic)]
[Regeneration(RegenerationOption.Automatic)]
public class Application_DocumentOpened: IExternalApplication
{
#region IExternalApplication Members
//IExternalApplication.Result
public Result OnShutdown(UIControlledApplication application)
{
//MessageBox.Show("Я тута");
// удаляем сообщение
application.ControlledApplication.DocumentOpened -= application_DocumentOpened;
return Result.Succeeded;
}

//IExternalApplication.Result
public Result OnStartup(UIControlledApplication application)
{
try
{
//MessageBox.Show("Я вот");
// регистрация события
application.ControlledApplication.DocumentOpened += new EventHandler
<Autodesk.Revit.DB.Events.DocumentOpenedEventArgs>(application_DocumentOpened);
}
catch (Exception)
{
return Result.Failed;
}

return Result.Succeeded;
}

public void application_DocumentOpened (object sender, DocumentOpenedEventArgs args)
{
//получим документ из аргументов события
Document doc = args.Document;
//MessageBox.Show("Я тут-тут");
TDMSApplication TDMSAPP;

//запускаем или получаем доступ к TDMS
try
{
//получаем ссылку на объект запущенного СОМ приложения TDSM
TDMSAPP = (TDMSApplication)Marshal.GetActiveObject("TDMS.Application");
}
catch
{
//в случае если приложение TDSM не запущено, пытаемся запустить его
try
{
TDMSAPP = new TDMSApplication();
TDMSAPP.Visible = true;
}
catch
{
MessageBox.Show("Невозможно запустить TDMS");
return;
}
}

}

#endregion
}
}

Как ни странно, ни один из полученных кодов не производит ни каких действий. т.е при запуске revit ничего того, что подразумевается выполнить в выше указанном коде, не происходит, хотя компиляция библиотеки и ее подключение проходит корректно.
Были даже предприняты попытки просто использовать без изменений код, приведенный в статьях. Но результат тот же.
Нужна ваша помощь…))))))))))))))))))))))))) Кто что-то знает по этому вопросу, проконсультируйте.