BILT Speaker

BILT Speaker
RevitCat - Revit Consultant
Showing posts with label element. Show all posts
Showing posts with label element. Show all posts

Monday, 19 August 2019

PS - Update on Hide Zeros in Revit Schedules

Following on from my previous post about Hide Zeros in Multi-Element per Row Schedule, here is a simplified version of the schedule formulas - as noted in a comment by Kovyljan.

. . . . . When using the percentage formula, we can cut out one calculation field by changing which field the percentage is taken from:
"Schedule Count" instead of "MyCount" - since both of them have a value of 1 (or 0/Blank) when the schedule is expanded.

  • The 'MyCount' formula can then be changed to take on the role that 'MyCountTotal' had in my previous version:
    if(Schedule Count / MyPerc = 0, Blank, Schedule Count / MyPerc)

  • Make sure that 'MyCount' is formatted to not calculate totals - otherwise you'll get totals of totals per room.
 

  • Hide the 'Schedule Count',  'Blank' and 'Count' columns (Count is only required for checking anyway)
  • Rename 'MyCount' to whatever you need.

For more detail on this technique, refer to Hide Zeros in Multi-Element per Row Schedule
and Using Count Parameter in Schedule Formulas

Wednesday, 12 December 2018

Weird Railing Stuff - part 14 - Railing Baluster Height Top Offset

Balusters have always been completely confusing in Revit Railings.   However, one baluster property used to be quite straightforward:  the baluster Height, which Revit seemed to handle quite well - providing the baluster top constraint was set to the appropriate rail element.  In earlier Revit days, baluster height could be set as an absolute value, or could be attached to one of the rail elements:

Revit Railing Rail Element Definition


Each of the named 'Rails' were available as a top constraint for balusters - whatever names you gave to the Rails were shown in the drop-down menu 

In the old Revit railing method the highest 'Rail' usually represented a handrail or top support/fixing rail of some kind - and this would be a good constraint for the balusters - if its height changed, all the balusters would adjust accordingly.  It didn't really matter what you called the Rails (but it does matter now - see below).

A Cat Among The Pigeons

A few years ago, we were given new specialist system defined railing elements "Top Rail" and "Handrail".

The original rail elements remain available in the UI for use as mid rails for example (although can still be used to represent handrails).  This means there are now three different ways to define the continuous rail elements.

At this point, Baluster top constraints became very confusing and inconsistent . . . .

Baluster heights can still go up to the old Rail elements.  They can also go up to new 'Top Rail' Elements but not to new 'Handrail' elements. 

Some railings have only handrails without top rails, so that is a totally ridiculous restriction.

Rail Naming

The old style Rails, might have the same name ("Top Rail") as the new system name of "Top Rail", particularly as that was a common naming convention in old style railings.


This could be very confusing as they both appear in the Baluster dialog drop-down menu - in order to avoid a conflict  the word "Element" is added as a suffix to the system family.  This drop-down menu is the only place it is so named.  Get used to it!

What I recommend is to rename any old style Rails that may represent handrails or top rails - this will avoid any confusion. 



A better solution is to use the new system family rails for either handrails or top rails and then remove the old style rails that used to represent handrails.  Even though the new system Rail families have been available for at least five years, you will find many railings that are set up the old way, so you will need to fix them.  The reason for the old style railings hanging around so long is partly because old railings are not upgraded to new style ones when an old project or template is upgraded - this is amply demonstrated when you look at the Autodesk sample file, which has never been fixed!!!  Thankfully Autodesk did fix their supplied project templates - but your company templates need to be manually corrected.

* NB. The new style handrails/top rails are mostly better than the old ones - but not in every situation.  The old rails could go around a tighter corner on a half landing, where you have limited space [they both break but the older ones in a better way].  However, on balance I prefer to go with the new ones and live with that shortcoming and the many confusing inconsistencies built into them.

Warnings

When you do fix your old railings, and you replace old style handrails with new ones, you may get an error message when you delete old handrails/top rails:

When you try to delete an old rail from a railing definition, Revit may warn you that it will reassign the height reference (for balusters).  If you say Yes, you might expect Revit to make an attempt to resolve it.  This is in fact quite misleading, because it usually fails abjectly:


The balusters cease to exist until you go in and manually correct their top constraints, which will most likely be unassigned:

Confused by all this?  That is not surprising - go in to your project template and check all the railings, and it may start to make sense.

Wednesday, 20 September 2017

Revit's Most Hidden Commands (part 5) - Selection Locks

The title of this post is somewhat ironic - because the command in question is right there on screen, all the time in Revit.  However, it is remarkable how many Revit users never see it and don't know what it does.


I'm talking about the Selection Locks at the bottom right of the screen, in particular the one called "Drag Elements on Selection". 

It used to be called 'Press + Drag'.  I didn't like it then, and I don't like it now.



In the words of Captain BIMCad, it is the "Little Button of Evil".  I am glad that someone else considers this little icon to be the bane of Revit Users lives.

It is astonishing how many Revit users do not have this set correctly - unfortunately the default out of the box Revit setting is wrong.    Just Plain Wrong!   Downright Evil!

The correct setting is for the little evil icon to have a red cross on it so that users cannot select and move an element with one mouse movement - something that is all too easy when trying to make a multiple selection by dragging the mouse.  When  "Drag Elements on Selection" is disabled, the user would have to select an element, let go of the mouse button then click and move again - that is a more definite action that is unlikely to be done by mistake.

To solve this once and for all, you need to have a BIM manager that sets this properly in your Revit.ini file, and an IT team who understand how to roll out Revit.ini files to all users (that is a challenge in itself).  The fall back position is to manually check (and change) the setting on every computer in your office, for every user profile, including whenever a new person joins the company.

The other selection locks are extremely useful, but cause endless confusion because most users just don't see what is right in front of them.  The same settings are also available from a drop-down menu below the selection icon at the far left of the ribbon.

It is really important that everyone makes the best use of these, so that you can avoid accidentally selecting things like underlays, linked files and pinned elements.  Obviously you just disengage the locks when you do need to select any of those elements.  and remember to re-engage the locks afterwards.  But never, ever disengage the 'Drag Elements on Selection' lock - it should always have a red cross on the evil icon, and not be ticked/checked in the drop-down menu list.

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