Donate Now Goal amount for this year: 3000 USD, Received: 1207 USD (40%)

Results 1 to 10 of 10
Like Tree5Likes
  • 1 Post By Twiceroadsfool
  • 3 Post By Twiceroadsfool
  • 1 Post By Randy_CaS

Thread: Best Practices for updating family library

  1. #1
    Member
    Join Date
    May 25, 2011
    Posts
    192
    Current Local Time
    09:10 PM

    Best Practices for updating family library

    Hello all,
    I wanted to get your thoughts on the best way to update families to the current version when the workflow is as follows:
    My families utilize heavy nesting of Shared Families, Type Catalogs and Schedule Views. I keep a separate folder of all nested families used and the big question is do I load the original family into a current version Revit project, "save as" the family to a current version library, open the family in current Revit version and save out all nested families into a current version nest library.... or.... open the original nest families in current Revit version, save as to current version nest folder and then reload into the current version family?
    I understand we should NEVER save a nested family from a Revit project as this can cause a huge issue called a history table mismatch. I have never saved a nest from a project but still had a mismatch issue somehow in the past and I really want to avoid that ordeal.
    I have done some testing loading old and current families into the same project and have had inconsistent results. Is there any documentation for best method of updating content or do you have any thoughts you would be willing to share? Thanks in advance.

  2. #2
    Forum Co-Founder Twiceroadsfool's Avatar
    Join Date
    December 7, 2010
    Location
    Dallas, TX
    Posts
    10,036
    Current Local Time
    09:10 PM
    I save Nested Shared Components out of Project Environments all the time, and i do it deliberately while updating libraries. Like all things, it matters HOW it gets done. I use one of a few different approaches, depending on what im doing. But this process always works fine:

    1. Copy entire library to new folder (for new version)
    2. Run a utility that opens and saves each component (nested or not)
    3. Batch load all nested families back in to the correct parent families

    Conversely, ive also loaded them all in to projects, and then saved them all out. You wont have a History Table mismatch if you are exporting the Parent Families AND the Shared Nested Families out of a project file, at the same moment. They will have the same exact versions. AND, its a great way to clean up some issues with family types, AS LONG AS you dont ALSO have the family opened in the background.
    cganiere likes this.

  3. #3
    Forum Addict GMcDowellJr's Avatar
    Join Date
    December 21, 2010
    Location
    Phoenix, AZ
    Posts
    2,556
    Current Local Time
    07:10 PM
    How are you doing point 3? CTC Family Loader? Do you keep your nested content separate from your host content to make this easier? Inquiring minds and all that.

  4. #4
    Forum Co-Founder Twiceroadsfool's Avatar
    Join Date
    December 7, 2010
    Location
    Dallas, TX
    Posts
    10,036
    Current Local Time
    09:10 PM
    I personally use the CTC Batch Loader.

    I organize the components in to subfolders *IF* they are something that should be classified differently (hardware getting nested in to Doors, for instance). But i dont keep them separate just because they are nested (Restroom Accessories are in the same folder as Toilet Stalls, even though the Accessories are ALSO nested IN the Toilet Stalls).

    There is no need, with the CTCBL. It has an option for "Do you want to load ALL families in to ALL hosts, or ONLY reload the nested families that are already loaded in each host?" So, i obviously typically use the latter option. Makes it run slower, sure. But its running on its own, so i dont care. So, for instance, when i make updates to the Door, Window, or Millwork Library, i go in to the CTCBL, and i dont bother discerning between whats nested and what isnt: I tell it to load everything in to everything (All families selected as hosts, all families selected as nested families). Then i make sure that option is on, and i let it worry about the rest.

    Oh, and i also make sure to run it three times in a row. Because if i have:

    FamA > (nested in to) FamB > FamC

    The first reload will load A in to B, and A in to C, but depending on the order it goes in, it may have reloaded B in to C before B got A reloaded, and so on. Most of my libraries dont go more than 3 levels deep (with a few exceptions), so if i always run it three times in a row, it covers me. Ive checked it.

  5. #5
    Forum Addict GMcDowellJr's Avatar
    Join Date
    December 21, 2010
    Location
    Phoenix, AZ
    Posts
    2,556
    Current Local Time
    07:10 PM
    Another reason virtualization makes sense. Start it running on another desktop, switch back to yours and keep working! Otherwise you run it at night and hope it doesn't have an error when you get in... or that it's done by then!

  6. #6
    Forum Co-Founder Twiceroadsfool's Avatar
    Join Date
    December 7, 2010
    Location
    Dallas, TX
    Posts
    10,036
    Current Local Time
    09:10 PM
    It's way faster than that. I run it while I work on the other two monitors.

    I would run it on a virtual if it was sapping my hardware or cramping my style, but it's typically done in less than ten minutes.

    Sent from my Phablet. Please excuse typos... and bad ideas.

    Aaron Maller
    Director
    Parallax Team, Inc.

  7. #7
    Member
    Join Date
    May 25, 2011
    Posts
    192
    Current Local Time
    09:10 PM
    Thanks for the input. Does your method work in a library that includes families with hvac/piping connectors? In my testing I have some families whose connector gets shifted and looses its association to the face it is supposed to be attached to, which feels like a versioning issue to me.

    It appears there are 3 ways for Revit to possibly assign different ID:
    1. Open and save the nested family in current version
    2. Open and save the parent family in current version (how does Revit know to assign nests with same ID as above?)
    3. Load the parent into a current project, allow Revit to go thru the update process, including nests, and save to new library (how does Revit know to assign nests with same ID as above?)

    So how can you be sure Revit will assign the same ID in the methods above? To make my head hurt even more, what if you update (2) parent families that contain 1 or more identical nests, how can you be sure a different ID won't be associated to the nests of each parent?

    It sounds like this CTC family and batch loader is the tool of choice. I will look into it, thanks for the tip.

  8. #8
    Forum Co-Founder Twiceroadsfool's Avatar
    Join Date
    December 7, 2010
    Location
    Dallas, TX
    Posts
    10,036
    Current Local Time
    09:10 PM
    Quote Originally Posted by Randy_CaS View Post
    Thanks for the input. Does your method work in a library that includes families with hvac/piping connectors? In my testing I have some families whose connector gets shifted and looses its association to the face it is supposed to be attached to, which feels like a versioning issue to me.
    Yup. Plenty of my families have connectors. Hasnt ever been a problem.

    It appears there are 3 ways for Revit to possibly assign different ID:
    1. Open and save the nested family in current version
    2. Open and save the parent family in current version (how does Revit know to assign nests with same ID as above?)
    3. Load the parent into a current project, allow Revit to go thru the update process, including nests, and save to new library (how does Revit know to assign nests with same ID as above?)
    So, i have to be honest: I really don't know what "problem" you are experiencing, here. I'm not sure what you are really asking, because NONE of this is ever a problem here, which makes me think its something you are doing on your end (no offense meant).

    A few things are true about upgrading libraries, but it doesn't mean ANY of those three methods or better or worse (in their entirety) since it depends on a bunch of other things.

    1. Both the nested components and the parent components need to be upgraded and saved in the current version.
    2. To be thorough, AFTER they are all saved, you want the nested components reloaded in the parent components. You really want to do this so when someone inevitably hits *Edit Family* on the nested component, it doesnt direct to LAST YEARS library, which it will, otherwise.

    HOW you get to that result, doesnt matter, as long as you are consistent, and arent monkeying around with the nested family in between loading it in to different parent components (i cant think of why you would be). So if you go:

    A1. Load Parent in to project in current version.
    A2. Export all families (including nested families)
    A3. Reload nested families in to parent families

    Or

    B1. Open all Parent Families and Save.
    B2. Open all Nested Families and Save.
    B3. Reload nested families in to parent families


    You will (or should, because i do) get the exact same results. The only one of your proposed methods thats completely not going to work well, is "only" upgrading the parent family. The nested family is still pathed to the old library, so this way sucks.

    So how can you be sure Revit will assign the same ID in the methods above? To make my head hurt even more, what if you update (2) parent families that contain 1 or more identical nests, how can you be sure a different ID won't be associated to the nests of each parent?
    I really dont know what this "ID issue" is you keep talking about. What happens when i update two parent components with the same nested component? Nothing bad happens at all: The nested component (in step A3 or B3) gets reloaded in to ALL the parent families, and works perfectly. This is the basis for how just about all of my libraries are built and managed, year after year, version after version. The only time problems occur (families fighting to overwrite one another when parents are loaded in to projects) its when im sloppy or in a hurry, and i dont get the nested family reloaded in to ALL parents. I miss one, meaning one has an older version.

    If i load in ten of my toilets in a project, and ANY of them throws a warning that its going to overwrite the version of the Flush Valve Family, then i know one of the Toilets (Parent) doesnt have the current version of the Flush Valve, that the others have. Step three up above didnt happen for that family. Thats a problem. BTW< all of those flush valves have connectors, and so do all the toilets. They work fine.

    It sounds like this CTC family and batch loader is the tool of choice. I will look into it, thanks for the tip.
    I really like it because i dont have to specify what families need to go in what families. Thats a lifesaver, with how my content is built.

  9. #9
    Member
    Join Date
    May 25, 2011
    Posts
    192
    Current Local Time
    09:10 PM
    Thank you kindly for the detailed response. I am familiar with the overwrite warning, but the problem is I don't get any errors while loading, but some of the connectors have lost their face. You mention when you load a family with nests into a current version (family or project environment) and save that Revit only updates the parent and not the nests. This may be where my issue is coming from as I assumed Revit would also update the nests during the process. I was trying to find a way to not have to reload all nests again and I see now that this cannot be avoided.

    Thank you all
    Twiceroadsfool likes this.

  10. #10
    Forum Co-Founder Twiceroadsfool's Avatar
    Join Date
    December 7, 2010
    Location
    Dallas, TX
    Posts
    10,036
    Current Local Time
    09:10 PM
    Ahhhh, i see! Yeah, if you were ONLY saving the Parent Family, youd run in to all sorts of issues when you go to use them later. Particularly if you then did a single edit to thenested family in ONE object, and tried reloading it.

    If they are Shared and Nested, treat managing the library like they arent really nested at all (meaning you have to upgrade and save them all, individually).

    Now, if they are Shared, and you want to "skip a step" on the batch reloading, thats where you CAN use a Project File to "help," if you are careful.

    For instance, my flush valves:

    If i make an update to "22-PLUMB-FLUSHVALVE-EXPOSED-DUAL MODE-UH.rfa" and i have ten toilets to load it in to, i can:

    1. Use an app like CTCBL
    2. Do it manually (yuck)
    3. Use a Project File

    How you do number 3, is:

    3a. Start a blank file.
    3b. Load all the Toilets.
    3c. Load the revised Flush Valve (it should prompt you with a warning to overwrite).
    3d. Now save out ALL of the Parent Toilet families, and they will have the new Flush valves in them, AS LONG AS you dont have the toilet families OPENED while youre doing all of this.

    It DOES work. When i have to make wholesale changes to Type Names, i do it this way, since its faster. But you also have to be super careful, since- depending on how you load the content, you might not have all of the types, and such, loaded.

    But that method works, too. For what the Batch Suite costs, i would just buy it and be done with it.

Similar Threads

  1. Lighting Family - Face Host, Adding multiple light sources, Best Practices
    By Orbik in forum Architecture - Family Creation
    Replies: 6
    Last Post: December 15th, 2015, 04:37 PM
  2. A360 for family library & templates?
    By cbaze in forum Architecture and General Revit Questions
    Replies: 1
    Last Post: January 16th, 2015, 08:55 PM
  3. Building Your Revit Family Library
    By Ntebo in forum Architecture and General Revit Questions
    Replies: 4
    Last Post: January 13th, 2015, 07:21 PM
  4. What Revit Wants: Door Family Library Screencast
    By luke.johnson in forum Blog Feeds
    Replies: 0
    Last Post: December 16th, 2013, 11:45 AM
  5. System Family Naming: Project vs Library
    By Gordon Price in forum Architecture and General Revit Questions
    Replies: 2
    Last Post: April 24th, 2011, 03:54 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •