public Result Execute(
ExternalCommandData revit,
ref string message,
ElementSet elements)
{
UIApplication uiapp = revit.Application;
UIDocument uidoc = uiapp.ActiveUIDocument;
Document doc = uidoc.Document;
int nCategories = 0;
int nSupportType = 0;
int nSupportInstance = 0;
bool bType, bInstance;
foreach( BuiltInCategory bic in
Enum.GetValues( typeof( BuiltInCategory ) ) )
{
bType = BicSupportsTypeParameters( bic );
bInstance = BicSupportsInstanceParameters( bic );
++nCategories;
nSupportType += bType ? 1 : 0;
nSupportInstance += bInstance ? 1 : 0;
Debug.Print( "{0} {1} instance and {2} type parameters",
bic,
SupportsOrNotString( bInstance ),
SupportsOrNotString( bType ) );
}
string caption = "Categories supporting type "
+ "and instance parameters";
string msg = string.Format(
"Tested {0} built-in categories "
+ "in total, {1} supporting instance and {2} "
+ "supporting type parameters.", nCategories,
nSupportInstance, nSupportType );
Debug.Print( "\n" + caption + ":\n" + msg );
TaskDialog.Show( caption, msg );
return Result.Succeeded;
}