Element parameter showing all sheets the element is on


#1

I’ve made a script that sets a project parameter. The parameter includes all the sheets any element is shown in. (Given that the element category is selected when you create the project parameter.)
That way you can select any element and it will tell you what sheets it is on. I want to see if we can create a faster and more robust script. A codeblock version would be fun, but I guess a lot of the list managment is easier to hold track of with nodes. Any suggestions are welcome!

The script is here

Capture


#2

Great idea, Jostein! It might be faster if you could iterate through the sheets directly, instead of doing multiple filters:

tiny

The only problem with the above is that Sheet.Views absolutely hates structure plans.


#3

Damn, Dimitar! This is mightily impressive piece of work. I like your work with CB, pretty cool. :slight_smile:


#4

Konrad: Agreed! :slight_smile:

Dimitar: Your last sentence is exactly why I did a workaround in the start of the script, as I tend to use structural plans quite often. Bug in the Dynamo node or Revit?
Also hope they get rid of the new line bug when you put semicolon inside of quatation marks in codeblocks.


#5

 

Dimitar-style

I altered it a littlebit to fit my purpose. Thanks for the input. I hav not been into python before, but understood some of it.


#6

Dimitar: How would you go about creating this with just ordinary nodes? Following your script works until the SetParameter node at the end. I can’t get it to work with ordinary codeblock even. Are there any tricks in using a definition compared to regular nodes/pure codeblock in terms of list managment or the way it iterates or something else completely? Maybe I’m getting blinded here as well… :slight_smile:

 

pic

 


#7

Hi Joss,

It can be done with nodes(or a CBN) but the problem is that you’ll need to stick those nodes inside a custom node to be able to process the list of sheets in the same manner.

2015-08-11_14-19-51

 

 

2015-08-11_14-20-02