Hi everyone. It’s been a while since I last posted. I’ve been caught up in other projects that I’m currently developing – can’t wait to share with the comunity! But, recently I’ve focused back on the UI tools of the Data-Shapes package. The community’s reception of Data Shapes UI tools has been overwhelmingly positive, and it has been a true delight to see people getting creative with them and coming up with uses that I never though of.
Due to several great suggestions made by some of the users in the community (I’m looking at you Daniel Hurtubise), and a little of my own inspiration, I have made some additions and adjustments to the tool. This post is their introduction.
A Major update of the Revit element(s) selection input
The Revit element selection has been modified quite heavily (sorry if it messes up workflows :D), now you can apply a category filter to the selection! This means that the user will only be able to select specified categories. This lessens selection errors and ensures that the workflow works as intended. If you don’t feed the CategoryFilter input any information, the selection will have no filter:
If you don’t specify a cutom ButtonText, the button will display categories that can be selected to the user by default :
Here’s what happens when you use the selection filter (Doors and Windows is this example):
The API only offers an interface to apply filters, which I used to create a category filter class. I think this is a very useful feature that is missing from OOTB nodes. I don’t think anyone has implemented this in a custom node so far, that’s why I also added a “Select Model Element(s) of category” node to the package, independently from the UI tools :
The other addition to the Revit element(s) selection input is the possibility to limit the selection to a single element. I added this because I received a lot of feedback saying that having to press the “Finish” button after selecting a single element was a waste of time and was very often forgotten. So you can now control that by setting the “SelectSingleElement” input to true (default value is false). It will then work like this:
Update of ListView
ListView inputs are still created and used in the exact same way. However, you’ll notice the presence of “Select All” and “Select None” buttons :
Link to Help
There is now an extra optional input to the UI.MultipleInputForm++ node. This was suggested by Andreas Dieckmann and I think it’s a great idea. You can feed it a url, a directory path or a file path. A little help hyperlink will then appear at the bottom of the form and clicking it will take you to the web page/directory or will open the file:
It can open all types of files. Here’s an example with a pdf.
New inputs types!
- RadioButton input :
RadioButtons are what you need if you want the user to select one of many choices. It will display the list in a box and only one selection will be permitted. The way to set the input up is similar to DropDown or ListView inputs : you must feed a list of keys and the matching list of values. The user will be shown the keys, and the form will return the associated value .
Those who have updated the package recently might have noticed the “UI.IntegerSlider Data”. It has been around for a little while, but it wasn’t quite complete yet. From now on the “UI.Slider Data” node can be used to create slider inputs on the form with more customization options. You can set the minimum and maximum values of your slider, the default value, and the step. It can be an integer or a double slider depending on the step you set, which I think is pretty cool 🙂
- Image input :You can now add an image to the form! The input creation is very straightforward. Just feed it a file path and an image title (optional) and add it to the inputlist you give to the form. This input doesn’t return any value to the output list, like with the TextNote input.This input can be useful to give further indication/illustration of what the user is supposed to do. You can use all types of image formats, and even show animated gifs !
Hope you guys enjoy the update! Feel free to comment and share your thoughts, they’re how we improve 🙂