Starting in December, we will archive content from the community that is 10 years and older. This FAQ provides more information.
Hi,
I am new to Revit. I have created a new ribbon panel and added some items.
When I switch to a 3D View the ribbon panel items are disabled.
Why items are disabled ?
How can I enable them in all type of views till there is a active ui document ?
Solved! Go to Solution.
Solved by Revitalizer. Go to Solution.
Hey,
I'm pretty sure they should not be disabled just because you switched to 3D view.
Maybe you have some other command\transaction running or a messagebox\window open?
Press escape once or twice and check if there is no open windows in the background from revit or revit addins.
Hard for anyone to say if you share no code indicating what you have done to create the items on the ribbon.
e.g. have you implemented IExternalCommandAvailability at all if so how?
For login button there is no AvailabilityClassName.
But for other button there is.
public bool IsCommandAvailable(UIApplication applicationData, CategorySet selectedCategories) { return UserData.Instance.LoggedIn && (applicationData.ActiveUIDocument != null); }
Other buttons are available when user is logged in and there is some active document available.
Same plugin works in Revit 2018 with no code changes.
Ribbon panel items are not disabled when 3d view is activated.
Hi,
in the Revit 2018 SDK, there is a "Revit Platform API Changes and Additions.docx".
On the very first page, it says:
"Most commands allowed in 3D orthographic views are now also allowed in perspective views."
I want to add that this API addition just reflects the changed UI behavior, from 2017 to 2018.
So it is not a problem but works as expected.
Revitalizer
So we cannot enable the ribbon panel in Revit 2017 when current view is 3D view ?
Hi,
basic knowledge of the product can answer many API questions.
In nearly all cases, the rule is:
If you cannot do it via UI, it cannot be done via API, too.
Revitalizer
We are currently experiencing the same issue. May I know what the alternative solution was? Did you end up having to not using IExternalCommandAvailability implementations on the ribbon items?
Can't find what you're looking for? Ask the community or share your knowledge.