/*-------------------------------------------------------------------------
* 功能描述:SharedParameterDefinition
* 作者:xulisong
* 创建时间: 2019/3/7 11:14:57
* 版本号:v1.0
* -------------------------------------------------------------------------*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.DB;
namespace FWindSoft.Revit
{
public class SharedParameterDefinition
{
public const string DefualtGroupName = "共享参数";
public SharedParameterDefinition():this(DefualtGroupName)
{
}
public SharedParameterDefinition(string groupName)
{
GroupName = groupName?? DefualtGroupName;
ParameterType = ParameterType.Text;
}
public string GroupName { get; private set; }
public string Name { get; set; }
public ParameterType ParameterType { get; set; }
public bool IsVisible { get; set; } = true;
public bool UserModify { get; set; } = true;
///
/// 获取参数定义
///
///
///
public Definition GetDifinition(Application application)
{
var file= SharedParameterUtil.GetSharedParameterFile(application);
var group = file.Groups.get_Item(GroupName);
if (null == group)
{
group = file.Groups.Create(GroupName);
}
if (group == null)
throw new Exception("查找参数分组失败");
Definition definition = group.Definitions.get_Item(Name);
if (definition == null)
{
var options = SharedParameterUtil.NewDefinitionCreationOptions(Name, ParameterType, true, true);
definition = SharedParameterUtil.NewDefinition(group,options);
}
return definition;
}
}
}