I come from the grasshopper world where there are very few “types” of model elements you can select and grasshopper makes it extremely simple to say, “I want to select this sphere” and you can easily search for a node that is simply called “sphere” then you go to rhino and physically click the sphere. I understand Dynamo is different but from my experience with Dynamo, there seems to be 800 ways to select something yet I cannot seem to understand the best or easy way to do it. For example, I want to just select a schedule to view data and add schedule values to see what a number. I cannot even begin to select a schedule to save my life and seemed to have tried every node and downloaded god knows how many packages.
It seems to me that Dynamo should have a simpler way of selecting revit elements. There are tons of them so having a node that starts from very broad to more detailed seems to make sense to me. This might consist of a drop down that first asks what category of an object you want to select then another from which you select a specific view or a selection. My understanding is that there are plenty of nodes that do all of this but I have not used Dynamo enough to know this. I hope this does not sound like complaining because I am by no means complaining. I am just trying to understand Dynamo’s selection process better as it does not make sense to me. I think it is primarily frustrating to me because I know grasshopper and know revit so well, but I also understand I am more new at this than not. Could I get some basic help when it comes to selecting schedules? Thank you and sorry for the rant. Really appreciate all the help!
Schedules are views, which are unique elements which don’t actually contain the data you’re after (the elements in their parameter values which are shown in the schedule).
To get elements shown in a schedule, you need to select them in the same way the schedule does. This is the “All Elements Of Category” node. It takes a category (which is a separate node with a drop down as you mentioned) and selects all elements of that type. So if you wanted to see the elements shown in a basic curtain panel schedule you could do this:
Obviously your initial schedule shows everything with whatever parameters you wanted to see, so you had to add some filters. Dynamo has a means for that too, the node “List.FIlterByBoolMask”. So if you wanted to only see elements which had a “yes” value for “Operable height incorrect” you could do this:
While you may know grasshopper, Dynamo is different because Revit is VERY different than Rhino, and as a result you need to build a new foundation of methods and techniques to be able to use it. Run through the Dynamo Primer, cover to cover, you’ll learn a lot and be able to really understand the differences between the two.
Thanks! I really appreciate it, I sure will run through the primer. I forgot about it to be honest. To me, that’s a lot of hoops to jump through but I know what you mean by how revit selects objects. Would you suggest learning the basics of C# to understand how revit works in the backend along with reading the dynamo primer?
My ideal method if I were starting today with what i’ve learned in the last year or two: Start with the primer. Learn to use just nodes as they are. Rebuild peoples scripts piece by piece. Then move onto design script, and finally move onto the API and python. I went into python too fast and got frustrated as it’s much harder to troubleshoot than nodes are, so for a beginner with dynamo and Revit interaction it can be VERY frustrating.