Saturday, 11 April 2015

Moves with Nearby Elements (Walls) - The Rules

In my previous posts on the Revit feature 'Moves with Nearby Elements' I described when you might use this property:  for keeping Area Boundary Lines or non-hosted plumbing fixtures aligned to walls without actually locking them together.

Now we need to analyse the rules of exactly what happens when you set the property and then move the walls:

Revit Help

The Revit help files state that:
The following restrictions apply to the Move With Nearby Elements option:
  • Only straight lines that are parallel to a wall are affected by this option. It is not available for detail lines, sketch-based elements, and families.
  • For arc lines, the radius remains at a constant offset from the arc wall, even if the radius of the wall changes. . . . .
  • If you copy a line or component that is set to move with nearby elements, the copy also moves with the element.
  • If you move the line or component toward another element, it then moves with that new element. For example, suppose that a straight line moves with a wall. When you move the line closer to another straight wall with which it is parallel, the line now moves with the new wall. However, if you place a wall closer to the line or component, it does not move with that new wall. It retains its movement with the first wall.
These statements are full of contradictions and puzzles.  Let us look at each case in turn to figure out what it means:

Moves with Elements

When Revit refers to moves with 'Elements' in this context,it means 'Walls' and only Walls.

Components

1. Orientation
  • Only certain categories and non-hosted types of components will move with walls - refer to 'Moves with Nearby Elements' for details of which ones.
  • Components must be parallel or perpendicular to the wall - in the following example, all four components have "Moves with nearby Elements' set. 
  •  The components at 0 and 90 degree rotations move with the wall;  the one at 45 degrees and a random angle do not;  this appears to be still the case, even if the family has a 45 degree angled strong reference plane in it, that is parallel to the wall
  • It seems to be a fundamental system rule that does not depend on the content of the family.  Even if the original geometry and front/back/left/right reference planes are removed from the family, and replaced with geometry at 45 degrees (parallel to the wall), it still only works at parallel and perpendicular orientations of the original component template (to the wall).
  •  The wall itself can be at any angle, and the components must still be parallel or perpendicular to it
 


2.  Rotation
  • If a wall is rotated, the components do not move or rotate with it
 

3. Origin
  • The origin of the component (placement point) is important relative to the end points of the wall:  The origin point must be within a zone parallel to the ends of the wall when the 'Moves with Nearby Elements' property is actually set.
  • If the component origin is placed outside the wall extents it will not move with the wall
 
  •  If the component origin is placed within the wall extents when set it will move with the wall
  • The extents of the component itself are irrelevant. 
  • But, if the wall extents are changed after the property is set, it goes by the original relationship of the component origin and wall extents - this is one of the reasons why it seems so unpredictable to the end user. A component may still move when its origin is outside the wall extents, if the wall extents are changed after the setting is applied:
 
  •  The wall extents could be well away from the component origin
  • To reset it and prevent this from happening, you would need to set the property to off, and then back on again
 
  • The origin of a component appears to mean the placement point of the component, not by the original x=0, y=0 origin - normally these are one and the same, unless someone changes the placement point by setting reference planes to define the origin
4. Move / Copy
  • If you Move a component (that already has its property set to 'Moves with Nearby Elements') from outside a wall's extents into the wall extents, then that component is treated as if its property has been reset - so it will move with the wall even though it was not moving with the wall prior to relocation.
  • If you Move a component (that already has its property set to 'Moves with Nearby Elements') from within a wall's extents to outside the wall extents, then the association is broken, and the component no longer moves with the wall.
  • Similar behaviour occurs using the Copy command
This behaviour is pretty much as expected but is the opposite of what happens when you change the length (extents) of a wall so that a component moves in or out of its extents.

Straight Lines

This example shows what happens if you apply the setting to Area Boundary lines on an area plan (where Area Rules are not applied) - in the hope that your areas will stay somewhat more up to date.  Normally the lines would be placed on the face or centre of a wall, but in order to understand the rules, the line has been placed some distance from the wall.
  •  When 'Moves with Nearby Elements' is set, the lines will associate with the closest wall - in this case the free line in the middle is closer to the wall on the right.  When the right hand wall is moved, so is its associated line.
 

  •  Undo the wall move, then move the line so it is closer to the left side wall
 
  • The line re-associates itself to the wall on the left as it is closer - as can be seen when the left wall is moved
 
  • Check this by trying to move the right-hand wall again - the association was broken so it does nothing
  • Undo the moves, so that the line is associated with the right wall again;  move the line so it is equidistant
  • Try moving each wall - in this situation, it will remain associated with the last wall it was linked to (right), even though both walls are the same distance
  • Then move the line so it is only 1mm closer to the left wall, and it re-associates to the left wall
  • Test this out, but move the left wall so the line ends up very close to the right wall
 
  • Try moving the right-hand wall and see that it has not re-associated itself with the right wall even though it is much closer
  • The difference here was that the line was not moved by the user, it was moved as a result of being associated with a wall that was moved - subtle distinction!  This is yet another cause of confusion - and apparent unpredictability

Reset

If you want lines to move with the closest wall regardless of how they were manipulated, you need to reset the association:
  • Select the line (or all the Area Boundary lines in the view), and untick the 'Moves with Nearby Elements' checkbox
  • Then retick the checkbox - making sure to use the one on the Options Toolbar (not the properties palette), because of the bug that prevents the setting from working for Area (and model) lines if you use the properties palette


Arc Lines

If you have an arc wall, it is possible to set a parallel arc Model Line, Area Boundary or Room Separation Line to move with the wall - this includes changing its radius, providing it can stay parallel.
  • In this example a model line is parallel to an arc wall (with an offset of 600mm)

  •  The model line (arc) has its properties set to Move with the wall, and keep concentric
  • When the radius of the wall is increased, the radius of the model line arc is increased by the same amount;  its arc length also increases so that its extents angle remains the same
  • The same thing happens when the wall radius is reduced;  both cases assume the wall is set to 'Keep Concentric' while being changed

  • However, if the wall is not set to 'Keep Concentric' while being changed
  •  The model line remains concentric to the wall, and both arc origin points move;  the model line arc angle remains the same so its arc length changes

Reveal Constraints

The new  'Reveal Constraints' function does not work for 'Move with Nearby Elements' properties.  At first this seems logical because it is a rule-based constraint;  but then Revit does remember which order the elements were placed and the property set - so that information must be stored in the database somewhere, in which case it ought to be able to display it for us.


For more information on the use of this feature refer back to previous posts:
     'Moves with Nearby Elements
     non-hosted plumbing fixtures aligned to walls

No comments:

Post a Comment