RVTDocs.com
Namespace: Autodesk.Revit.UI

IExternalCommandAvailability

Interface
Description:
An interface that should be implemented to provide the implementation for a accessibility check for a Revit add-in External Command.
Remarks:
This interface should share the same assembly with add-in External Command.
Syntax
public interface IExternalCommandAvailability
Examples
public class SampleAccessibilityCheck : IExternalCommandAvailability
{
    public bool IsCommandAvailable(Autodesk.Revit.UI.UIApplication applicationData, 
        CategorySet selectedCategories)
    {
        // Allow button click if there is no active selection
        if (selectedCategories.IsEmpty)
            return true;
        // Allow button click if there is at least one wall selected
        foreach (Category c in selectedCategories)
        {
            if (c.BuiltInCategory == BuiltInCategory.OST_Walls)
                return true;
        }
        return false;
    }
}
IExternalCommandAvailability Interface Members:
Name Description
IsCommandAvailable Implement this method to provide control over whether your external command is enabled or disabled.