Creating a schedule that shows what sheet Panelboard schedules are on using Dynamo



Hmm no, the sheet number is not a parameter of the panel schedule sheet instance, otherwise we would be able to see it when the properties browser when selecting the schedule on the sheet. The OwnerViewId however is a property we can get


Understandable. I was able to get a sheet name from using the elements parameter node and it was under workset parameter (post 16). However I do not know if this is a solid way of going about it. Plus I was having difficulty getting that output into a parameter for a schedule.

BTW are you saying that ownerview id has a property that we can get the sheet number from


The workset would not give us the sheet element, though, you would have to use some reg ex to split the Workset Name string to isolate the sheet number. The OwnerViewId gives us the Element ID of the sheet, which we can get the sheet element with. From the sheet element, we can get the sheet number parameter value


That why I dont want to use the output from the workset parameter. It way too long, plus I do not even know if it is a string.

I am going to give that a try tonight and let you know how it goes. Thanks for all the help and advice.


Okay I was able to get the information that I needed. Now I am stuck trying to get it to schedule. In the below image, I want to filter out the elements so that it looks the same as the top circuited node output. Once I figure this out then it will be all done :slight_smile:. I came close to doing it but a couple of the outputs was null even thou it was a part of the comparison list.


Hmmm if you want to add this information to a schedule then you would need to set parameter values to the schedule which I don’t believe to be an option (like you can’t add parameters to a panel schedule in Revit in general) - do you wish to add this information to the elements in the schedule?


I am trying to transfer the info into a shared parameter in revit that has already been set up. Right now, I just want the top circle output to be set but the node only takes elements. That why I trying to filter the bottom circle node before sending it to the set parameter node


dknight, did you ever get this working? I am working on the same effort and having troubles… figured i’d check in!


I came close but there is an issue in which it would not match correctly the exact string. I been getting busy with work and haven’t had time to figure it out. However my company is starting a Dynamo Group and hopefully I can gain some knowledge that could help me solve the problem.


dknight - i meant to post this last week but was kind of side tracked with a deliverable.

I got it working with the help of my BIM team. It’s not PERFECT, but it does the job. You need to create a Project Parameter for Electrical Equipment: “Panel Schedule Sheet” (or whatever, just update the dynamo script).

Then you can create a Schedule bringing in that parameter and organize/format as needed.

It’s not perfect since you have to run the script manually, but at least once the schedule is set up you’re good to go.

PanelSchedule.dyn (26.0 KB)


Thanks, I will look at this code along with what I have already. If things work out correctly I may be able to merge both codes together and come up with something that works consistently. Did you use any of my dyn or did you start from scratch. Also was you able to solve the issue in which it would not match the string completely. Mine worked 95% of the time. The 5% was due to instances that occur in which panel names like PP-E-01-a will now show because PP-E-01 was already found. It does not realize that there is another one called PP-E-01-a because they very similar to each other.


Yeah I think I just used your beginning portion. I haven’t had any issues yet. I used the script multiple times on about 600 panels with no errors or warnings.

That said tho - I made sure every panel was properly tagged and named prior to creating the panel schedules. I think when I was testing I had a couple of panels that were copied (so 2 panel schedules with same name) - it threw an error.


You mentioned that it not perfect. Are there things that you want to improve in the code.


This is my first Dynamo script - so I’m not even sure if this is possible - but I’d like to include error handling.


Do you want it return an exception or do you want it to stop at the error and report it then



I figured out what I did that made the program work 95 percent of the time. I was using a filter by name node to see if i can match the string from the panelboard list to the equipment list. You did this by using the get item at index node. That filterbyname node I had issues with because it does not match exact strings and that what was giving me the strange results. Humm I will see if I can create the same error in mine as well. It would be helpful to have it show duplicate panelboard schedules with the rest of the schedules in the output schedule. That one of the common errors I see on projects and it be cool if I can include that in the same file.

On a different note, this can be modified to check the panel name with it panel schedule name. I know sometimes if someone modifies the name of the panel it does not change the name in the project browser. At the moment as mentioned by you, this only works if the panel schedule name matches the panel name. if they are different then that panel will not show up in the output file



I am almost done with this project but I will need yall help. I want to show an error box showing the panel schedules that did not work with the program. This is due to them being named differently than their actual panel name. I do not know why revit allows that but it is what it is. Do anyone have any tips on how to produce an error window after the program runs.

test.dyn (39.5 KB)


Data-Shapes and Rhythm both have user dialog nodes. You could check for mismatched names and return a dialog if necessary.