Я работаю над проектом, в котором мне нужно загрузить фитинги (изгибы) семейств Revit в документ Revit и обновить его общие параметры как параметры типа.
Мне удалось выполнить эту задачу, поскольку мне нужно было получить доступ к семейству сгибов в качестве экземпляра семейства.
Вторая часть требования также заключается в обновлении параметров семейства соединений сгиба.Проблема в том, что я не могу получить доступ к параметру соединения из документа revit.
Если я попробую его вручную, параметр соединения будет доступен только при двойном щелчке по семейству сгибов, при этом откроется семейство revit.файл.Затем я могу получить доступ к обеим муфтам с обеих сторон изгиба.Как мне выполнить вышеуказанную задачу добавления параметров в элемент семейства revit программным способом из документа revit.
Пожалуйста, укажите мне.
Заранее спасибо.
Мой код:
foreach (var item in MainModel.listElement)//List<Element>
{
FamilyInstance elFamInst = item as FamilyInstance;
if (elFamInst.Symbol.FamilyName == "MainFamilyName")//Bend Family
{
ElementId id = item.GetTypeId();
ElementType et = doc.GetElement(id) as ElementType;
Family fam = elFamInst.Symbol.Family;
if (elFamInst.SuperComponent == null)
{
var subElements = elFamInst.GetSubComponentIds();
if (subElements.Count != 0)
{
foreach (var aSubElemId in subElements)
{
var aSubElem = doc.GetElement(aSubElemId);
if (aSubElem is FamilyInstance)
{
FamilyInstance subEl = aSubElem as FamilyInstance;
Family fm = subEl.Symbol.Family;
if(subEl.Symbol.FamilyName == "subFamilyName")//coupling family
{
Document docfamily = doc.EditFamily(fam);
if (null != docfamily && docfamily.IsFamilyDocument == true)
{
FamilyManager familyManager = docfamily.FamilyManager;
using (Transaction trans = new Transaction(docfamily, "param"))
{
trans.Start();
FamilyParameter fp = familyManager.AddParameter("Namess",BuiltInParameterGroup.PG_IDENTITY_DATA,ParameterType.Text, false);
familyManager.Set(fp, "JP");
trans.Commit();
}
}
}
}
}
}
}
}
}
Я не могу достичь результата, также я хочу, чтобы параметр «JP» был установлен только для семейства соединений, то есть параметра с именем «subFamilyName».