using Autodesk.Revit.DB; using FWindSoft.Revit.Extension; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FWindSoft.Revit { public static class FamilySymbolExtension { /// /// 激活封装 /// /// public static void ActivateT(this FamilySymbol fs) { if (fs != null && fs.IsActive) { fs.Activate(); } } /// /// 复制FamilySymbol /// /// /// /// /// public static FamilySymbol CopyFamilySymbol(this FamilySymbol familySymbolSource, string symbolName, Dictionary parameterValues) { var familySymbol = familySymbolSource.DuplicateT(symbolName); if (familySymbol == null) return null; #region 参数处理 if (parameterValues != null && parameterValues.Count > 0) { foreach (var parameterValue in parameterValues) { var parameter = familySymbol.GetParameter(parameterValue.Key); if (parameter == null) continue; ParameterUtil.SetValue(parameter, parameterValue.Value); } } #endregion familySymbol.Activate(); return familySymbol; } } }