Parameters can be affected by each other.
There are relationships between Parameters where the value of one Parameter can affect:
Additionally, some parameters are always read-only.
Some parameters are computed in Revit, such as wall Length and Area parameter. These parameters are always read-only because they depend on the element's internal state.
Figure 29: Wall computed parameters
In this code sample, the Sill Height parameter for an opening is adjusted, which results in the Head Height parameter being re-computed:
Code Region: Parameter relationship example |
// opening should be an opening such as a window or a door public void ShowParameterRelationship(FamilyInstance opening) { // get the original Sill Height and Head Height parameters for the opening Parameter sillPara = opening.get_Parameter(BuiltInParameter.INSTANCE_SILL_HEIGHT_PARAM); Parameter headPara = opening.get_Parameter(BuiltInParameter.INSTANCE_HEAD_HEIGHT_PARAM); double sillHeight = sillPara.AsDouble(); double origHeadHeight = headPara.AsDouble(); // Change the Sill Height only and notice that Head Height is recalculated sillPara.Set(sillHeight + 2.0); double newHeadHeight = headPara.AsDouble(); MessageBox.Show("Old head height: " + origHeadHeight + "; new head height: " + newHeadHeight); } |
Global parameters also have relationships with other parameters. See the GlobalParameter Basics topic for more information.