如何通过 C# 获取 Revit 中的所有参数及其值?
How do I get all parameters and their value in Revit through C#?
public IList<Parameter> GetAllParameters(Reference reference, Document doc, IList<ElementId> elementIds)
{
Element element = SelectElement(doc, reference);
ParameterSet pSet = element.Parameters;
IList<Parameter> param = new List<Parameter>();
foreach (Parameter p in pSet)
{
if (p.Definition.Name.Equals(element.Name))
{
element.GetParameters(element.Name);
param.Add(p);
}
}
return param;
}
我应该从 Revit 中的元素获取所有参数,但是,这不仅仅是工作。我该如何解决这个问题?
基本上,你已经做到了。您只需要获取参数值即可。像这样:
foreach (Parameter p in element.Parameters)
{
switch (p.StorageType)
{
case RvtDB.StorageType.Double:
double value = p.AsDouble();
break;
// ...
default:
string txt = p.AsValueString();
break;
}
}
public IList<Parameter> GetAllParameters(Reference reference, Document doc, IList<ElementId> elementIds)
{
Element element = SelectElement(doc, reference);
ParameterSet pSet = element.Parameters;
IList<Parameter> param = new List<Parameter>();
foreach (Parameter p in pSet)
{
if (p.Definition.Name.Equals(element.Name))
{
element.GetParameters(element.Name);
param.Add(p);
}
}
return param;
}
我应该从 Revit 中的元素获取所有参数,但是,这不仅仅是工作。我该如何解决这个问题?
基本上,你已经做到了。您只需要获取参数值即可。像这样:
foreach (Parameter p in element.Parameters)
{
switch (p.StorageType)
{
case RvtDB.StorageType.Double:
double value = p.AsDouble();
break;
// ...
default:
string txt = p.AsValueString();
break;
}
}