Just wondering if this is possible?
We work on jobs with 100’s off drawings in the Revit model,
Is it possible for the UI to contain a text search bar above the list where the user can filter the drawing list by inputting text? ie “Level 1” would filter a list of 100 drawings down to just those with level 1 in the title?
Welcome to the forum @jonny89 !
This is a great idea. We will definitely implement it.
Okay we’ll be able to include in next dot release
Look forward to the next release
The reason I’m asking is i want to set a rule for selecting sheets, so that the tick box can not be selected for some sheets on the list. I still want to see the sheet on the list just not select ones that already have a work in progress revision on. Would i be able to achieve this by editing the python code for the UI or is it impossible to achieve this from the python code and something thats built into Orkrestra UI.
Hope that makes sense.
That’s an interesting question. It is true that some ui elements can’t be added via python and have to be done in the core of OkPy, like this search textbox for exampnmle. One of our plans is to enable the creation of custom inputs in c#/wpf at some point. It will open the gates for any UI customization.
Disabeling/freezing some elements in your list could be made possible in python though. If you can tell us more about it we’ll see how we can add some ways to achieve that from the python code behind directly.
Please see point 2 below for better explanation.
Hopefully this explains the goal of displaying data and freezing some of it.
- Radio buttons for “select all” and “select none”: I was wondering if there are radio buttons available for lists that allow users to select all or none of the items. I am referring to a feature similar to the functionality provided by data shapes. Could you please confirm if this feature is currently supported? If not, I am curious to know whether it is something that needs to be added to the core of OKPY or if it can be implemented using Python.
- Graying out elements based on a rule: I am looking for a way to visually distinguish certain elements in a list based on specific rules. Specifically, I want to apply a grayed-out appearance to items in the list that already have work in progress revisions. Conversely, elements without any work in progress revisions should remain selectable. My intention is to provide a full list of drawings to the user, but highlight those that already have revisions in progress. This approach aims to make it more evident to the user that these drawings exist but are awaiting further action.
In the past, when using Dynamo to create revisions, I would remove drawings from the list if they already had work in progress revisions. However, this caused confusion for some users when they couldn’t find a particular drawing. By implementing the grayed-out display, users can still see the drawings in the list but readily identify those that contain revisions yet to be issued.
When implementing the search textbox I also seized the opportunity to add the select all/none (you can see it in the little video .
I see what you mean. We’ll see what we can do about this. It would make sens to have a way to diefine colors for the items in the list through the out dictionary!
Never noticed the select all option in the video above until you point it out. lol.
Great stuff, looking forward to the next update
@m.elayoubi sorry for yet another question
How do i display a task dialogue box with a user message using okpy, is that something that is possible on the current build?
The best way to do that would be to use the Revit TaskDialog from RevitAPIUI. It even allows to collect feedback before running parts of your code. Would you like to see an example ?
I was able to open a task dialog box in python shell, but when i try and do it in OkPy I’m getting an error when i try to import the UI name space, any idea what im doing wrong?
See screenshot below
I managed to solve this by adding the line
How come ive seen some example online where people dont seem to add the clr. reference but the APIUI seems to import ok?
Nice @jonny89 !
Yes RevitAPIUI is needed here indeed.
Maybe the online examples were in an environment where RevitAPIUI was already loaded in the IronPython / CPython engine. We don’t have that in OkPy because we wanted to keep things as light as possible and let the developers only reference the namespaces and classes they need.