Monday, October 31, 2005

Ignore Good Advice

I've written a number of articles about parameters now and I’ve made the “blanket” statement at least twice now, “Don’t put shared parameters in a family unless you are changing geometry.” While this is accurate there is a reason to ignore this advice. And that is, when you create content apart from an actual project environment.

My advice has been from the myopic viewpoint of an architectural firm working through a project and building their own content. They know what they want or need to schedule and build accordingly.

What if you make content for other people like a window manfacturer or playground equipment manufacturer? What if you want parameters that are specific to the products that you're building content for? What if the stock system parameters don’t suffice? Shared parameters to the rescue!

When you use one to establish the information in your family the user will inherit the information when they load it into a project automatically. Better yet they’ll be able to schedule it even though they don’t have the shared parameter file you used to create it. They won’t be able to put that information in a tag unless you provide them with one too, which is a pretty a good idea.

Now switch sides…do you (the user of this nice family) want to add that parameter to your shared parameter file? Yes? Perfect! Playing along nicely!

There are two ways to get to this shared parameter, the family or in a schedule. Either way you need to be able to “touch” the parameter so you can use the Export option for shared parameters. Revit will add the parameter to the current shared parameter file you are using.

In a family you need to open Family Types, select the parameter, choose the Modify button.

In a project schedule you need to take a look at the view properties for the schedule, view the fields, pick the parameter, then click Edit.

In either case you just need to click Export and Revit will warn you that it will add it to the current shared parameter file you have. If Export is not active you don’t have a shared parameter file selected yet. You’ll need to do so first. Use menu item File > Shared Parameter to browse to find it or create one from scratch.

The only family type that doesn't play along with this scenario is titleblocks. Shared parameters that are used in titleblocks must be "connected" to a project by adding the shared parameter to the project as a project parameter, since titleblocks are sort of a "tag" for views.


Anonymous said...

This is something that I thought was impossible. Thanks for the tip.

Brian said...

At the beginning of this post, it was said, "“Don’t put shared parameters in a family unless you are changing geometry.”"

Then, at the end of this post it was said, "Shared parameters that are used in titleblocks must be "connected" to a project by adding the shared parameter to the project as a project parameter, since titleblocks are sort of a "tag" for views."

But, earlier, in part 1 it was said, [Information only parameters need to be added to the project and assigned to a category as project parameters. This particular example doesn't even need to be a Shared Parameter because it doesn't need to be shared between the family and the project. It is only relevant in the project.]

In my case, I wish to "connect" an information only Project Parameter named "Option Value" slotted in the Sheet category to a title block that contains a parameter for the "Option Value." It is only relevant in the project, just like sheet numbers. Flexing geometry in my title block family is unlikely. So, is this accomplished with a shared parameter or otherwise? No sarcasm intended because your blog is most helpful.

Steve said...

If I understand you:

You want to add a parameter to your title block family so that you can change the value for each sheet/title block.

You need a Shared Parameter. You add this parameter to the title block family. When you define the parameter you must be careful to choose the correct data type so you can store the values you want ie; text, number, integer etc.

Once you have defined the Shared Parameter (SP) you can add a Label to the title block and select your SP. Assuming everything else is done in the title block, save and load it into your project.

In the project the parameter value will not let you edit it until you add the SP to the Project via Manage Ribbon tab > Project Parameters (Settings menu > Project Parameters in 2009).

It is here that you define whether your parameter will be distinct for each sheet or the same for all sheets.

If distinct then you assign the parameter to category: Sheets (instance parameter).

If the same for all sheets then you choose category: Project Information (Type Parameter).

Hopefully this makes sense?

Charles Blaschke IV said...

Thanks for the help, i knew it was possible but never knew exactly how to do it.

I need to export the 'Flow' parameter that is a Revit system family. When I touch the parameter I am not able to edit it.

Is it possible to export this parameter? It is not included in the Revit shared parameter file so I am assuming they do not want us to have access to that. Any advice?

Steve said...

When parameters are "system" parameters (those created by Autodesk developers) they are not shared parameters and can't be exported.

I checked but I didn't see Flow as part of the Family Style Guide parameter Excel file.

If you are interested you can read this post to download the Style Guide too.