private List<FamilySymbol> GetFamilySymbols(ExportedDataType exportedDataType) { List<FamilySymbol> symbols; if (Enum.IsDefined(typeof(BuiltInCategory), exportedDataType.RevitFamilyId)) symbols = GetSymbolsForCategory((BuiltInCategory)exportedDataType.RevitFamilyId); else symbols = GetSymbolsForCategory(BuiltInCategory.OST_LightingDevices); return symbols; }
private static void SetFullyEqualSymbolAsSelectedIfExists(FamilySelectorViewModel newModel, ExportedDataType exportedDataType) { foreach (var familySymbol in newModel.FamilySymbolsList.Select(fs => fs)) { if (CompareFields(exportedDataType.Fields, familySymbol)) { newModel.SelectedSymbol = familySymbol; newModel.CreateCopy = false; return; } } }
private static void SetSuitableTemplateType(FamilySelectorViewModel newModel, ExportedDataType exportedDataType) { foreach (var familySymbol in newModel.FamilySymbolsList) { var templateParam = familySymbol.Item1.get_Parameter("TemplateType"); if (templateParam != null && templateParam.AsInteger() != 0) { if (CompareFields(exportedDataType.Fields.Where(field => field.IsTemplate), familySymbol)) { newModel.SelectedSymbol = familySymbol; newModel.CreateCopy = true; return; } } } }
public void UpdateFamilySymbolType(FamilySymbol symbol, ExportedDataType dataType) { var defFile = CreateOrGetSharedOptionsFile(); using (var trans = new Transaction(m_revitDoc.Document,"addParams")) { trans.Start(); foreach (var field in dataType.Fields) { var param = symbol.get_Parameter(field.Name); if (param == null) { CreateAndBindParam(defFile,symbol.Category, field.Name); param = symbol.get_Parameter(field.Name); } param.Set(field.Value); } trans.Commit(); } }