Размещение компонента детализации в Revit с использованием python - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь создать кнопки деталей компонента, которые запускают следующий код.Тем не менее, мне нужно, чтобы он работал на 2015-2018 годы, возможно, на 2019 год.

В настоящее время у меня есть пользовательские ленты и кнопки, но я не могу заставить этот скрипт работать из-за commandData впервая строка не работает.Я попытался проверить это как macro, просто чтобы проверить, будет ли он работать в первую очередь, прежде чем продолжить.

FamilySymbol symbol = GetElements<FamilySymbol> (commandData.Application.ActiveUIDocument.Document)
                          .Where(item => item.Name == "NameYouWant")
                          .First();
commandData.Application.ActiveUIDocument.PromptForFamilyInstancePlacement(symbol);
    /// <summary>
    /// Get the collection of elements of the specified type.
    /// <para>The specified type must derive from Element, or you can use Element but you get everything :)</para>
    /// </summary>
    /// <typeparam name="T">The type of element to get</typeparam>
    /// <returns>The list of elements of the specified type</returns>
    public IEnumerable<T> GetElements<T>(Document document) where T : Element
    {
        FilteredElementCollector collector = new FilteredElementCollector(document);
        collector.OfClass(typeof(T));
        return collector.Cast<T>();
    }

Он находится в элементах сведений в браузере проекта

Family = Break Line
Type   = Break Line

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 21 мая 2018

Аргумент commandData - это параметр, передаваемый в метод Execute внешней команды Revit.Он содержит данные, позволяющие внешней команде связаться с Revit и его базой данных.

Макрос предоставляет другой метод для доступа к Revit и его базе данных.

Работа с материалом Revit API для начала работы или Руководство разработчика Revit Привет мирные пошаговые руководства , чтобы узнать, как настроить внешнюю команду для прохождения commandDataв соответствии с требованиями.

...