BILT Speaker

BILT Speaker
RevitCat - Revit Consultant

Friday 27 March 2015

Moves with Nearby Element - Non-Hosted Revit Families

Following on from my previous post about 'Moves with Nearby Element' in Revit, here is another use case for this under-appreciated feature:

Plumbing Fittings: Use 'Moves with Nearby Element' Instead of Wall-Hosting

The logical Revit methodology for placing plumbing fittings is to make them "wall-hosted" - and that is how most of the Autodesk supplied libraries are set up.  The obvious reason for doing this is the fact that wall-mounted basins, WCs, urinals etc need to be attached to a wall - and when that wall moves, so should they.
However, many long-time Revit users and BIM managers are trying to avoid using wall-hosted families for a number of reasons:
  • Wall-hosted plumbing fittings will be deleted if the host wall is deleted - seems logical, but how many times has this happened unintentionally?  It is especially easy to do when the fitting is off screen on a very long (or high) wall.  The plumbing fittings may have all kinds of data and annotation attached so it is no joke replacing them.
  • If the wall and fittings are part of groups, you will almost certainly run into trouble sooner or later.  Someone will inevitably put the fitting in a group, but not the host (or vice-versa);  worse still, they could be included in different groups.  Either way, a hosted object and its parent not in the same group becomes very hard to manage, and you will most likely end up with conflicts of group ownership or ghosted plumbing fittings (excluded from an instance of the group) - a very messy situation that only expert Revit users can resolve.
  • Non-hosted plumbing fittings can be used in varied situations like in vanity units without needing to have two versions (non hosted & wall-hosted), or nested families
There are a number of ways that people avoid these issues:

One technique is to create "face-hosted" components, which do not get deleted when their host is deleted.  I am not so keen on this option for a few reasons:
  • 'Always vertical' is not an option with face-hosted families, so they may become hosted directly to floors instead of walls, in the wrong plane.  
  • They also need to be modelled in the 'wrong' orientation, which is counter-intuitive
  • The plumbing fittings can end up above the view range cut-plane, if you don't adjust the height first (there are clever ways to avoid this with non-hosted)
  • The extra placement options can cause confusion 
Face-hosted placement options
My preferred technique is to use non-hosted plumbing fittings, in combination with 'Moves with Nearby Element'

  • Components are not deleted when wall is deleted
  • No issues with missing hosts in groups, automatically excluded members, or group edit ownership clashes
  • Components will not rotate with the wall when the nearby wall is rotated
  • User needs to remember to tick the checkbox (either during or after placement)
  • Angled placement is not so simple - user needs to force component rotation (using the space bar):
Angled placement
  • Hover the cursor over the wall edge
  • Press the space bar while wall edge is highlighted - component rotates to match wall
  • It even works on curved walls

Work Plane-Based
Some people like to make their (non-wall-hosted) plumbing fittings 'Work plane based', so that they can avoid issues with them getting 'stuck' to floors that Revit automatically hosts them to - an issue that occasionally shows up when components are grouped and copied to other levels - but that is a bug, which should not happen.

Unfortunately work plane-based families do not allow 'Moves with Nearby Element' so you cannot combine the two techniques.

1 comment:

  1. I know how to convert a wall or ceiling based family to a face based family.

    but I have a family that is not hosted (s. screenshot). And for that one the above trick doens't create a face-based family.
    how can i get a face based family (I would settle for making it wall based, since I can convert that one to face-based)

    My example is a hose reel, and all the families I found seem non-hosted. Ideally I don't re-create a family.
    (i already sent A-desk my feedback on wanting this an easy feature)