Saturday, February 1, 2014

Parameter in Revit

Parameter in Revit


Welcome to this revit.biz article on Parameters


Parameters are at the very heart of Revit. They are what make Revit so very powerful and flexible. Everywhere you look in Revit, you will see parameters at work…


   
Let’s take a section of wall. This wall is absolutely overflowing with parameters. If we look at it’s element properties, we can see…..


 
Each one of these settings is a parameter that we can change- either now or anytime in the future- and the effect on the wall will be made as soon as we confirm the change to the parameter. A very important thing to note is that parameters come in various “types”. An obvious type is length. For example, our wall has an Unconnected Height of 2000. The parameter “Unconnected Height” is a length parameter- if we were to enter the value “cherry pie” against Unconnected Height, Revit wouldn’t have a clue what we are trying to tell it- it is expecting a length here.

But if we look at “Room Bounding”…..



We either have a choice of ticked or unticked. This is still a parameter but it is of the type “Yes / No”, “0/1”, etc.

Likewise, if we look at the parameter “Top Constraint”…..



We can see that we have a choice from a pre-defined list.
  
Now the good news is that when you create your own custom components, you can create your own parameters- that you can name as you wish; and also specify what type you wish them to be.

So let’s go ahead and make a very simple component and then add a parameter that will allow us to modify the component within our project. For this exercise we are going to create a very simple 3D cube.

From a new Revit Project file, select File>New>Family..



From the File Explorer window, select “Generic Model”, and then “Open”….



This gives us a very basic template upon which to build our simple component.

Because we haven’t yet covered an explanation of the Family Editor (in which you are now in!) we will keep this example very simple- remember, all we are trying to demonstrate here is the use of your own parameters.

Go ahead and select “Solid Form > Solid Extrusion”…



…upon which Revit will enter Sketch Mode, allowing you to sketch the plan profile of you extrusion. Use the line tools to draw a square 1000 x 1000….



So that’s the shape for the base of our extrusion. Now we need to define the height- ie how far we wish it to be extruded. Click on “Extrusion Properties”…



And change Extrusion End from 250 to 500, like so….



Click OK, and then select Finish Sketch, to tell Revit to go ahead and form the Extrusion…



Revit has now created a box that is 1,000 x 1,000 in plan and 500 tall. Switch to View 1 (under 3D Views) and use the eye tool to spin the box around so that you can see it in 3D…



And there we have it! Our very first custom component. Let’s save it somewhere, so that we can use it again in the future. Select File > Save As. Choose where to save the component and give it a name. I’m going to save mine to the Desktop and call it “Small Table”….



And there it is. So let’s go ahead and put this component into a Project. Going back to Revit, select “Load into Projects”…



Upon selecting this command, you will be taken from the Family Editor back into the Revit Project File that you previously had open (before we started creating a new Family). To use our new component, just select “Component” from the “Basics” Design Bar….



You should immediately see our new component on the end of the cursor, ready to be placed! Go ahead and place 4 instances…..



Switch to the default 3D View to see our 4 tables in all their wonderful simplistic glory!



So there we have it. We’ve created a very simple component that can be used in any Revit Project. But this article was about Parameters! And we haven’t created any parameters? Adding parameters to our component would give us a great deal of flexibility, in terms of what we can do with it from within a Project.

As we know, our component has a base of 1,000 x 1,000 and a height of 500. But what if we wanted one of the instance to have a base of 200 x 750 and a height of 1,200? And another to have base of 100 x 2,000 and a height of 300? Well, we could create a new Family of each of the variations. But why would we want to do that when the underlying geometry of each variation is identical. Let’s just create some Parameters for the aspects that we wish to make flexible and then we can modify each instance to suit.


So far we have created a very simple custom component, which we then loaded into a Revit Project. Now we’re going to edit the Family that we previously created in order to add some Parameters to it

So first of all select one of the instances of our component….


and then select “Edit Family” from the Options Bar…..

  
Click OK to the prompt asking if you wish to “Open Small Table for Editing”. Revit now takes us back into the Family Editor where we can edit our custom component.

Switch back to a plan view of our component by double-clicking the “Ref. Level” view..

  
Before we go any further, let me explain what (exactly) we are going to do. We are going to add two parameters to our component. We are going to call the 2 parameters “Length” and “Width”. We are going to use these parameters to control the dimensions of our table, in plan.

In order to control our table size in plan, we need to be able to adjust the plan profile of the extrusion. So first of all we need to edit the extrusion we previously created. Select the geometry itself, ie click on our box- once selected, the box will highlight in red…

  
and then select “Edit” from the Options Bar….

   
This now takes us back into Sketch Mode, where we first sketched out the profile for our extrusion. In order to control the dimensions of this sketch we need to first add dimensions that we can then add our parameters to.

So go ahead and add two dimensions like so…

  
Now as they stand, these dimensions will have no effect on our component. They just confirm what we already know- that the profile for our extrusion is 1,000 x 1,000.

In order to “Control” these dimensions from within a Project, we need to add Parameters to each of the dimensions. Let’s do this now. Go ahead and select the bottom dimension. Make sure the dimension is selected- if it is, it will be highlighted in red….

  
Once selected, take a look at the Options Bar. You will notice a drop-down box called “Label”….

  
Click the black triangle to activate the drop-down menu. You will now see that you have the option to add a parameter to this dimension….
Go ahead and select “Add Parameter”. This will bring up the “Parameters Properties” control panel. You use this panel to tell Revit about the parameter you wish to define. Start off by naming the parameter- let’s call it “Length”….

  
While we have the Parameter Properties control panel open, let’s take a look around the rest of the options available to us. At the top of the panel is the option for this parameter to be either a Family Parameter or a Shared Parameter….

  
Family Parameters can only be accessed from within the Family in which they are created. Shared parameters are more powerful and allow us to share their data between families and also have it automatically populate schedules and tags. For our example, leave the Parameter Type set as “Family Parameter”

Moving back down to the bottom of the panel again, we see the following…

  
We already know about “Name”- this is what we want to call our Parameter.
“Group Parameter under” allows us to select where our parameter will appear, when we access it via the Element Properties box- go ahead and change this to “Dimensions”.

The Instance and Type radio buttons allow us to specify whether this parameter is an Instance Parameter or Type Parameter. Let’s change it to an Instance Parameter- this will let us have a unique value for this parameter, for each instance of the component in the model.

“Type of Parameter” allows us to choose what type of parameter we want it to be. You will recall from part A of this article that there are many types of parameter- ie “Yes / No”, etc. In our example, “Type of Parameter” is already set to Length and is greyed out. This is because we are adding a parameter to a dimension- and dimensions can only accept parameters of the type “Length”. It wouldn’t make sense to add a “Yes / No” parameter to a dimension, would it?

Once you have made the changes listed above, go ahead and click OK. You will notice that Revit has added the name of the parameter to the dimension. It also displays the current value of the parameter- in this case 1000.

  
Now you need to go through the above process again for the other dimension. This time name the dimension “Width”. Make sure you make all the other changes as before- ie select “Instance” as the parameter Type, etc.

  
So there we have it. The profile that defines the plan of our extrusion is now controlled by two parameters that we have created. Go ahead and select Finish Sketch to create the extrusion. And what do you know? Our component does not look any different than it did before! Don’t worry- the difference will become evident when we work with our component from within a project. So let’s do that now.

Because we have modified our component in the Family Editor, we need to load the current (new) version into a project- this will automatically update all old versions of the component already in the project. So go ahead and select “Load into Projects”. Upon doing so, you will receive the following warning….

  
This is just warning us that a version of this component is already in use in our project. Click OK to overwrite the old version.

Again, no visible difference to our components! Go ahead and select one of the components- and then select the Element Properties…..

  
If you look at the Element Properties panel, you will see our two new parameters listed under “Dimensions” (because we chose to “Group under Dimensions”). Because we made them Instance Parameters, we can now change their values for each instance of the component within the model. So go ahead and test it out- change the values of our parameters for each of the 4 instances of the component…..

  
So there we have it- our first custom parametric component! Very simple, I know- but we’ve covered some very important, fundamental concepts. The ability to create dynamic geometry than can be easily modified and reused is a very powerful aspect of Revit.

No comments:

Post a Comment