Как добавить параметры в элемент в Forge API - PullRequest
0 голосов
/ 01 июля 2019

Я работаю над проектом, в котором мне нужно создать элемент (например, стену) и добавить к нему общие параметры в API Forge.

Я создал стену с помощью API автоматизации проектирования для Revit, но так какв Design Automation API нет пользовательского интерфейса, я не смог создать параметрыЕсть ли такой метод, как приведенный ниже код, который мы смогли написать в транзакции в Revit API.

if (element.LookupParameter(param).IsReadOnly == false)
{
    if (!type.Name.Equals("Double"))
    {
        if (!string.IsNullOrEmpty(value.ToString()))
            element.LookupParameter(param).Set(value.ToString());
    }
    else
    {
        if (!double.IsNaN((double)value))
            element.LookupParameter(param).Set((double)value);
    }
}

Можно ли создать параметры экземпляра и типа для определенного элемента в API автоматизации проектирования или я могунужно использовать какой-нибудь другой Forge API?Было бы замечательно, если бы кто-то мог направить меня с этим.Спасибо

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Я случайно создал демо для работы с общими параметрами в Design Automation. Исходный проект доступен по адресу https://github.com/xiaodongliang/Revit-room-space-with-Forge-viewer

Он основан на скелете нашего учебного кузнечного урока. Связанные коды для добавления параметра общего доступа: https://github.com/xiaodongliang/Revit-room-space-with-Forge-viewer/blob/master/updateRVTParam/Commands.cs#L259-L269

  //add shared parameter definition
  AddSetOfSharedParameters(rvtDoc);

  //......
  //......

  //add shared parameter to the specific shape
 using (Transaction tx = new Transaction(rvtDoc))
                    {
                        tx.Start("Change P");

                        Element readyDS = rvtDoc.GetElement(roomId);
                        Parameter p = readyDS.LookupParameter("RoomNumber");
                        if (p != null)
                        {
                            p.Set(room.Number.ToString());
                        }
                        tx.Commit();
                    }

Надеюсь, это поможет.

0 голосов
/ 02 июля 2019

Да, вы можете использовать Revit API для создания общих параметров в контексте Forge Design Automation.Для облегчения тестирования я предлагаю вам внедрить и протестировать необходимые функции в обычном настольном Revit, прежде чем переходить к контексту автоматизации проектирования.Строительный кодер предоставляет больше советов в соответствующей группе тем на DA4R - Автоматизация проектирования для Revit .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...