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;
}
}
}