Значение защитного слоя элемента при его ручном назначении

Главная Форумы Python Revit Library (API) Значение защитного слоя элемента при его ручном назначении

Помечено: ,

В этой теме 1 ответ, 1 участник, последнее обновление  A.Balm 2 нед. назад.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Сообщения
  • #8711 Score: 0

    A.Balm
    Участник

    Подскажите, возможно ли средствами revit api или dynamo (Лучше через revit api) получить защитные слой элемента, если пользователь его назначил вручную?

    В свойствах Колонн, балок, перекрытий и стен есть 3 параметра: Rebar Cover Top, Rebar Cover Bottom, Rebar Cover Other. Other – содержит защитный слой для граней, которые не являются Top и Bottom.

    Если пользователь меняет защитный слой для какой – либо грани (из Other), то параметр принимает значение null. Где можно поймать защитный слой для конкретной грани?

     

    #8715 Score: 0

    A.Balm
    Участник

    Оказалось все достаточно просто, хотя не понятно поначалу:

    public class Command : IExternalCommand
    {
    RebarHostData rebarHostData;

    public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
    {
    UIApplication uiapp = commandData.Application;
    UIDocument uidoc = uiapp.ActiveUIDocument;
    Application app = uiapp.Application;

    Document doc = uidoc.Document;
    Selection sel = uidoc.Selection;

    //Выбираем элемент
    Reference reference = uidoc.Selection.PickObject(ObjectType.Element, "Select an Element");
    Element e = doc.GetElement(reference);

    //Выбираем грань на этом элементе
    Reference faceRef = uidoc.Selection.PickObject(ObjectType.Face, "Select a Face of the Element");
    rebarHostData = RebarHostData.GetRebarHostData(e);

    RebarCoverType coverData = rebarHostData.GetCoverType(faceRef);
    TaskDialog.Show("Revit", $"GetCoverType: {coverData.Name}\n");

    return Result.Succeeded;
    }
    }

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)

Для ответа в этой теме необходимо авторизоваться.