Replace family but maintain instance parameters?

Replace family but maintain instance parameters?

PDSF
Collaborator Collaborator
2,024 Views
16 Replies
Message 1 of 17

Replace family but maintain instance parameters?

PDSF
Collaborator
Collaborator

Hi all, hoping for a solution to something that drives me nuts. We have a "break line" family that appears in practically every detail. When we copy details from one project to another, we always get the error that the versions are not identical and so Revit duplicates it. So I go into the dupe, select each type, "select all in project" and convert them to the original one. When I do this, the instance parameters revert to the default definition. This takes literally hours to clean up if it's a lot of details. Is there any way to replace a family but maintain the instance parameters? TIA.

Before:

Capture1.JPG

After:

Capture2.JPG

 

0 Likes
2,025 Views
16 Replies
Replies (16)
Message 2 of 17

barthbradley
Consultant
Consultant

Why can't you rename it BEFORE you load into another project - or rename the one in the target project?  

0 Likes
Message 3 of 17

PDSF
Collaborator
Collaborator

I'm not sure I understand. How would renaming help? The family wants to have the same name in all instances throughout the project (and throughout all projects in the office).

0 Likes
Message 4 of 17

syman2000
Mentor
Mentor

Try tying to edit the family and set the instance parameter to 2" for left and right in Break Line SA. When you load it in, override it. Afterward when you swap, it will default to 2" instead of 1'.

 

 

Check out my Revit youtube channel - https://www.youtube.com/user/scourdx
0 Likes
Message 5 of 17

ralphdenhaan
Collaborator
Collaborator

Hi,

 

You can try this (and see if this works):

 

- open the break line family from the project you copy from --> save the family somewhere

- open the project you wish to replace the break line
- in the Project Brower go to Detail Items category and find your break line > right-click --> Reload, search the file and open.

 

This method, mostly works but you have to notice the duplicates directly. So, at your first copy paste notice if there are duplicates --> undo paste --> reload the duplicates and then copy paste the whole group again. (the families do not duplicate anymore).

 

ralphdenhaan_1-1699514331504.png

 

Select Accept as Solution and Likes are always welcome. 


Ralph den Haan, (Lazy) BIM Specialist


LinkedIn | LazyBIM Blog


 

0 Likes
Message 6 of 17

PDSF
Collaborator
Collaborator

@ralphdenhaanThat might work for a single copy/paste, but the method is typically Insert Views from File and selecting dozens of details at a time. It seems like copying them over one at a time would take more time than correcting the extents of each break line does currently.

0 Likes
Message 7 of 17

mhiserZFHXS
Advisor
Advisor

I don't believe this is because a parameter has a different value. Something has actually changed in the family so that it is no longer the same family. Someone added a parameter or replaced a line or something like that.

 

I would go into your template file, remove whatever breakline you have in there, and load the one from your detail library into it.

0 Likes
Message 8 of 17

PDSF
Collaborator
Collaborator

@mhiserZFHXSYes, this is correct. Unfortunately it seems impossible to avoid these changes due to incremental progress, and if one were to do as you say, we'd blow out the break lines in the detail library instead of the project. So the same technique I'm looking for would be needed.

0 Likes
Message 9 of 17

mhiserZFHXS
Advisor
Advisor

Do you have a single detail library that only has one break line in it? Just make sure whatever is used throughout that is what is loaded into your project template.

0 Likes
Message 10 of 17

PDSF
Collaborator
Collaborator

@mhiserZFHXSThis would be ideal, but we are in the real world where changes get made by staff in projects after the families have been imported from the template. Of course, this duplication happens with detail groups and annotations too (which also have a way of getting changed), but generally they don't have parameters that affect their display characteristics. What I'm hearing is that there is no way to do what I'm asking, so we'll continue to edit these families as we have been doing.

0 Likes
Message 11 of 17

GaryOrrMBI
Collaborator
Collaborator

Try replacing the Family Parameters with Shared Parameters in the family (update it in your family, then reload it into the project and the Detail Library file).

 

See the following screen shots to demonstrate the difference between Family Parameter and Shared Parameter behavior:

Here I insert a door Family with a given type of door and the three marked lines are the defaults for both this family and the one that I will be changing this one to.

GaryOrrMBI_0-1699559092171.png

 

Here I change the defaults:

GaryOrrMBI_1-1699559179309.png

 

Here I change the door to a different Family and type:

GaryOrrMBI_2-1699559307080.png

 

You will note that the shared Parameters "AL Frame" and "Double Acting" keep the values when switching door types (and those values are not the default for either Family/Type) while the Family Parameter "Center Frame" changes to the default defined in the type.

 

-G

 

 

Gary J. Orr
GaryOrrMBI (MBI Companies 2014-Current)
aka (past user names):
Gary_J_Orr (GOMO Stuff 2008-2014);
OrrG (Forum Studio 2005-2008);
Gary J. Orr (LHB Inc 2002-2005);
Orr, Gary J. (Gossen Livingston 1997-2002)
0 Likes
Message 12 of 17

ToanDN
Consultant
Consultant

It only works when both families using the same shared instance parameters from the beginning.

0 Likes
Message 13 of 17

GaryOrrMBI
Collaborator
Collaborator
@ToanDN
If that last post was intended to be in response to my suggestion of changing to Shared Parameters...
It does work, or at least it just worked on that exact same example that I posted, changing that third parameter (Center Frame) to a Shared Parameter in both families.
If you weren't replying to my post then, please ignore this message 🙂

-G
Gary J. Orr
GaryOrrMBI (MBI Companies 2014-Current)
aka (past user names):
Gary_J_Orr (GOMO Stuff 2008-2014);
OrrG (Forum Studio 2005-2008);
Gary J. Orr (LHB Inc 2002-2005);
Orr, Gary J. (Gossen Livingston 1997-2002)
0 Likes
Message 14 of 17

ToanDN
Consultant
Consultant

My post is a direct response to @PDSF .  And no, changing parameters to shared only helps families placed afterward, not ones already placed.

0 Likes
Message 15 of 17

GaryOrrMBI
Collaborator
Collaborator
"not ones already placed"

Very true.

In the case that the OP presented however, changing the parameters to shared in the family in the detail library file, then changing the parameter to the same shared parameter in the family in the project file (better, of course, to load the same detail item family into both documents), then importing the details from the library file would create a situation where the imported detail items are "new" in the context of the project file IE: being placed "afterward".

This was the intent of my suggestion, to address the situation in the future.

-G
Gary J. Orr
GaryOrrMBI (MBI Companies 2014-Current)
aka (past user names):
Gary_J_Orr (GOMO Stuff 2008-2014);
OrrG (Forum Studio 2005-2008);
Gary J. Orr (LHB Inc 2002-2005);
Orr, Gary J. (Gossen Livingston 1997-2002)
0 Likes
Message 16 of 17

FAIR59
Advisor
Advisor

to make it work you need a 2-step process for each family.

( length-family is the old instance parameter, length_shared is the new shared instance parameter)

first step: Add a shared parameter, link the new parameter to the old instance parameter by a formula and load into project. This populates the new parameter with the old values in the project.

replace_fam4shared_00.PNG

second step: edit family again. Delete the new shared parameter,  and edit the old parameter (length_family) replacing it with the shared parameter length_shared. Load the family into the project. As the values of the new parameter are already known in the project, there should be no changes.

FAIR59_0-1699742373812.png

 

0 Likes
Message 17 of 17

Thommy_
Advisor
Advisor

hi @PDSF ,

maybe you can try to use to pyRevit tool "Change Element type safely" (Modify panel > Edit). This tool try to maintain the element instance parameters.

Best,

Thommy


Thomas Vogt

VDC Technology & Process Manager


EESignature




Revit®, Dynamo, BIM  |  Training und Consulting in Stuttgart

E-Mail | Twitter | LinkedIn | YouTube | Facebook | Blog

0 Likes