Fellow Expert Elite Karam Baki has posted an interesting workaround for ‘converting’ between differently hosted Revit families. The term converting isn’t quite accurate, really we are just ‘nesting’ the hosted family into another family until we get to the hosting type that we want. There are times when this will help you, but other times you may go through all of this and then decide “hey, I should have just rebuilt that family properly from the start because Revit keeps crashing now” 🙂
Load your hosted family into that special family and host it onto the object that it wants (Wall, Floor, Ceiling, Roof)
Work with parameters as needed, link them through etc if needed.
Save As ‘unhosted’ version of your family
If needed, nest this again into a new, clean family based on whatever category / hosting you want
Get origins, void cuts, openings working and link through the necessary parameters…
As a general comment, I’d say you should test thoroughly in your own environment, because this whole workflow is not really ‘#GoodRevit’ in the sense that we are breaking certain rules to get the results we want.
Along similar lines, you may remember the Copy / Monitor hack that allows converting between some different types of hosting: Convert Family from Wall to Face based
I have posted about SysExporter a few times before, but here is a little reminder… You can use SysExporter to grab text from almost any dialog box in any program in Windows. Let’s say you have a list of missing materials in a Revit Render dialog box. You can use SysExporter to grab that list so you can find the material images and rectify the problem.
Here’s how:
Render a scene
When the missing material dialog pops up, start SysExporter
Find the dialog in the list (you can use the target to drag and drop onto the Rendering dialog)
Once you find the list of names, you can copy / paste them, or export to a file
Find the missing materials and point your Revit install at them using the Render Appearance Paths in Revit Options.
This site usually focuses on intermediate to advanced workflows and topics, but here I just wanted to mention a couple of getting started resources that you may find useful. There is a new and comprehensive video playlist on the BIMscape channel, and I have embedded it here:
Revit Wants you to have a unique Detail Number for each Viewport placed on a Sheet. This makes total sense, and allows you to trace from a Referencing View, through a View Tag (telling you which Sheet and Detail Number that View is on), and back again… The Viewport knows which Detail Number it is, and which Sheet is referenced from.
Ok, that is What Revit Wants. And in fact, it doesn’t allow you to have duplicateDetail Numbers,
… because that would be madness, right? Well, in some Architectural firms, they may have drafting standards which indicate something like this:
We will reference Interior Elevations from our General Arrangement Floor Plan
The View Tags will have letters a, b, c, d and so on for each Room
These Interior Elevation views will be placed together on Sheets
We will append the Room number to the Detail Number so that we can figure out which Elevation a is which…
Meaning that there will be multiple Detail Numbers that could be the same on each Interior Elevation Sheet
I’m not going to speak to the validity (?) of this logic, but lets just say sometimes drafting standards from past ways of doing things don’t mix so well with Revit. How do we work around this problem?
I’m not so proud of this, but it is one of those hacks that just seems to work…
Create the Viewport Title Tag with a Shared Parameter for the View Room Number, and the Detail number in one label together
Use a special invisible character to make the Revit program think the Detail Number is different, when it appears exactly the same to human eyes… as I said this is bad Revit
How do you do step 2? Just copy one of these characters from your Character Map and paste it after the Detail Number that Revit doesn’t want you to have. So you type ‘a’, then press Ctrl+V to paste the special character in to the Detail Number parameter:
This is the Unicode character U+200B: Zero Width Space.
Oh, and have you ever wanted to get rid of that annoying question mark in a Revit Tag because there is no value? Just put in one of these Zero Width Space characters and it will go away 😉
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.
Here’s how:
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)
b.
c. Ok to mass errors:
d.
e. Click to resolve Join errors
f.Â
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:
a. Hide-CADs
b. Hide-Topo
c. Link-Control
7. Move DWGs to workset by:
a. Getting Ids in Dynamo
b.
c. Group
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
i. Acquire
c. Then acquire from BMGR control file
d. Save
Finally, sharing with team:
10. Save to Box
11. Open in Fed
12. Glue