Category GetCategory(
Document doc,
BuiltInCategory target)
{
Category cat = null;
if ( target.Equals( BuiltInCategory.OST_IOSModelGroups ) )
{
// determine model group category:
FilteredElementCollector collector
= Util.GetElementsOfType( doc, typeof( Group ), // GroupType works as well
BuiltInCategory.OST_IOSModelGroups );
IList<Element> modelGroups = collector.ToElements();
if ( 0 == modelGroups.Count )
{
Util.ErrorMsg( "Please insert a model group." );
return cat;
}
else
{
cat = modelGroups[0].Category;
}
}
else
{
try
{
cat = doc.Settings.Categories.get_Item( target );
}
catch ( Exception ex )
{
Util.ErrorMsg( string.Format(
"Error obtaining document {0} category: {1}",
target.ToString(), ex.Message ) );
return cat;
}
}
if ( null == cat )
{
Util.ErrorMsg( string.Format(
"Unable to obtain the document {0} category.",
target.ToString() ) );
}
return cat;
}