//Class for shared parameters
public class SharedParameterInfo
{
public SharedParameterElement SPelement { get; set; }
public Guid SPguid { get; set; }
public string SPname { get; set; }
public ParameterType SPtype { get; set; }
public BuiltInParameterGroup SPgroup { get; set; }
public bool SPcatpl { get; set; }
public SharedParameterInfo(Autodesk.Revit.DB.Document rvtDoc, InternalDefinition iDefinition)
{
SharedParameterElement sharedParamElement = rvtDoc.GetElement(iDefinition.Id) as SharedParameterElement;//get SharedParameterElement by Id
if (null != sharedParamElement)
{
SPelement = sharedParamElement;
SPguid = sharedParamElement.GuidValue;//get guid
SPname = iDefinition.Name;
SPtype = iDefinition.ParameterType;
SPgroup = iDefinition.ParameterGroup;
//Check plate category
ElementBinding elBind = (ElementBinding)rvtDoc.ParameterBindings.get_Item(iDefinition);
CategorySet catset = elBind.Categories;
//get all categories
//foreach (Category cat in catset)
//{
// string cname = cat.Name;
//}
Category category = Category.GetCategory(rvtDoc, BuiltInCategory.OST_StructConnectionPlates);
SPcatpl = catset.Contains(category);//Check category BuiltInCategory.OST_StructConnectionPlates
}
}
}