Copy Sheets with Views between Revit models

Hi there!

I appreciate the topic was briefly discussed in various posts on this (and other) forum, but no solution emerged, I therefore thought I will have a go.

I want to COPY SHEETS with VIEWS and all related settings, VG, text notes, view names and sheet properties between Revit models.
This could be ‘by file location’ or ‘linked model’, what is important is that I transfer set of sheets containing views between separate Central Files.

I understand this is not technically possible in Revit API, lack of this functionality has a huge impact on our workflow to the point we consider ditching Revit as a design tool. Please note I’m a designer in a large Architectural consultancy and we change our designs on weekly basis, conduct design studies individually and in teams.
Projects are large and complex, maximum design flexibility is mandatory… It is a paradox that Revit became a bottleneck in terms of our workflow, team and company structure…

I know there are ways of manually importing views from a separate model. What I want to achieve is a tool that allows me to select Sheets in one file and create a CC (same name, pre-sets, views including settings and annotations) in my Central File.

Giving up is not an option;)

Best regards,

What type of views are they? Model or 2D?

Published Drawing Sheets (General Arrangements, Sketches etc) with Model Views (Plans inc Area Plans, Sections, Elevations, 3D Views + related VG and annotations).

To put it into context, say I detach a copy of my Central Model, work in it for a week creating new design, I create sheets to document that study and I now want to bring all those sheets back to Central Model…


…views may or may not have View Templates applied, very likely Scope Box would not be used to crop the view extent on a sheet (Crop Boundary instead).

Why bring it back into central? Just use the detached copy as the new central. Am I missing something here?

Using a detached copy as a new central is not an option.

We work on a large masterplan with multiple files, many team members on each project.
One team member is delegated to re-design part of the masterplan. A detached model is therefore created.
After design studies are completed & approved, design option needs to be migrated back to main project.
This includes both model elements, 2D stuff and ALL relevant sheets created (so no work has to be repeated in central model).

Therefore all sheets created independently in a detached model need to be moved back to main model. By ‘moved back’ I mean Central Model is to have a Carbon Copy of all sheets and relevant views including text graphic settings and other detailed items, from a detached copy…

…so simply put: we want to copy drawings from one model to another without any manual tasks involved.
I do appreciate Revit does not include such functionality and a solution would likely be a rather complex definition…

Kind regards,

I’m still lost by your workflow. Are you documenting multiple buildings in a single master planning model with every building in it? If so then linking all the building models into to the master plan model for the overall documentation, and documenting each building inside of it’s own model would be a much smoother workflow. It allows for greater flexibility with this exact situation, and even works well with the printing workflow described in the other post you linked back to this. Trying to shift the spot you document stuff is kind of like shifting I don’t want to be a back seat bim manager here though, so thinking this through…

I can’t think of a good way to transfer sheets if they have 3D views on them. I don’t think sheets pose that much of an issue. Reading the parameters from model 1 and making new ones or applying them to existing sheets in model 2 doesn’t sound difficult. The views that fall on them, well those were where things get sketchy. Tried a few things at my office, they mostly fell flat and quickly failed.

I did have some success using a combination of Dynamo and the clipboard.

  1. I created a basic model with 6 cropped views and a few dimensions associated to 6 levels. I did a save as to represent the new design model and closed it. I went back into the base model, and purged all model geometry and views from the “central” model other than the default 3D view which I renamed.

  2. I opened the design model, went to the default 3D view, and used Dynamo to select all views in the model, and all dimensions in those views. I then got their Element.Id, turned the list into a single string with “;” in place of the “,” and removed the brackets from front and back of the string. I then sent this string to the clipboard with the Clipboard.SendTo node in Rhythm. It is possible and likely better to just select the elements but I wanted to use the Select By Id command to review what I was grabbing. I then added all model geometry to my selection (holding ctrl) by doing a big bounding box on the 3D view. I now had all model elements, 8 views, and a few dimension strings selected. I then did a clipboard copy.

  3. I went into the 3D view of the “central” model, linked in the design model, half toned it, and then pasted the contents from the clipboard. Alignment was done by moving the exterior corners to match the link. The views which had dimensions carried their dimensions. I am assuming other annotations would move as well but I can’t confirm (too much of my own work to do). Area boundaries might be an issue as they don’t show up easily. Also plan views were renamed to “temp level” so you’ll have some renaming to do. Better than recreating all the efforts though, and a very easy scripted fix.

You will still have to recreate and pack the sheets, but I think that could be done with a second script that reads all sheets, gets the views and their location, and writes everything to an excel file. A 3rd script could create the sheets and place the views accordingly.

Generally I hate using the clipboard to move stuff between models, specifically with complicated pieces like this. It’s apt to cause corruption in the long term, so you’re kind of playing russian roulette with your project. If possible, I’d changing up the workflow so that it works with the software and takes advantage of it’s benefits rather than fighting it. Until then, the clipboard may be your only option.

Hopefully this works out for you. Let me know if you get stuck and I’ll try and help as time allows.

1 Like

That’s the reason we work with a separate printing model. This model only contains the sheets, annotations and so on. I cant help you with with this issue. I think you have to hire a Phyton programmer to write the code for you. You work for a large company so there must be a budget for it…

Thanks for replies so far…
The workflow makes absolute sense when you’re a designer. You sketch, you model & you test. There might be famous ‘100 models’ produced on a project before design is substantiated and ready for execution. Imagine file size & related list of errors after few years when 100 models are prepared in a single Central File!
Having a ‘printing model’ makes sense with drawings bigger than 1:200 (Site-Wide Plans, Elevations etc). It is however not practical for design development or in fact any building-related drawings. You still need to establish views to model the building anyway, right?.
Than you print, sketch over, model again. You take your drawings to meetings, send them to people.
Sheets need to be in this same file where the modelling process takes place.
On larger projects for various reasons (beginning with file size) this is likely to be a detached model until the design is ready to be incorporated into rest of the project.
You need maximum design flexibility and I therefore do not understand Autodesk’s approach in this matter. Do they envisage Revit being used for tender & construction phase only (once design is not prone to any substantial changes)? I admit, Revit does present significant advantages over CAD during that stage, it is however a crap design tool.
Copying sheets (drawings as we call them once printed) between files would likely change that…

Hi @marcomatato

I this case my workflow would be with shared site,linked files switched on/off and Phasing/Phase mapping…
New sheets for every disign proposal which can be reproduced, revisioned and archived.


I know I can manually create sheets with a CC of views in a new Revit file (make them look the same).

The holly grail is to have drawings copied between files, so no work has to be repeated and therefore no time is wasted ever again…

@marcomatato, I think you missed the point which was being made by both me and @markmaas and now @Marcel_Rijsmus. Revit is more than capable as a design tool once you understand how to work with the data structure.

That said, this forum is for Dynamo usage not dissecting eachothers preferred workflows. So if you really want to move views and sheets between models look into the workflow illustrated above, as that is as close as I think you will get for now.

I simply need to copy drawings from one file to another… This is how we always worked.

It’s achievable as I’ve been developing such a script, however it is dogged with pitfalls and is highly complex. For example: if the destination file doesn’t have the same View Families or View filters then the views will look different. Elevations are created from markers and there is no direct way to locate the markers. If the building has been re-positioned there is no way to accurately calculate the translation…the list goes on and on. However, once the complexities are understood…it then becomes feasible (this is not an open-source project before you ask!):


@markmaas - what happens to all the Keynote Tags once you load a different link file?
Do they maintain association, pick up the new ones?

Keynotes aren’t supported as they’re not exposed in the API.

Your video looks promising & such tool would have very positive impact on flexibility in BIM (currently limited), our workflow, teams & companies structure and inherent design capability in general!

I agree with @Thomas_Mahon.

It is possible and I did something like this for a project of mine using the ElementTransformUtils class as this has some methods that make this simple. It almost works like TransferProjectStandards so you can copy over ViewFamilyTypes and Filters etc copy view to view and you can get the transform for the crop regions/section boxes if you aren’t using scope boxes, but there are still limitations and I also found it to be tedious but not impossible. However, I only did what I had to do to for my project and no more so there are probably many more pitfalls than I stumbled into.

If you are just using this for printing, you can just link all models and then print linked models sheets as explained here…

Perhaps use a yes no parameter in the sheet view to indicate if this is good for for printing and filter those out.

If you blow up a wall everything attached to it will be gone also. But that’s the same with you’re workflow. But I will follow this issue. If there is an solution I will be as excited as you.