Auto infill scale on sheet

Hi all!,

Since we use different views with different scales on 1 sheet I’m trying to fill in the scale on the sheet with this script to avoid the nasty “Scale as indicated” and to do it without any mistakes. In general the script works. It doesn’t take in account the scale of the Legens Views and 3D views ( camera standpoint views ) and when there is something on the Sheet without a scale it fills in blank. However, it still recognizes 3D aerial views with a scale resulting in an unnecessary “/” in my list. So I’m trying to get that one out but I’m stuck. I can filter them out with list.Transpose but somehow my filter keeps giving back empty lists. Number 29 shows the problem I’m talking about. Any suggestions on what to do next, or what I’m doing wrong, is much appreciated!

Thnks in advance,


Why do you read the scale from a Schedule and not just from the actual
Views which are on the Sheet(s)? Like this :point_down:

Your Graph looks over complicated.

I am reading the scale of the viewport, it was just hidden under the list.

and I am filtering out scales of Legend views etc. since I don’t want their scale on the sheet.

I see. I still don’t get why you use (need) the Schedule [EDIT] for updating the Scale.

Create a new parameter and assign a value, what you want to see there. You should edit family of plan and change Scale parameter with yours.

To filter out the Sheets we want to print, and to have the correct order of drawnings. We have different schedules for example say construction drawnings and ‘sales’ drawnings. And with the same schedule we can rewrite the names in Explorer so we can put them easy together in a booklet.

I am not sure what you mean, but if you mean to manually overwrite the scale parameter that Revit uses then I am already doing that. I want to filter out the given scale of a 3D aerial view from the list.

I get that… but you don’t need that same Schedule to update your Scales(?).

So the scale on the Sheets I want to print ( that are in the schedule ) get updatet since people tend to forget to do that sometimes ( often ).

the scales are a parameter I fill in by hand. It is not the automated function from Revit since that gives the Scale as indicated on your Sheet if you are hinting to that.

I thought you were doing that using Dynamo, but you are not?

That is exactly what this script is for, which works fine when I have no 3D aerial views on Sheets. But in this project I have some and then it fills in blank, which creates a / in my drawning list which I don’t want. So basically I’m trying to filter out the scale of 3D aerial views.

Do you use Dynamo also to print?

yes, so we don’t have to worry about all the different Sheet sizes.

Is that in the same Graph you posted?

No this is only for filling in the right scales.

Then this stands imo. You don’t need the Schedule part in your Graph imo.

Then what would you suggest to do to make sure I have the right sheets selected that I want to print and have updatet?

What is the problem in updating the Scale on the Sheets you are not printing?

Yep, just make a script here that updates all the Sheets for scales and nothing else.

Find all the Sheets.
Ask them for their Viewports
Ask the Viewports for their View.
Ask the View for it’s Type.
Filter the Viewports by the wanted/unwanted Types
Ask the wanted viewports for their Scales and combine those into a string.
Push to Sheet.