BILT Speaker

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

Sunday, 14 March 2021

Shared Parameters in Revit View Filters

Here is another Revit Gotcha for young and old: 

Family Editor Shared Parameters

If you add a new Shared Parameter in the family editor, you might expect that parameter to be available in a project in all situations.  You would be wrong!



Shared Parameters created in the family editor, and then loaded into a project have two entirely different (inconsistent) behaviours:

  • In Schedules, the shared parameters will automatically be available to add as fields
  • In View Filters, the family shared parameters will not be available to add as fields

This is quite confusing and inconsistent.  It can also catch you out, however experienced with Revit you might be - as I recently discovered when demonstrating how to create View Filters to a client

Schedules

If you create a new schedule  for the category of the recently loaded family, the Shared Parameter is automatically available in the list of available fields - as you might expect:  it is one of their mystical powers.

View Filters

Try the same trick with View Filters and you will probably get a nasty surprise


 

 Workaround

To make the shared parameters available for use in View Filters, you have to add them (again) as Project Parameters.


 
  

 

View Filter

If you go back to the View Filter definition, you will see that the Shared Parameter is now available as a field to be added.


As a BIM Manager, I would once have known about this Revit inconsistency - but I just plain forgot!  There is no way we can remember all of the inconsistencies.  And why should we have to?

Fortunately, Autodesk are slowly addressing some of these irritations - but it is such a laborious process.





Saturday, 20 February 2021

Cut with Voids when Loaded in Revit

When this new feature appeared in Revit about 10 years ago (v2012?), it was always a bit mysterious - it had many confusing restrictions about how and when you could use it

So, what is this family property that shows up in the Family Editor in Revit?

Autodesk Help in v2021:

"Cut with Voids When Loaded: When selected, voids created in the family will cut through solids. The following categories can be cut by voids: ceilings, floors, generic models, roofs, structural columns, structural foundations, structural framing, and walls."

That's it - all the help you will get from Autodesk on this one!  It hardly explains much about how to use it.  If you dig deep you might find more information - but there is no link to it.  

It is inaccurate in that it says "voids . . . will cut through solids".  It should say "may cut. . . "
It is also not up to date with its category list.

In Revit the tool-tip is pretty much the same, although it does at least have a diagram that shows why you might want to use it:

This is a classic example of inconsistency in help and tooltips.  I remember during beta testing that we asked for the ability to cut holes in worktops using this new feature - worktops are usually in the "Casework" category, which was not included in the list of cuttable categories.  Luckily it was added as a further enhancement a year or two later - but Casework does not appear in any lists from Autodesk, even though it was used in this illustration.

[Edit] If you dig deeper in the Autodesk Help files under 'Cut Geometry' , it does have an updated list of categories that can be cut by this method:

 "You can cut objects in a project when a family with unattached voids is loaded.

Objects that can be cut include: Walls, Floors, Roofs, Ceilings, and Structural Framing, Structural Columns, Structural Foundations, Casework, Furniture, Specialty Equipment, and Generic Models."

I recently had a requirement to use this "new" feature in a Revit family - but I could not get it to work.  So I decided to revisit exactly how to make it work:

How does it work?

  • A void form has to be created in a Revit family

  • Tick the "Cut with Voids When Loaded" checkbox in the family parameters
  • The category of the family is not relevant to this feature

  • Load the family into a project
  • Place the family in the project in a location where the void intersects with an element in the model


 

  • The element will not be automatically cut
  • Use the "Cut Geometry" command

  • Select the element to be cut, then the family with the void in it
 
  • The element may or may not be cut, depending on the following rules:

Rules and Exceptions

  • The element to be cut must be of one of the following categories:
    • Casework (not listed in the help file or tooltip),
    • Ceilings, 
    • Floors, 
    • Furniture (not listed in the help file or tooltip),
    • Generic models, 
    • Roofs,
    • Specialty Equipment (not listed in the help file or tooltip),
    • Structural columns, 
    • Structural foundations, 
    • Structural framing,
    • Walls
  • The void in the family must not be cutting anything in the family - this is the rule that caught me out recently.  To get around it I had to create two voids:
    • The first one to cut elements in the family
    • The second one to cut elements in the project 
      • [Edit]There are two ways to prevent the void from cutting elements in the family:
      • 1. You have to create the void in a location where it does not intersect any geometry,
        • then move it to the correct location - it will not cut any intersecting geometry;
      • 2.  Or create a solid where you want it, and change it to a void - it won't cut unless you tell it to [Thanks to Simon Weel for reminding me of this method]
 

  • [Edit] I have had problems with saving families that only contain a void element that is not cutting anything - but I think that only happens for in-place families.
  • Cutting only happens in a project
  • This capability does not work in the family editor - when one (cutting) family is nested into another family.  This is a very frustrating restriction - it means that you have to build additional voids into the parent family, which is a pain if you have complex angled geometry.

Once you understand those rules and limitations, you can use this capability to get families to selectively cut elements in a project.  It does have some advantages over 'Face-Based' families that also allow you to cut into a host element:

  • You can decide whether you want individual elements to be cut or not
  • It does not need to be hosted  - it can be placed directly in the model with its own parametric controls (height etc)
  • It can be moved away from or to an element to be cut (it remembers the cutting status if moved away and back)
  • This can be added to existing families (converting to face-based requires recreating families)
  • The void can be anywhere in the family - it does not have to be related to a host face in the family (as face-based families do)


I hope this saves time for anyone who cannot get this feature to work properly.  

In this example I have carefully made the void slightly bigger than the basin for clarity in the illustrations - and to make sure that water runs down the side of the basin into the casework and rots the timber.  I suggest that you make it a closer fit or use lots of silicon to seal it.


Tuesday, 1 September 2020

Revit 2021.1 and Load Autodesk Content

Revit 2021.1 was recently released by Autodesk - for those waiting on the first 'point release' before upgrading to Revit 2021, this might be time to go for it.

But wait - there is a new feature in 2021.1 that you need to know about:

"Load Autodesk Family" Technology Preview

When you install Revit 2021.1 there will be a new icon on the Insert tab:

 

'Load Autodesk Family'

This is a "Technology Preview", which means it is a finished product that is released early for any Revit subscriber to test - refer to the Autodesk Blog.  It is a cloud-based (only) tool that lets you search for and download the latest Autodesk Revit families - but it is currently restricted to that content only.
 
If you click on the icon it will firstly ask you to log in to your Autodesk account - that means it will only work with named licenses (which Autodesk is forcing us towards anyway).
 
Once logged in, the Technology Preview dialog box opens:

This content is located somewhere on an Autodesk server(s) - at this stage we have no ability to select where the content is.  We can assume that this will eventually be expanded to include other content in locations that we can choose - it is not clear whether it will have to be on the 'Cloud' or our own company servers?

This content can be filtered and searched in a number of ways:

1.  First choose your region, from the World icon


2.  Filter by Category - but sadly we can only choose One category at a time or All ('Any') - surely it would make sense to be able to choose multiple categories?
 


Search

Families can also be searched for by category name or keyword:
 




 
The resulting list of families can be viewed in a grid or a list, by clicking on the list format icon:

 


Well, what do you think?

If we had been offered this by Autodesk about ten years ago, I might have been excited - but I think that Autodesk are about a decade late to the party.  There are now so many third party content browsers out there on the market that it seems very strange for Autodesk to put any of its valuable development resources into this product at this time.  Most of those third party solutions already offer way more capability than this Technology Preview - it has a huge amount of catching up to do.
 
As noted, this is currently limited to Autodesk content.  Most companies have a policy to use only approved content - and that excludes Autodesk families and most third party families.

As a BIM Manager, you will almost certainly want to prevent your users from accessing this Technology Preview.  Luckily the Autodesk development team listened to the beta testers, and they have provided us with a way to disable the 'Load Autodesk Family' icon:

Add the following to your company Revit.ini so the button and the technology preview will not display:

[Misc]
ShowLoadAutodeskFamily=0

Make sure that you do this before you roll out any version of Revit 2021 - even if you don't yet plan to install 2021.1.  Then it will be in place in advance.

Get Autodesk Content

There is another new icon in the 2021 Insert ribbon: "Get Autodesk Content"

The purpose of this is for BIM Managers to be able to download the Autodesk content that is no longer part of the install process - refer to upgrading to Revit 2021
 
If you click on this button it takes you to the content download web location.  
  • Scroll down and find your region content.

  • Select either Family or Family Template content, and download:


Obviously you do NOT want your users to be doing this!  This is either a BIM Manager task, or no task at all if you don't want the content - most likely once you have developed your own company content.   The only exception is that you may want the latest family templates because Autodesk have a habit of sneaking little updates and fixes into the family templates.  The only way to get some of those fixes is to use their templates and recreate your own from those.

Currently there is no way to disable this functionality in the Revit.ini file (Revit 2021 or 2021.1).




Wednesday, 27 November 2019

Weird Reference Callout Rules in Revit

Over many years of struggling with Revit's numerous quirks, I have never quite figured out what the hidden rules are for Callouts.  Here are my latest thoughts after some detailed research:

Reference Callouts


When you tick the box 'Reference Other View' you get a list of possible views to reference.  That list of views is not predictable (so I thought) - however, I've narrowed down some extra rules about which views might be available:
  • A plan, section, elevation or detail view will only show in the list if it is cropped  (This caught me out at first).
  • A drafting view cannot be cropped - so the above rule does not apply.
  • A so-called "Rendering" view, which is actually like a drafting view with an image on it- so it cannot be cropped
  • Certain view family/types are available depending on the active view being placed in - see the list below.
  • If you apply the first two rules to the list of view types below, you might just be able to predict what can be referenced when.



Rules for 'Reference Other View' Callouts:

In a floor plan view, you can reference callout to:
  • Any drafting view
  • A detail Plan view (but not a section detail view)
  • A floor plan view (including Area plan and RCP)
  • A Rendering view




In a detail plan view, you can reference callout to:
  • Any drafting view
  • Any detail view (Plan or section)
  • Any section or elevation view
  • Not to any floor plan - (this is a big limitation)
  • A Rendering view

In a section view or section detail view, you can reference callout to:
  • Any drafting view
  • Any detail view (Plan or section)
  • Any other section or elevation view (But not to a floor plan)
  • A Rendering view
 
In a drafting view (or a rendering view), you can reference callout to:
  • Any drafting view
  • Any detail view
  • Any floor plan view (including Area plan and RCP)
  • Any other section or elevation view
  • A Rendering view


However, the choice of view type is not always that simple . . . .

In a previous post (about stair path arrows) I described the relative benefits of making your plan callouts 'Plan Views' vs 'Detail Views'.

You may also want to display your stairs differently in plan (compared to the standard 2D representation in plan views):

Weirder and Weirder

For more details on Callout weirdness, refer to:

Sunday, 28 July 2019

Arrays in Revit Global Parameters

Continuing with the theme of  Global Parameters in Revit . . . . .

Global Parameters and Arrays


Global parameters do not directly support arrays – you cannot associate a parameter to an array number in a model (unlike the ability to do so in the family editor).

When you select an array number in a project, have a look at the Options Bar - there is no label for you to associate a global parameter.












In the family editor, when you select an array number - there is a label on the Options Bar for you to associate a family  parameter to the array number.

 

 

 

 

 


Workaround


To work around this Global Parameter limitation, you need to build the array into an external family:
  • The family needs to have an integer instance parameter - this can be created directly when associating the array number (or created prior).
  • The array could consist of nested families or arrayed elements - it is usually much easier to control the array when it is a nested family, but that may slow response times if there are too many levels of nesting.
  • If you need to be able to schedule, tag or select individual families in the project (from the array), then the nested family should be 'Shared'.

  • Once you have associated the array number to a controlling parameter, it is wise to use that as a check parameter, to prevent users from inputting a value of less than 2 - because this would break the array.
  • You need to then create a User Input parameter, which is the one used in the project.
  • The check parameter is then driven by the User Input array number, with a check formula in place to prevent an input less than 2

  • Load the family into project then its instance property (Array Number) can be associated to a global parameter.

Once this is set up, your nested family array should be driven by Global Parameters in the project.

If you would like Autodesk to fix this annoying limitation, please go to Revit Ideas to vote:

Enable global parameters to associate to Array Numbers




Sunday, 17 March 2019

Glazed Doors in Window and Door Schedules in Revit

I started out writing this blog post about the behaviour of subcategories in nested families.  On closer investigation, the weird behaviour I intended documenting was not as I had thought - still a bit strange but not quite worthy of a post all to itself.  So I have changed tack and turned it into a discussion about how to get a glazed door family to appear in both door and window schedules.  Many experienced Revit users should already know this, but for those who do not, read on.

Schedules and Categories

Typically door and window schedules are created separately as single category schedules. Multi-category schedules have too many limitations to make them work efficiently for this task. A door or a window is usually either one of those categories, and therefore it can only appear in one of the schedules.  What if you have a window assembly that contains a glazed door? or a sliding glass door, which you want to show in the window schedule (because it is glazing), but also in the door schedule (because it hosts door hardware)?  This common requirement seems problematic in Revit, but there is a way around it . . .

Workaround:

Shared Nested Family

When a nested family is 'Shared', it behaves differently to the parent family in terms of subcategories.
For example, you might have a window parent family, that contains just a frame (or a fixed glass side panel).  Inside this could be a nested sliding door family.  Providing the door family is set to 'Shared', then it can have its subcategories independently controlled (by View Visibility) in the project;  it can also be individually selected, tagged and scheduled (as a door); the parent family can be tagged and scheduled as a window.

Nested Door Family Category Settings

Nested Door Family Subcategory

Parent Window Family

Parent Family Category

Parent Family Subcategories

Nested Door Family in Parent Family

Tagging and Schedules

Standard door and window families are normally tagged separately according to category
Once placed in a project, the combined door/window family can be tagged for either category:




Tag the whole family for the window category tag

Tab select the nested door family to tag it

Scheduling

  • The combined window/door family will appear in a window schedule. 
  • The Nested door family will appear in a door schedule

Category Visibility

This example shows a single swing door nested family in a window family (with fixed window panels either side).  In the project, both door and window categories/subcategories affect the sub-element display:
All Categories On

Door Panel Subcategory Off

Window Category Off - Door Category On

Non-shared Nested Family Categories

When a normal 'non-shared' family of one category is nested inside another family of a different category, it behaves as if it is part of the parent family in terms of categories.
Unshared Family Settings
In the parent family (in Family Editor), the nested family still shows its category when selected
Non-Shared Nested Door Family in Window Parent Family
When loaded into a project the whole window can be selected, but not the nested door family. 

Window family with non-shared nested door - in project

Changing the visibility of the Door category does not affect the nested door.
Door Category Off, Window Category Visible

Hiding the Window category, (while the door category is visible) hides the whole family, including the nested door
Door Category Visible, Window Category Off

This behaviour is as expected.

Weird Revit Behaviour:

Non-Shared Nested Families

However, if the nested families have elements of a specific subcategory (of the Nested family category - door) the element's visibility is still controlled by that nested family subcategory.  This does not really make sense if the nested family is not shared.
Door Panel Subcategory Off


This can be very confusing, as you have no way of knowing what category the nested family is, without editing the parent family.  As far as the user is concerned, the family is a window - since you cannot select the nested door in the project, the user will not be aware that it even has a nested family, let alone that a subcategory that has nothing to do with windows will still affect it.