An interface that should be implemented to provide the implementation for a accessibility check for a Revit add-in External Command.
Namespace: Autodesk.Revit.UIAssembly: RevitAPIUI (in RevitAPIUI.dll) Version: 21.0.0.0 (21.1.1.109)
Syntax
C# |
---|
public interface IExternalCommandAvailability |
Visual Basic |
---|
Public Interface IExternalCommandAvailability |
Visual C++ |
---|
public interface class IExternalCommandAvailability |
Remarks
This interface should share the same assembly with add-in External Command.
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.Id.IntegerValue == (int)BuiltInCategory.OST_Walls) return true; } return false; } }

Public Class SampleAccessibilityCheck Implements IExternalCommandAvailability Public Function IsCommandAvailable(applicationData As Autodesk.Revit.UI.UIApplication, selectedCategories As CategorySet) As Boolean Implements IExternalCommandAvailability.IsCommandAvailable ' Allow button click if there is no active selection If selectedCategories.IsEmpty Then Return True End If ' Allow button click if there is at least one wall selected For Each c As Category In selectedCategories If c.Id.IntegerValue = CInt(BuiltInCategory.OST_Walls) Then Return True End If Next Return False End Function End Class