Revit Architecture Forum
Welcome to Autodesk’s Revit Architecture Forums. Share your knowledge, ask questions, and explore popular Revit Architecture topics.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Using a nested family to create a material link

7 REPLIES 7
Reply
Message 1 of 8
elise_moss
1771 Views, 7 Replies

Using a nested family to create a material link

I assigned my students to create lighting fixture family.  I wanted them to create a drop-down list of materials within the family to allow a user to select from the list of materials.  This is accomplished by using a nested family - the inserted family has the materials defined.  The drop-down list appears just fine in the properties, but we aren't able to apply it to the extrusion.  I have tried inserting each family type and using the Label parameter, but Revit won't allow the link.

 

Any ideas?

 

Thanks,

 

elise

7 REPLIES 7
Message 2 of 8
Alfredo_Medina
in reply to: elise_moss

The lightiing fixture has a nested array of elements. In that family where the array is, the element of the array is not tied to any material parameter yet. It is still set to "none". Also, there is a material parameter in that family, that is named as "Brushed aluminum". For clarity, that material parameter should not be named with the same name of a material, but with a generic name, such as "fixture material", which can be assigned later to be "Brushed aluminum". Therefore, I recommend to rename that material, and then assign the item of the array to this "Fixture material" material parameter. Then, in the host family, select the array, and tie its material parameter, "Fixture material", to a local parameter in the host. Options for materials will be given to the user in the project, changing "Fixture material" to any material available in the project.

 

See illustration.


Alfredo Medina _________________________________________________________________ ______
Licensed Architect (Florida) | Freelance Instructor | Autodesk Expert Elite (on Revit) | Profile on Linkedin
Message 3 of 8
elise_moss
in reply to: Alfredo_Medina

I am still fighting with this.

 

Your instructions are less than clear.

 

1.  I have a family using the Generic Model template.

2. I save this family and call it Fixture Material.

3.  In the Fixture Material family, I create three materials.

4.  I create one type for the fixture material family and call it Fixture Material.

5.  I delete all the materials except for the three materials I want to assign to my extrusion in the host family.

 

Next I load the Fixture Material family into the host family.

 

6.  I create a parameter called Fixture Material and link it to the Generic Model Family.  This creates a drop-down list with the three materials.

7.  I select the extrusion.

8.  I click on the = sign next to the material field.

9.  The parameter I created in step 6 is not available in the list

 

 

 

Message 4 of 8
Alfredo_Medina
in reply to: elise_moss


I am sorry, but you are confusing some concepts. In the first sentence of your first post of October 24th, above, you wrote:

 

"I assigned my students to create lighting fixture family.  I wanted them to create a drop-down list of materials within the family to allow a user to select from the list of materials.  This is accomplished by using a nested family - the inserted family has the materials defined."

 

When you say "this is accomplished by using a nested family", right there is where you are confused, and your workflow in this new post of today is still based on the wrong assumption that a list of materials can be introduced in a host family by inserting another model family with types named as materials. That is wrong.

 

This is what you are doing, incorrectly : you are creating a Furniture family, saved as "FixtureFinish", in which you create 3 types, named as "materials", such as "Brushed aluminum", "White Flat" , and "Black Anodized". But  these are just types in the family, named as materials, not actual materials. In other words, if I name an apple as "orange", the apple will remain being an apple, not an orange.

 

Then in the host family, you are creating a Family Type parameter, and then you incorrectly classified this parameter under "Materials and Finishes", (the same analogy of apples and oranges applies here, again). If you classify a Family Type parameter under Materials and Finishes, the Family Type parameter will still give you a list of families and types; it will never give you a list of materials, because it is not a Material parameter.

 

Then, of course, your Family Type parameter gives you a list of Furniture families inserted in the host: Then you see a drop down list like this: "FixtureFinish : Brushed aluminum", "FixtureFinish : White Flat", "Fixture Finish : Black Anodized". You think that this is a drop down of materials, but it is not; this is a drop down list of the furniture families nested in the host, with the names of their types.

 

Please see the attached illustration, captured from the family that you posted on October 24, to prove all what I have explained above.

 

In this post of today, you are still basing the workflow on the same wrong technique of disguising one thing as another. That is why when you try to link your family type parameter (which you think is a material parameter) to a material parameter, you don't see the correspondent parameter on the list. Of course, because you can only link a parameter from a nested family to another parameter of the same kind in the host. In other words, you can link apples to apples, but not apples to oranges.

 

I hope it makes more sense now.


Alfredo Medina _________________________________________________________________ ______
Licensed Architect (Florida) | Freelance Instructor | Autodesk Expert Elite (on Revit) | Profile on Linkedin
Message 5 of 8
elise_moss
in reply to: elise_moss

If you looked at the child family, you would see that each Type has a material parameter and that parameter is set to the desired material.  So, that would be the apples to apples.

 

Your method doesn't provide the drop-down list of materials.  I know how to define and apply a material.  I want to be able to select a material from a drop-down list and have the extrusion change to the applied material.

 

elise

Message 6 of 8
Alfredo_Medina
in reply to: elise_moss

I have not provided any method for creating a drop down list of materials. I am just pointing out the errors I see in your approach since your first paragraph in this thread. You are confusing the usage of a Material parameter with the usage of a Family Type parameter, and you are confusing a drop down list of families with a drop down list of materials, and in your last post you keep insisting on creating a drop down list of materials, which is not possible. You thought you had created one, but it was fictitious, as I explained above in my previous post and illustration.

 

It is not possible to create a drop down list of materials in the family editor. A Family Type parameter can create a drop down list of families with its types, but a Material parameter will not create a drop down list of materials.

 

What is possible:

 

  • You can tie a material parameter of a nested family to a material parameter in the host family, and then, if a new material is selected, in the family editor or in a project, from the Materials dialog box (not from a drop down list), then the object will change its material.

    ...or...

  • You can swap different versions of a nested family with other elements of the same category but different type properties, such as materials, by using a Family type parameter, and assigning a label to one of the nested elements. This will give you a drop down list of families or types (not of materials) to choose from. 

Alfredo Medina _________________________________________________________________ ______
Licensed Architect (Florida) | Freelance Instructor | Autodesk Expert Elite (on Revit) | Profile on Linkedin
Message 7 of 8
damo3
in reply to: elise_moss

As Alfredo has outlined, I don't believe you can achieve this. And it would not be the best way. As above, Materials are best assigned from the project file, not what is built into the family.

________________________________________________________________________________
If you find posts have solved your problem, please don't forget to mark them as 'SOLVED' to help others with similar questions. - Thank you.
__________________________________________________________________________________
Message 8 of 8
Alisder.Brown
in reply to: elise_moss

Why are you trying to make a drop down list? Simply apply a material parameter and give it a default material and when loaded into the project set what the material needs to be.

 

Alternatively, you could just create 3 different types within the family, each with a specific material. Much simpler.

 

Or, if you REALLY want a drop down list, add a material parameter to the elements you want to change, save the light family so you have 3 separate files, in each file, set the materials to be w/e you desire, then, using your "method" above, nest 2 of the families into the other, and create a family types parameter to swap between the 3 different lights, thus changing the material. In a very long, complicated illogical way.

This will give you your desired output, but with a lot of work and you will end up with a much bigger file size than needed. Otherwise known as Overkill. Not very BIM like. Stick to the simplest solution.

 

Hope this helps

 

 

Alisder Brown
Senior BIM Coordinator
Scotland, UK

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report


Autodesk Design & Make Report