PDA

View Full Version : Managing Materials in Nested Families



kmarquis
2009-10-13, 07:36 PM
I'm new to nested families and shared parameters. I'm trying to figure out the best way to globally change a certain element's material.

For example, I have a shelf, then I nest brackets in, then I create a family of a whole wall of shelves and brackets and then I add that wall unit to a lab bench. What is the best way to say, "I want this shelf to be Metal-Aluminum everywhere. When I go into the shelf family I check the box "Shared" under Categories and Parameters. Do I need to create a Shared Paramter for material of the shelf? Do I then have to go into every situation where that shelf apprears and change the material?

Munkholm
2009-10-13, 08:03 PM
Karen

The "Material" Parameter on the nested families, need to be Instance parameters, in order to control them from the Parrent Family.

You could also create a new "Sub Category" under "Furniture" called "Shelfs" (Manage > Settings > Object Styles) - Then choose the shelf geometry > Element properties > Under "Identity data" choose "Shelfs" for the subcategory, and leave the material to "By Category" - Now, you can change the material of all Shelfs in the project, by adjusting the material on the new subcategory (Manage > Settings > Object Styles) :beer:
(I use this method for door panels, as they tends to be of the same material project wide, and i´m too lazy to change the material on 10-50 different door types)

Munkholm
2009-10-13, 08:05 PM
ohhh, and the only reason to make a shared parameter for a material, would be if you was to add the material type to a Schedule, or a Tag - :beer:

archjake
2009-10-13, 08:08 PM
No shared parameters required.

You must create and link parameters through to get at the material in your project.
The basic concept goes:

In Family A Create geometry and tie the material to a parameter.
(nest Family A into Family B) In Family B create a new material parameter. Then select family A and go to element properties and tie the material to the new material in Family B. If you go and nest this a third time you will have to create a material parameter in Family C and tie it through again.

Making a nested family "shared" will only allow it to show up as a separate instance in schedules.

Maybe you can find a tutorial or video online.

twiceroadsfool
2009-10-13, 08:24 PM
You dont have to Nest the Material parameters if you want to access them as the NESTED Families TYPE parameters.

For instance: I have a Door PANEL "Flush-half light", that i nest in to DOOR "Single Door."

If "Flush-half Light" has Type parameters, i can access Flush;Half Light by tabbing through it in the project, so i dont have to BOTHER accessing Door. THIS is what keeps you from having to edit the parameters in 15 different door types.

I may use Flush-Half Light in thirty different door types in the project. If i suddenly realize the door changes material, or that the half-lights size is wrong, i dont want to have to change them in the DOOR properties (which is what happens if the parameters are all instances and you tie all of them to the door). So things that are decided by PANEL Tyle i leave as types, and access from the project.

Same with materials. :)

archjake
2009-10-14, 07:08 PM
You dont have to Nest the Material parameters if you want to access them as the NESTED Families TYPE parameters.

For instance: I have a Door PANEL "Flush-half light", that i nest in to DOOR "Single Door."

If "Flush-half Light" has Type parameters, i can access Flush;Half Light by tabbing through it in the project, so i dont have to BOTHER accessing Door. THIS is what keeps you from having to edit the parameters in 15 different door types.

I may use Flush-Half Light in thirty different door types in the project. If i suddenly realize the door changes material, or that the half-lights size is wrong, i dont want to have to change them in the DOOR properties (which is what happens if the parameters are all instances and you tie all of them to the door). So things that are decided by PANEL Tyle i leave as types, and access from the project.

Same with materials. :)

I'm not sure I follow this logic. I just tried nesting a mock-up family to try tabbing to get the nested element's material. Without linking the parameters through how does this work? Perhaps you can share a simple family.

Thanks

twiceroadsfool
2009-10-14, 08:59 PM
Open up the attached project. Family 2 (the surrounding rectangle) is Loaded in the Project. Family 1 (the center cube) is NESTED in to Family 2. Family 1 is Shared. Family 1 has a Material Parameter for the Cube. It is a Type Parameter.

In the Project, if you Tab, you can select Family 1, instead of Family 2. If you go to its type properties, you can directly affect that Material for the object.

You can also place Family 1 seperately. When you change the Material, it affects all of them, including the one that is IN Family 2. (Unless, of course, you use different family types.)

archjake
2009-10-14, 10:29 PM
Open up the attached project. Family 2 (the surrounding rectangle) is Loaded in the Project. Family 1 (the center cube) is NESTED in to Family 2. Family 1 is Shared. Family 1 has a Material Parameter for the Cube. It is a Type Parameter.

In the Project, if you Tab, you can select Family 1, instead of Family 2. If you go to its type properties, you can directly affect that Material for the object.

You can also place Family 1 seperately. When you change the Material, it affects all of them, including the one that is IN Family 2. (Unless, of course, you use different family types.)

Interesting approach. I was unaware that you could tab to select a nested family to get access at the parameter. I usually link them through and if you keep both parameters as type parameters you can get the same result. By doing so you can access the parameter by going to the families element properties.

Thanks

twiceroadsfool
2009-10-14, 10:55 PM
If theyre SHARED families, you can tab select. You can also Tag, which we use for restroom requipment. The caveat is if theyre shared you cant nest TYPE properties... the reason being the approach i showed above.

Its AMAZING for doors. Panel sizes / parameters can be controlled outside of the "Door types" So that Panel A can occur in Door Types 1,3,5,6,7,8,and 9 and i dont have to go in to 9 doors to change the same parameters to make the panels match, which i would have to do if i simply nested the parameters in to the Parent Family (in that example, the 9 door types the panel was in...)

gaby424
2009-10-15, 10:16 AM
Let say we have a child Panel family with 3 types A,B,C
(not <family type> parameters used, just dimension parameters Type not Instance)

And a parent single Door family with 6 types 1,2,3,4,5,6.
(not <family type> parameters used, just dimension parameters Type not Instance)

In family editor we nest Panel family in Door family.


I`m interested to do this directly in project with tab method you describe:
make combinatintion
1-A
2-A
3-B
4-B
5-C
6-C

Than swich to:

1-A
2-B
3-C
4-A
5-B
6-C

Is this possible becouse this i was having in mind when you explained. But after check your file i findout that all I can do is something like I have to modify all A parameters to make look like B.I thought I could have acces to Type field from nested panel family to just swich to B.

Of course I understand that all Door types that contain A will have B in just one step after i Alter A parameters to look like B. I see that benefit, but this help if you have a lot of diferent Door families (not types).So you have Door Family 1 (DF1) with
A Panel.
DF1-A
DF2-A
DF3-C
DF4-C
DF5-B
DF6-B

Now the swich is simple :
DF1-A
DF2-B
DF3-C
DF4-A
DF5-B
DF6-C

But i`m used to have The door family with 3 types(3 diferent frames) paramecly driven so I`m stuck in types in a single door family not 3 families :)
Mybe my aproch is not the best :)

twiceroadsfool
2009-10-15, 12:12 PM
Let say we have a child Panel family with 3 types A,B,C
(not <family type> parameters used, just dimension parameters Type not Instance)

And a parent single Door family with 6 types 1,2,3,4,5,6.
(not <family type> parameters used, just dimension parameters Type not Instance)

In family editor we nest Panel family in Door family.


I`m interested to do this directly in project with tab method you describe:
make combinatintion
1-A
2-A
3-B
4-B
5-C
6-C

Than swich to:

1-A
2-B
3-C
4-A
5-B
6-C

Is this possible becouse this i was having in mind when you explained. But after check your file i findout that all I can do is something like I have to modify all A parameters to make look like B.I thought I could have acces to Type field from nested panel family to just swich to B.

Of course I understand that all Door types that contain A will have B in just one step after i Alter A parameters to look like B. I see that benefit, but this help if you have a lot of diferent Door families (not types).So you have Door Family 1 (DF1) with
A Panel.
DF1-A
DF2-A
DF3-C
DF4-C
DF5-B
DF6-B

Now the swich is simple :
DF1-A
DF2-B
DF3-C
DF4-A
DF5-B
DF6-C

But i`m used to have The door family with 3 types(3 diferent frames) paramecly driven so I`m stuck in types in a single door family not 3 families :)
Mybe my aproch is not the best :)

Yes, what you originally asked for is possible. BUT: What youre describing isnt CHANGING the Type parameters of the nested family, its swapping the nested family type. So in the Parent Door Family, youll have a Family Type parameter that is a selector of the Door Panel family.

What were describing is doing two different things.

What my example demonstrates is if you want to change the dimensions of Panel B (both in 2B and 5B) that you can without going in both families. But to switch them, you use a Family Type parameter.

Alos, by *dimensions* i hope you mean something like glass lite dimensions. Obviously the dimensions of the DOOR should be instance in the Panel, as they will be tied to the DOOR family itself, and driven by the door...

kmarquis
2009-10-15, 03:25 PM
Open up the attached project. Family 2 (the surrounding rectangle) is Loaded in the Project. Family 1 (the center cube) is NESTED in to Family 2. Family 1 is Shared. Family 1 has a Material Parameter for the Cube. It is a Type Parameter.

In the Project, if you Tab, you can select Family 1, instead of Family 2. If you go to its type properties, you can directly affect that Material for the object.

You can also place Family 1 seperately. When you change the Material, it affects all of them, including the one that is IN Family 2. (Unless, of course, you use different family types.)

I checked out this family and that approach works great. I'm not sure why I would need to make the nested family of the whole composition shared that goes into the project (In your case Family 2) If I have Family 1 shared and I've created Type Parameters for Material and nest it into Family 2, load Family 2 into the project I can still tab through and change the material for Family 1 and the material for the Extrusion that was made in Family 2 with just a Type Parameter.

twiceroadsfool
2009-10-15, 05:20 PM
You technically dont HAVE to make the "Parent" family shared, but i would. There are DOCUMENTED problems with Nested Families if some of them are shared and some are not. Supposedly these issues were all resolved in SP2 of 2010, but i have not had a chance to verify.

Cliffs notes: I had a parent family (unshared) that had Family 1 nested in, and three levels of nested families in there. The ONLY one i wanted to schedule was the deepest one, so it was the only one that was "Shared." Upon reload, the families would all *disappear* from the project.

But youre correct, theres no compelling reason to make it shared. Of course, theres no compelling reason not to either. ;)

gaby424
2009-10-15, 06:12 PM
"BUT: What youre describing isnt CHANGING the Type parameters of the nested family, its swapping the nested family type"

yes, indeed, but for me a family type is just a known set of values for a set of type parameters. So i`ve tryed to aply your trick to a set of type parameters by using the family type field(that is grayout as i find out).

I knew the solution is to use family type parameters but until now i find out only constrain errors when tring to swich different familes. Anyway I didn`t test it to much this chapter with family parameters. :)

twiceroadsfool
2009-10-15, 06:23 PM
A Family type isnt JUST a set of values for type parameters. It can also mean a different Family alltogether.

Still: In your example, youre doing one of two things (assuming its shared):

1. In PANEL, using Instance parameters. Then in DOOR, Nested all the parameters, and making TYPES in the Door Faimly.

2. In PANEL, using Type Parameters, and making the Family TYPES in Panel. Then in DOOR, using a Family Type parameter.

Doing the first method is fine, except when you want to change Panel "B" in both doors 2B and 5B, youll have to manually change it in both places.

Using the second method, you tab-select Panel B, change the parameters once, and youre done.

Its a simple example, but office wide, and on large projects, its a big issue.