Что происходит в Revit лучше всего описывает его журнал.
Касательно сути вопроса. Вообще Revit-овские .Net-овые библиотеки (RevitAPI.dll, RevitAPIUI.dll и прочие) содержат, как managed, так и unmanaged код и по сути являются достаточно тонким wrapper-ом для вызова функций ядра из самого Revit.
Чисто теоретически, наверное, можно попробовать применить подобный подход, хотя, как мне кажется, для этого надо как минимум иметь заголовочные .h-файлы, либо использовать механизмы pInvoke.
Да, и насколько понимаю, здесь без дизассемблирования не обойтись, что, насколько знаю, противоречит условиям лицензионного соглашения.