Тогда рассказываю по порядку.
я не знаю C#
но я знаю немного Python (а точнее IronPython)
я хочу с ribbon кнопки запускать скрипты python (и да, я не хочу возиться с dll)
как это реализовано сейчас и почему не устраивает:
манифест - стартовая dll (пустышка) - запуск python scripta - создание кнопок как PushButtonData(name, text, name.dll, "Command") (это условный пример)
для каждой кнопки предварительно заготовлены dll-пустышки, .py и .png с именами name - уникальное имя для внутреннего имени кнопки
все бы ничего, но из-за невозможности иметь одинаковые имена функций (или классов) в разных dll (ревит их похоже сливает в одну namespace), возникает проблема с запуском
Задача сделать одну универсальную dll - пустышку которая получала бы извне name нажатой кнопки и запускала бы py script c таким же именем.
Т.е. независимо от того, сколько будет кнопок, на каких вкладках, панелях (это все создается во внешнем py скрипте) стартовая dll IExternalApplicationl и универсальная dll IExternalCommand не должны редактироваться...
готов ответить на вопросы..
тело пустышки выглядит примерно так:
criptEngine engine = Python.CreateEngine();
ScriptScope scope = engine.CreateScope();
engine.CreateScriptSourceFromFile(name.py").Execute(scope);
update: revitpythonshell не предлагать ))