Add Schedule on Sheets

Hi Everyone,

I’m try for a while to add a simple schedule on a sheet. I’ve already managed to set the location of a view (2D and 3D) on a sheet, folowing a template, but I just can’t find the way to do the same with schedule. I have the feeling that they are not seen as the other view by Dynamo. Do you have an idea to do this?

1 Like

I think you can do it the same way as with views (a schedule is a view). Though you might have to create a new schedule instance, I don’t remember. Can you show us what you have so far?

1 Like

Well, it doesn’t works the same way as with view actually… It gives me an error message, you can see :

Is your problem with duplicating the schedule or placing it on a sheet? Schedules do not get duplicated the same way.

Is just placing… I already duplicated them, this is not a problem anymore :wink: Any advice to place them on a sheet?

The error says t is too big for the titleblock… my only thought is to try adding a filter to the schedule so it has 0 elements in it, then place it. If that works, modify the schedule so it has the correct filters AFTER placing it.

Alternatively you could try modifying the script to allow insertion of the schedule after the sheet has been created.

Well, thanks for you advices Jacob, but adding a schedule to an existing sheet is not possible, or seems not to be… here is the error I get :image

And I can’t realy modify the schedule once it’s place, cause would be too long. The main purpose of this program was to duplicate an existing schdule by just modifying a single parameter and to place it on a sheet…

So when you say you’ve duplicated the schedule do you mean you have multiple schedules showing in your Project Browser or that you’ve created new schedule graphics? Schedules are views but they work more like families. The schedule view is like the family type but you actually place schedule graphics, think of it as the family instance, on the sheet. I believe you have to create the schedule graphic as a function of the schedule view and the sheet it’s going on.

I don’t realy understand the difference between schedule views and schedule graphics. I have duplicated schedule so I can see many schedules in my project browser. When I drag them and drop them in a sheet, it works perfectly, but when I try to do the same with dynamo (as shown in the picture from my previous post), it doesn’t seems so recognize it…

When you drag a schedule view onto a sheet it creates a new schedule graphic instance. Part of the point of schedules/legends is that they can be placed on multiple sheets. You don’t need to duplicate the schedule. You need to create a new schedule graphic. I know it’s available somewhere in the API but I’m having trouble finding it right now.

newSchedule = ScheduleSheetInstance.Create(doc,sheet.Id,scheduleId,point)

1 Like

Have you come across this topic…it places schedule on sheets

@Nick_Boyts, how do I use this? I mean, is there a way getting it in dynamo without “coding”. If I can, I don’t want to do some python or C#…

@4bimfercesp, thanks, but I don’t realy see how it helps… I try using the node with schedule and it didn’t work, without any error…

Afraid not. You’d have to use Python. Which I would highly recommend you look into at some point. This is actually a fairly simple method to code.

1 Like

Have you checked out this forum post?

You have to place one legend/schedule on a sheet, and then it will copy to the same place on all other sheets you choose. Very good, and works straight out the box!

Sorry to bring up an old thread, but this is the only information i have found for placing schedules on sheets. However i would like to have a script that places 4 different schedules on any sheets with the name “footing”, negating the need for datashapes and the user having to select which schedules are placed and on which sheets. I’ve looked at trying to modify this script to get it to work but it’s completely different from what i would expect. Is it possible for a script to be able to do this with schedules?

For starters, I would recommend that you start a new topic rather than comment on a post that is several months old. You can then link this post for reference, but may get you and others a better result.

That said, may I ask what you would expect?

Here is what you should do.

  1. Sheet Category

  2. All Elements of Category

  3. Filter with Bool mask by Sheet Name contains “footing” (sheet input of Viewport Node)

  4. Schedule Graphics Category

  5. All Element of Category

  6. Filter with Book Mask by Schedule Name for the ones you need or select another way. (View input of Viewport Node)

Get the location information for where you want the four schedules to be. This is why using the template schedules in my post is easy because you don’t have to do any work, just lay them out and let Dynamo get the location. (Location input of Viewport Node)


Just make sure you cycle the views for each of the sheets or use some other list management to make them equal length.

Thanks Sean, sometimes people ask to keep all relevant questions in the one thread but i will remember this for next time. Thanks for helping me out - I think i’m pretty close, but cant seem to get the schedule to filter/bool. I have attached my graph, and the name of the schedule i am trying to add to my sheets. The sheets are selected fine, but my dictionary “match” list is empty, to me it looks like Dynamo is not selecting the schedule - possibly due to the way i have named it? Either that or i shouldnt be using the list.filterbystring node.


Use and Element.Name node between the All Element and the List.FilterByString. Right now you are trying to filter against what you see in the preview which are just instances and not anything you can match.

Ah ok. I have done that and am getting a new error. The “viewport.create” node has an error of ‘viewid cannot be added to the viewsheet’ (see attached “run 1”)

I currently have two zones setup in my project - Zone A & Zone B. I had originally manually placed the schedule on both sheets, but then deleted the schedule from Zone A, but left it on Zone B for this trial.
When i delete the Zone B sheet that I am trying to add the schedule to, I don’t get the error but i get an empty list in my “list.filter bystring”.

I would say this is because there is no ‘instance’ of the schedule on any sheets now, it is only in my schedules list. Would this be correct? Would it be easier to upload the revit file and dyn script for troubleshooting?