Message 1 of 12
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi, I am trying to edit a loaded family in my project file by replacing family parameter withe shared one:
Document doc = this.Document;
Family family = (from f in new FilteredElementCollector(activeDocument).OfClass(typeof(Family)) where f.Name == "M_Concrete-Rectangular-Column" select f).FirstOrDefault() as Family;
Document familyDoc = activeDocument.EditFamily(family);
Application familyApp = familyDoc.Application;
FamilyParameter familyPar = (from fp in familyDoc.FamilyManager.GetParameters() where fp.Definition.Name == "b" select fp).FirstOrDefault();
ExternalDefinition extDef = CreateSharedParameterDefinition(familyApp, "General", familyPar.Definition.Name, familyPar.Definition.ParameterType);
using (Transaction transaction = new Transaction(familyDoc))
{
if (transaction.Start("Replace Family Parameter") == TransactionStatus.Started)
{
try
{
familyDoc.FamilyManager.ReplaceParameter(familyPar, extDef, BuiltInParameterGroup.PG_GEOMETRY, false);
}
catch(Exception e)
{
TaskDialog taskDialog = new TaskDialog("Revit");
taskDialog.MainContent = e.Message;
taskDialog.CommonButtons = TaskDialogCommonButtons.Ok;
taskDialog.Show();
}
transaction.Commit();
}
}
but i get exception in the FamilyManager.ReplaceParameter() Method : "Prameter Rplecement failed".
What is wrong with my code??
Thank You in Advance
Solved! Go to Solution.