An interface that should be implemented to provide the implementation for a accessibility check for a Revit add-in External Command.
Namespace:
Autodesk.Revit.UI
Assembly:
RevitAPIUI
(in RevitAPIUI.dll) Version: 23.0.0.0 (23.1.0.0)
Syntax
C# |
---|
|
Visual Basic |
---|
|
Visual C++ |
---|
|
Remarks
This interface should share the same assembly with add-in External Command.
Examples
Copy
C#
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;
}
}
Copy
VB.NET
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.BuiltInCategory = BuiltInCategory.OST_Walls Then
Return True
End If
Next
Return False
End Function
End Class