Revit Family Rename в проекте

Можно ли через API переименовать семейства в проекте. Недавно мы обновили и стандартизировали наше семейное соглашение об именах. Я хотел бы создать надстройку, которая переименовывала бы семейства в существующем проекте на новые стандартные имена. Мне не удалось найти пример этого в Интернете.

Мне удалось найти все фамилии, однако я не могу переименовать семью.

Я использую C #.


person Danny Bentley    schedule 14.07.2015    source источник
comment
Да, вы можете, хотя для этого нужно немного поработать. сначала вам нужно экспортировать все редактируемые семейства в проекте, затем переименовать их так, как вы хотите, затем загрузить переименованные семейства в тот же проект и, наконец, изменить каждый элемент со старым семейством на новый. Я могу показать код для каждого бита, чтобы вы поняли ...   -  person alital    schedule 15.07.2015


Ответы (2)


Я пробовал прямой способ со свойством .Name и, похоже, работает.

UIApplication uiapp = commandData.Application;
UIDocument uidoc = uiapp.ActiveUIDocument;
Application app = uiapp.Application;
Document doc = uidoc.Document;

foreach(ElementId id in uidoc.Selection.GetElementIds())
{
  FamilyInstance famInstance = doc.GetElement(id) as FamilyInstance;
  if (famInstance == null) continue; //skip element

  famInstance.Symbol.Name = famInstance.Symbol.Name + " - Changed";
}
person Augusto Goncalves    schedule 17.07.2015

Это то, что я использовал

Element ff = doc2.GetElement({insert family id here});

var bar = (from x in familycollection where x.Name == ff.LookupParameter("Family Name").AsString() select x).FirstOrDefault();

exEvent.Raise()
person Joshua Lumley    schedule 05.11.2016