Changing and updating Shared Coordinates in Revit can be quite a challenge. At Virtual Built Technology we often create a Revit Control File to manage and transfer project datums, shared coordinates and other compliance items for the project team.
This video describes the techniques and challenges involved in updating and instituting shared coordinates on a Revit project. It also includes the steps involved in adopting other Revit modelling standards and requirements into your file.
Here are some of the tips included in the video:
how to un-share coordinates for linked models
how to acquire new coordinates
checking that coordinates are correct for linked models
using Transfer Project Standards – Project Info as a method of fixing coordinates
other model compliance steps including: updating base point settings, transferring Phase Settings, loading a Start View for the project
copying locator elements
copying scope boxes
using Dynamo to automatically generate the required worksets for compliance
Federated Central file -> Everything else (no nested links)
Next challenge: how can we quickly promote those nested links into our federated model? Well, we currently have the module files populated, so how can we leverage those positions to promote the nested links?
Promoting Nested Links
It is a bit hacky, but here is how I went about it. For each module file:
Create an empty proxy file (New Revit project, no template)
Open the Module file and resolve all link paths (so they are loaded)
Set links to Attachment
Copy / paste the link Instances from the module file (Level 0 or Base Level) into the empty file (Level 1, default level). You can use Dynamo graph above.
Save the new proxy file as ‘ModuleContainer’ or similar. We know have a file that only has link instances in it.
Open a detached copy of the Federated Central file (you can save as temporary copy if you like)
Select the current Module file,
replace with the ModuleContainer you created. Once you have done all the modules, you are ready for binding as described below.
After populating the detached Federated Central file, we just need to Bind and then Copy / Paste the free instances:
After load, Bind the ModuleContainer files to the detached Federated Central model
To do this, right-click on the file in Revit Links in Project Browser
Select All Instances – In Entire Project
In the Ribbon, click Bind Link
Untick Attached Details, Levels, Grids
Click Remove Link when prompted
Your nested links are now promoted!
Optional: Ungroup all of those bound free instances (select all from Project Browser, Ungroup in Ribbon)
Open the real Federated Central file
Copy / paste the populated free instances from the detached Federated Model to the real Federated Model. Use the Dynamo script to collect them.
Tip: Paste into a closed workset for better performance.
Close the detached one, and sync the real one
The only thing we technically ‘broke’ or lost in this process is the module link->nested link relationship. So if someone decides to move one of the nested links in the module link, obviously that won’t replicate into the Federated Central file.
Hope this helps some of you out there building or dealing with large federated models.
Revit gets a new version every year, and every year we theoretically have to upgrade our Revit files. If you are a pro-active BIM Manager, you also have to upgrade a bunch of families and other files. If you are working on certain large projects, maybe the updates are deferred for a year or two, and then you find that you have to upgrade about 800 Revit files from Revit 2015 to 2018. Obviously, they all have to upgraded at once to maintain the integrity of the data and the workflows. What is the best way to do it?
I investigated a few different options and my notes and links are list below. In my case, I decided to go with RTV Xporter Pro and its File Upgrader option. It is an extremely affordable addin (currently $49USD), considering the amount of batch processing functionality that it provides.
The very first thing to do is ensure you have a backup. In my case, I had a complete offline mirror of the Revit files, and I ran the upgrade against that mirror. Then, I could just overwrite the live network location once I confirm that everything works as expected.
I would say that another thing to do is to create some form of data snapshot of your Revit models prior to upgrade. I have a method of doing this which is pretty powerful, but its a secret (for now).
Here are the steps to upgrade a Revit dataset using RTV Xporter Pro 2018:
Set up a File Upgrader XML file (my settings shown below). As you can see, I chose to Detach and Audit and then Save the file over the top of the current file in the same location. This way, all of the Revit links should be maintained once the whole dataset is upgraded to the new version.
Open Xporter Pro link from Revit
Create Task Schedule
Import the Upgrade XML as a Batch Process
Set the Revit EXE location for the target version
After saving the task, open in Windows Task Scheduler and you can run it immediately.
The screenshots below show the important stuff from the above steps.
1) My RTV Xporter Pro Settings:
3) Creating the Scheduled Task:
4 and 5) Load Batch Process XML and Set Revit Application, like for 2018:
6) Running the Scheduled Task:
Tip: During a typical file upgrade, Revit will often come up with warnings. If you run the RTV File Upgrader task in Interactive mode, you will get the dialog box which requires user interaction (export warnings and proceed past the Revit warnings). However, if you run the upgrade from the Task Scheduler, it will automatically dismiss the warnings for you as it upgrades. Some examples are warning dialog including errors like ‘could not cut instance out of wall’. In the Scheduled Mode, this process will all happen unattended.
This is what it looks like as it upgrades (scheduled mode):
This is what it looks like as it upgrades (interactive mode):
Update 10/1/18: RTV Xporter Pro can define rules for dismissing dialog boxes, in the Task Dialog Settings. See below:
In Revit, each Link is bound to both a Type and an Instance. So you can have one Link ‘Type’ – relating to a single RVT file that is linked into the project. But it can be placed multiple times in the project, thus having multiple instances. In workshared projects, the Type and the Instance can belong to different Worksets.
Did you know you can use Linked Views to display two identical copies of the same linked model in different ways?
To add control, you should create 3 worksets – 1 for the Type, and 1 for each Instance, as shown below:
Then, set up two different Linked Views in that linked model. In this particular case, I want to use a model converted from ArchiCAD to a single Revit file. But I want to be able to separately load and display the Site objects, and the Building objects. So I have an Link Instance for each, and linked views for each. The whole rig can be seen in the image below.
Using the worksets, I can separately Load / Unload each Instance (closing a Workset unloads any Link instances on that Workset from memory). And using the Linked Views and Overrides for the Instance, I can display each instance as I like. I can also load both instances and show both in a ‘combined’ view.
Final note: Link Instances can be located in different positions in the Host model, and they can have different Shared Coordinates. Using the methods above, you have a lot of flexibility to be able to use a single linked Revit model in many different ways…
A federated Revit model is a model containing many Revit links, and they can be quite slow to work with. There are a few steps you can take to speed things up, and one of them is creating a set of fast view types and a related view template.
Make a View Template called “No Model” and untick all the Model categories in that Template
Make a set of View Types called “Fast Plan“, “Fast Section” and so on
Set the View Template for those Types to the “No Model” template you created
Now, when cutting sections or making new floor plans using these ‘fast’ view types, the view will generate quickly without any model elements. Then, you can decide if you want to switch view templates / types to something more useful for coordination or documentation.
Ok, two unrelated issues here, but both are along the lines of “weird stuff that happens in Revit that can be fixed but doesn’t always make sense”. If you use Revit long enough, you will certainly come across issues like this…
Firstly, certain Electrical penetration families were not tagging for height when using Spot elevations. These elements were in a model, which was linked into another model. The fix? Super weird one. Try turning on Lighting Fixtures in your View (in the host model). Then, those spot elevations worked… Even though the penetration family was a Generic Model with Nested Mechanical Equipment inside a link file. I’m thinking this one was either an upgrade error, or perhaps the families had some earlier history as a Lighting Fixture?!?
Secondly, I came across a Structural Consultant Design Model in Revit 2015 that doesn’t want to upgrade to Revit 2016. This is due to some corruption inside various families. Here are a few things to try… along with the ultimate solution.
1) Try opening the model in the newer version of Revit with Detach and Audit ticked, and choose Specify from the Worksets dialog dropdown. If the Opening Worksets dialog appears, Close all the Worksets and press OK. Then, Detach and preserve worksets. You should see the Model Upgrade progress dialog.
This fails with the following error: The file cannot be opened. There are too many elements missing in it. Please contact Autodesk Support.
2) Next steps are more detailed and resulted in a successful upgrade:
1. Open in 2015, with Audit and Detach, no Worksets open
2. Save As
3. Open in 2016, with Audit and Detach, no Worksets open
a. Delete families when prompted (as you can see, it is one problem Rebar family)
c. Ok to mass errors:
e. Click to resolve Join errors
4. Save As
5. Setup starting view…
And here are some model tidy-up steps that I did, just #GoodRevit with some Dynamo:
6. Make these worksets:
7. Move DWGs to workset by:
a. Getting Ids in Dynamo
d. Change Workset
e. Set workset invisible
8. Move Topo to workset and set invisible
9. Acquire Coordinates from Control Model
a. Copy / paste control model from current ST file to this upgraded one
b. Link neutral coordinate file
c. Then acquire from BMGR control file
Finally, sharing with team:
10. Save to Box
11. Open in Fed