Для решения простых задач, связанных с программированием, удобно использовать макросы: не надо перезапускать Revit, создавать addin-файлы или устанавливать дополнительные программы, можно работать без прав администратора и т.д.
Коды макросов часто можно встретить на форумах или блогах, но как этот код использовать?
Ничего сложного. Переходим в Revit Управление — диспетчер макросов:
Макросы могут быть уровня приложения и уровня документа. Я обычно использую макросы уровня приложения, поэтому переходим на вкладку «Приложение». Здесь будет отображаться список макросов, которые можно использовать в любом проекте, но только на данном компьютере.
Бывает, что в этом окне все кнопки неактивны. Такое бывает, когда одновременно запущено несколько Revit. Также можно попробовать перезагрузить компьютер или переустановить Revit (я с таким не сталкивался, и обычно среда разработки SharpDevelop устанавливается по-умолчанию, но видимо возможны проблемы).
Нажимаем кнопку «Модуль» — «Создать», указываем имя модуля и язык C#:
Через 10-20 секунд будет открыто окно среды разработки SharpDevelop (если ничего не происходит — опять же, надо попробовать перезапустить или переустановить Revit):
Скопируйте код, опубликованный на форуме или блоге, установите курсор в указанное место и вставьте скопированный код:

Главное — не потерять фигурные скобки в начале и конце кода.
Если код вставился не очень красиво, без нужных отступов — можно нажать на клавиатуре Ctrl+i или Правка — Формат — Отступы:
Далее нужно нажать на панели инструментов кнопку «Собрать решение». Если всё хорошо — внизу окна появится сообщение «Построение успешно завершено»:

Если появились ошибки — надо разбираться. Вот здесь, например, в одной строке почему-то исчезли кавычки — SharpDevelop подсветил это место:
Если ругается на строку «this.ActiveUIDocument.Document» — вы неверно создали макрос, не переключились на вкладку «Приложение», повторите по этой инструкции заново внимательнее.
После этого можно закрыть SharpDevelop и вернуться в Revit. В «Диспетчере макросов», в созданном модуле появится подпункт — тот макрос, который мы скомпилировали. Его нужно выбрать и нажать кнопку «Выполнить»:

Вот и всё. Макросы сохраняются на компьютере, при необходимости его запустить — опять же заходим в «Диспетчер макросов», выбираем нужный макросы и «Выполнить».
Чтобы потренироваться — вот код, который я использовал. Этот макрос «Отменяет соединение» у концов балок.
public void DisallowJoin() { Document doc = this.ActiveUIDocument.Document; FilteredElementCollector col = new FilteredElementCollector(doc) .OfCategory(BuiltInCategory.OST_StructuralFraming) .OfClass(typeof(FamilyInstance)); using(Transaction t=new Transaction(doc)) { t.Start("Отмена соединений"); foreach(Element elem in col) { try { FamilyInstance fin = elem as FamilyInstance; Autodesk.Revit.DB.Structure .StructuralFramingUtils.DisallowJoinAtEnd(fin,0); Autodesk.Revit.DB.Structure.StructuralFramingUtils.DisallowJoinAtEnd(fin,1); } catch {} } t.Commit(); } }