The problem is that parameter categories is not the same as IFC property sets.
IFC property sets is something similar to structs or classes in object-oriented programming languages. They are groups of properties. A property sets define all the properties that it contains, so a property set is an entity on itself.
At the contrary, VisualARQ parameter categories are just display strings used in the UI to make it simpler to the user.
When you import an IFC file into VisualARQ, we use the category field because it is similar to the user, but it’s not the same, in any way.
In VisualARQ 3, we’ll try to implement structs, which will map correctly with IFC property sets. In the meantime, this is what we have now.
Using a tree to output the list of parameters will make is slower, and will make more complicated to evaluate the solution. An, as a developer point of view, it makes no sense. But maybe we can add an option to the component (not a input, but an option in the drop-down menu) to group them “by category” or “by type”. Or add a “category” input to filter the output that supports wildcards or regular expressions. I’m not a GH expert, but I guess everything I’m proposing (grouping by category/type and filtering) could already be done using some GH components without any development in our side.