Hi, I’ve been working away at this and working through the problems you mention. I’ll post the latest version tomorrow FYI.
I’ve started linking it up to include the other levels. It looks very messy at the moment but it works and I can follow the logic but it might look a bit convoluted! It runs very quickly though so no issues with that.
I’m also thinking about having an output with a watch node that shows any views that weren’t updated i.e. named differently / incorrectly so nothing is missed. If the stragglers are highlighted they can be updated manually rather than trying to get too extravagant scripting every possibility. This seems to me like it will be the best trade off…
Also I’ll have a look at your script too, thanks for posting!
I am thinking along the lines of getting my list of views first, and then pulling the “Associated Level” parameters from the views. But I’m not at all adept at managing lists - lots of trial and error to come.
A rough, incomplete progress graph is attached if you’re curious
Place Room Tags vX.dyn (116.4 KB)
That’s a great idea. I’m the exact same the ideas come easily but building the graph is a different story !
I had a look at your original graph, it’s quite similar to mine but I chained together the ‘Boolean filters’ so that the list gets smaller and smaller. I figured this would use less processing power and at the end of the chain I’d be left with a list of views that the room tags hadn’t been applied to.
I also found I was getting view templates appearing in amongst the views, the API sees these as floor plans it seems so I figured out a way to make sure these get filtered out just in case. I’ll post my graph and I’ll also show you an example of this, hopefully later on when I get onto my PC.
I filtered the views by an organizational category we use internally - and that filtered out the view templates nicely.
Note - in the first posted version, one node is mis-wired in the filtering for “500 series” - look at any of the other three series to see how it should have been connected.
I think, (and again, I am not good at this), is to generate a nested list of rooms where the top level of the list is the level associated with a view, and the second level is the rooms on that level. That’s probably second nature to someone who creates a lot of these graphs, but it’s black magic to me.
Our graphs follow the same logic but mine is slightly different in that I’ve chained the Boolean filters output node to the next input so the list filters down as it progresses. This helps to identify views that never updated, because as you say incorrect naming is a problem. This is why I wanted to filter out the view templates, I don’t want them in the final list.
Room Tags - Place Automatically - By level.dyn (215.4 KB)
I filtered the view templates out because it’s listed in the workset name. The workset names are just numbers in Dynamo but I found this piece of Python code to convert to the name: Getting worksets Name
I also replaced the family type selection node with a preset selection, because this often reverts back to something other than room tags and it could end up placing another symbol thousands of times!
1 Like